Skip to content

Documentation / scene / IKChain

Class: IKChain ​

Defined in: libs/scene/src/animation/ik/ik_chain.ts:12

Represents a chain of joints for IK solving.

Constructors ​

Constructor ​

new IKChain(nodes): IKChain

Defined in: libs/scene/src/animation/ik/ik_chain.ts:25

Create an IK chain from an array of scene nodes.

Parameters ​

nodes ​

SceneNode[]

Array of scene nodes from root to end effector

Returns ​

IKChain

Accessors ​

joints ​

Get Signature ​

get joints(): IKJoint[]

Defined in: libs/scene/src/animation/ik/ik_chain.ts:100

Get all joints in the chain.

Returns ​

IKJoint[]


root ​

Get Signature ​

get root(): IKJoint

Defined in: libs/scene/src/animation/ik/ik_chain.ts:107

Get the root joint (first joint in the chain).

Returns ​

IKJoint


endEffector ​

Get Signature ​

get endEffector(): IKJoint

Defined in: libs/scene/src/animation/ik/ik_chain.ts:114

Get the end effector (last joint in the chain).

Returns ​

IKJoint


totalLength ​

Get Signature ​

get totalLength(): number

Defined in: libs/scene/src/animation/ik/ik_chain.ts:121

Get the total length of the chain.

Returns ​

number


length ​

Get Signature ​

get length(): number

Defined in: libs/scene/src/animation/ik/ik_chain.ts:128

Get the number of joints in the chain.

Returns ​

number


constraints ​

Get Signature ​

get constraints(): readonly IKConstraint[]

Defined in: libs/scene/src/animation/ik/ik_chain.ts:195

Get all constraints in the chain.

Returns ​

readonly IKConstraint[]

Methods ​

fromNodeHierarchy() ​

static fromNodeHierarchy(startNode, endNode): IKChain

Defined in: libs/scene/src/animation/ik/ik_chain.ts:71

Create an IK chain by traversing from a start node to an end node.

Parameters ​

startNode ​

SceneNode

The root joint of the chain

endNode ​

SceneNode

The end effector joint

Returns ​

IKChain

The created IK chain

Remarks ​

This method walks up the parent chain from the end node until it reaches the start node, building the joint chain in the process.


updateFromNodes() ​

updateFromNodes(): void

Defined in: libs/scene/src/animation/ik/ik_chain.ts:135

Update joint positions from their scene nodes.

Returns ​

void


storeOriginalPositions() ​

storeOriginalPositions(): void

Defined in: libs/scene/src/animation/ik/ik_chain.ts:144

Store current positions as original positions.

Returns ​

void


restoreOriginalPositions() ​

restoreOriginalPositions(): void

Defined in: libs/scene/src/animation/ik/ik_chain.ts:154

Restore joints to their original positions.

Returns ​

void


addConstraint() ​

addConstraint(constraint): void

Defined in: libs/scene/src/animation/ik/ik_chain.ts:166

Add a constraint to a specific joint.

Parameters ​

constraint ​

IKConstraint

The constraint to add

Returns ​

void


removeConstraint() ​

removeConstraint(constraint): boolean

Defined in: libs/scene/src/animation/ik/ik_chain.ts:176

Remove a constraint from the chain.

Parameters ​

constraint ​

IKConstraint

The constraint to remove

Returns ​

boolean

True if the constraint was found and removed


clearConstraints() ​

clearConstraints(): void

Defined in: libs/scene/src/animation/ik/ik_chain.ts:188

Clear all constraints from the chain.

Returns ​

void


applyConstraints() ​

applyConstraints(): void

Defined in: libs/scene/src/animation/ik/ik_chain.ts:202

Apply all constraints to the joint chain.

Returns ​

void

Released under the MIT License.