panda3d.core.CharacterJoint

class CharacterJoint

Bases: MovingPartMatrix

This represents one joint of the character’s animation, containing an animating transform matrix.

Inheritance diagram

Inheritance diagram of CharacterJoint

__init__(character: Character, root: PartBundle, parent: PartGroup, name: str, default_value: LMatrix4) → None
addNetTransform(node: PandaNode) → bool

Adds the indicated node to the list of nodes that will be updated each frame with the joint’s net transform from the root. Returns true if the node is successfully added, false if it had already been added.

A CharacterJointEffect for this joint’s Character will automatically be added to the specified node.

removeNetTransform(node: PandaNode) → bool

Removes the indicated node from the list of nodes that will be updated each frame with the joint’s net transform from the root. Returns true if the node is successfully removed, false if it was not on the list.

If the node has a CharacterJointEffect that matches this joint’s Character, it will be cleared.

hasNetTransform(node: PandaNode) → bool

Returns true if the node is on the list of nodes that will be updated each frame with the joint’s net transform from the root, false otherwise.

clearNetTransforms() → None

Removes all nodes from the list of nodes that will be updated each frame with the joint’s net transform from the root.

getNetTransforms() → NodePathCollection

Returns a list of the net transforms set for this node. Note that this returns a list of NodePaths, even though the net transforms are actually a list of PandaNodes.

Return type

NodePathCollection

addLocalTransform(node: PandaNode) → bool

Adds the indicated node to the list of nodes that will be updated each frame with the joint’s local transform from its parent. Returns true if the node is successfully added, false if it had already been added.

The Character pointer should be the Character object that owns this joint; this will be used to create a CharacterJointEffect for this node. If it is NULL, no such effect will be created.

A CharacterJointEffect for this joint’s Character will automatically be added to the specified node.

removeLocalTransform(node: PandaNode) → bool

Removes the indicated node from the list of nodes that will be updated each frame with the joint’s local transform from its parent. Returns true if the node is successfully removed, false if it was not on the list.

If the node has a CharacterJointEffect that matches this joint’s Character, it will be cleared.

hasLocalTransform(node: PandaNode) → bool

Returns true if the node is on the list of nodes that will be updated each frame with the joint’s local transform from its parent, false otherwise.

clearLocalTransforms() → None

Removes all nodes from the list of nodes that will be updated each frame with the joint’s local transform from its parent.

getLocalTransforms() → NodePathCollection

Returns a list of the local transforms set for this node. Note that this returns a list of NodePaths, even though the local transforms are actually a list of PandaNodes.

Return type

NodePathCollection

getTransform() → LMatrix4

Returns the transform matrix of the joint

Return type

LMatrix4

getTransform(transform: LMatrix4) → None

Copies the joint’s current transform into the indicated matrix.

getTransformState() → TransformState
Return type

TransformState

getNetTransform(transform: LMatrix4) → None

Copies the joint’s current net transform (composed from the root of the character joint hierarchy) into the indicated matrix.

getCharacter() → Character

Returns the Character that owns this joint.

Return type

Character

static getClassType() → TypeHandle
Return type

TypeHandle