# CharacterJoint¶

class CharacterJoint

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

Inheritance diagram

explicit CharacterJoint(Character *character, PartBundle *root, PartGroup *parent, std::string const &name, LMatrix4 const &default_value)

For internal use only.

bool add_local_transform(PandaNode *node)

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.

bool add_net_transform(PandaNode *node)

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.

void clear_local_transforms(void)

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

void clear_net_transforms(void)

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

Character *get_character(void) const

Returns the Character that owns this joint.

static TypeHandle get_class_type(void)
NodePathCollection get_local_transforms(void)

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.

void get_net_transform(LMatrix4 &transform) const

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

NodePathCollection get_net_transforms(void)

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.

void get_transform(LMatrix4 &transform) const
LMatrix4 const &get_transform(void) const

Returns the transform matrix of the joint

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

ConstPointerTo<TransformState> get_transform_state(void) const
bool has_local_transform(PandaNode *node) const

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.

bool has_net_transform(PandaNode *node) const

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.

bool remove_local_transform(PandaNode *node)

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.

bool remove_net_transform(PandaNode *node)

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.