CharacterJoint¶

from panda3d.core import CharacterJoint

class CharacterJoint

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

Inheritance diagram

__init__(character: Character, root: PartBundle, parent: PartGroup, name: str, default_value: LMatrix4)
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.

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.

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.

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.

getCharacter()Character

Returns the Character that owns this joint.

static getClassType()TypeHandle
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.

getNetTransform(transform: LMatrix4)None

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

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.

getTransform()LMatrix4

Returns the transform matrix of the joint

getTransform(transform: LMatrix4)None

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

getTransformState()TransformState
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.

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.

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.

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.