One Logo Pool Ball
RealityFoundation · IOS API REFERENCE

IKRig.Joint

struct · iOS 18.0+ · SDK 27.1

struct Joint

A definition of a rig joint and its IK solver settings.

Members (15)

get · iOS 18.0+

restTransform

TypeScript
get restTransform(): Transform
Swift declaration
var restTransform: Transform

The local space transformation of the joint in the solver's rest pose.

set · iOS 18.0+

restTransform

TypeScript
set restTransform(value: Transform)
Swift declaration
var restTransform: Transform

The local space transformation of the joint in the solver's rest pose.

get · iOS 18.0+

fkWeightPerAxis

TypeScript
get fkWeightPerAxis(): SDKHandle
Swift declaration
var fkWeightPerAxis: SIMD3<Float>

The per-axis weight of the FK demand on the joint. Values are in the closed range `[0, 1]`, where `0` means no influence, and `1` is maximum influence.

set · iOS 18.0+

fkWeightPerAxis

TypeScript
set fkWeightPerAxis(value: SDKHandle)
Swift declaration
var fkWeightPerAxis: SIMD3<Float>

The per-axis weight of the FK demand on the joint. Values are in the closed range `[0, 1]`, where `0` means no influence, and `1` is maximum influence.

get · iOS 18.0+

rotationStiffness

TypeScript
get rotationStiffness(): SDKHandle
Swift declaration
var rotationStiffness: SIMD3<Float>

The per-axis rotational stiffness of the joint. A joint with higher stiffness rotates less to reach demands. Values are in the closed range `[0, 1]`, where `0` means free to rotate, and `1` is no movement.

set · iOS 18.0+

rotationStiffness

TypeScript
set rotationStiffness(value: SDKHandle)
Swift declaration
var rotationStiffness: SIMD3<Float>

The per-axis rotational stiffness of the joint. A joint with higher stiffness rotates less to reach demands. Values are in the closed range `[0, 1]`, where `0` means free to rotate, and `1` is no movement.

get · iOS 18.0+

id

TypeScript
get id(): IKRig_Joint_ID
Swift declaration
var id: IKRig.Joint.ID { get }

The identifier of the joint.

init · iOS 18.0+

init

TypeScript
static init(name: string, parentID?: (IKRig_Joint_ID) | null, restTransform?: Transform): IKRig_Joint
Swift declaration
init(name: String, parentID: IKRig.Joint.ID? = nil, restTransform: Transform = .identity)

Creates a joint with the provided base elements. - Parameters: - name: The name of the new joint. - parentID: The name of the parent joint if there is one. - restTransform: The offset of this joint from its parent (local space).

get · iOS 18.0+

name

TypeScript
get name(): string
Swift declaration
let name: String

The name of the joint.

get · iOS 18.0+

active

TypeScript
get active(): boolean
Swift declaration
var active: Bool

A boolean value that sets whether the solver rotates the joint. Leaf hierarchies that do not need to be directly constrained can be deactivated to reduce the compute cost of the solver.

set · iOS 18.0+

active

TypeScript
set active(value: boolean)
Swift declaration
var active: Bool

A boolean value that sets whether the solver rotates the joint. Leaf hierarchies that do not need to be directly constrained can be deactivated to reduce the compute cost of the solver.

get · iOS 18.0+

limits

TypeScript
get limits(): (IKRig_Joint_LimitsDefinition) | null
Swift declaration
var limits: IKRig.Joint.LimitsDefinition?

The per-axis rotation limits of the joint.

set · iOS 18.0+

limits

TypeScript
set limits(value: (IKRig_Joint_LimitsDefinition) | null)
Swift declaration
var limits: IKRig.Joint.LimitsDefinition?

The per-axis rotation limits of the joint.

get · iOS 18.0+

parentID

TypeScript
get parentID(): (IKRig_Joint_ID) | null
Swift declaration
var parentID: IKRig.Joint.ID?

The identifier of the parent joint if there is one.

set · iOS 18.0+

parentID

TypeScript
set parentID(value: (IKRig_Joint_ID) | null)
Swift declaration
var parentID: IKRig.Joint.ID?

The identifier of the parent joint if there is one.

Skipped declarations

No declarations were skipped in this snapshot.

All RealityFoundation types →