# CharacterJoint

from pandac.PandaModules import CharacterJoint

Class : CharacterJoint
Description : This represents one joint of the character's animation, containing an animating transform matrix.

## Inheritance:

CharacterJoint: MovingPartMatrix
MovingPartMatrix: MovingPart< ACMatrixSwitchType >
MovingPart< ACMatrixSwitchType >: MovingPartBase
MovingPartBase: PartGroup
PartGroup: TypedWritableReferenceCount Namable
TypedWritableReferenceCount: TypedWritable ReferenceCount
TypedWritable: TypedObject
TypedObject:
ReferenceCount:
Namable:

## Methods of CharacterJoint:

addLocalTransform
addNetTransform
clearLocalTransforms
clearNetTransforms
getCharacter
getClassType
getNetTransform
getTransform
hasLocalTransform
hasNetTransform
removeLocalTransform
removeNetTransform

## Methods of MovingPartMatrix:

getClassType

## Methods of MovingPart< ACMatrixSwitchType >:

getClassType
getInitialValue
getValue

## Methods of MovingPartBase:

getBound
getClassType
getMaxBound
outputValue

## Methods of PartGroup:

findChild
getChild
getClassType
getNumChildren
write
writeWithValue

## Methods of TypedWritableReferenceCount:

getClassType

## Methods of TypedWritable:

getClassType

## Methods of TypedObject:

getClassType
getType
getTypeIndex
isExactType
isOfType

## Methods of ReferenceCount:

getClassType
getRefCount
ref
testRefCountIntegrity
testRefCountNonzero
unref

## Methods of Namable:

clearName
getClassType
getName
hasName
operator =
output
setName

addLocalTransform bool CharacterJoint::add_local_transform(PandaNode *node); Description: 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 bool CharacterJoint::add_net_transform(PandaNode *node); Description: 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 void CharacterJoint::clear_local_transforms(void); Description: Removes all nodes from the list of nodes that will be updated each frame with the joint's local transform from its parent.

clearNetTransforms void CharacterJoint::clear_net_transforms(void); Description: 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 *CharacterJoint::get_character(void) const; Description: Returns the Character that owns this joint.

getClassType static TypeHandle CharacterJoint::get_class_type(void); Undocumented function.

getNetTransform void CharacterJoint::get_net_transform(LMatrix4f &transform) const; Description: Copies the joint's current net transform (composed from the root of the character joint hierarchy) into the indicated matrix.

getTransform void CharacterJoint::get_transform(LMatrix4f &transform) const; Description: Copies the joint's current transform into the indicated matrix.

hasLocalTransform bool CharacterJoint::has_local_transform(PandaNode *node) const; Description: 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 bool CharacterJoint::has_net_transform(PandaNode *node) const; Description: 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 bool CharacterJoint::remove_local_transform(PandaNode *node); Description: 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 bool CharacterJoint::remove_net_transform(PandaNode *node); Description: 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.

getClassType static TypeHandle MovingPartMatrix::get_class_type(void); Undocumented function.

getClassType static TypeHandle ::MovingPart< ACMatrixSwitchType >::get_class_type(void); Undocumented function.

getInitialValue LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_initial_value(void) const; Undocumented function.

getValue LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_value(void) const; Undocumented function.

getBound AnimChannelBase *MovingPartBase::get_bound(int n) const; Description: Returns the nth bound channel on this PartGroup. n can be determined by iterating from 0 to one less than get_max_bound(); or n might be AnimControl::get_channel_index(). This will return NULL if there is no channel bound on the indicated index. It is an error to call this if n is less than zero or greater than or equal to get_max_bound().

getClassType static TypeHandle MovingPartBase::get_class_type(void); Undocumented function.

getMaxBound int MovingPartBase::get_max_bound(void) const; Description: Returns the number of channels that might be bound to this PartGroup. This might not be the actual number of channels, since there might be holes in the list; it is one more than the index number of the highest bound channel. Thus, it is called get_max_bound() instead of get_num_bound().

outputValue virtual void MovingPartBase::output_value(ostream &out) const = 0; Undocumented function.

findChild PartGroup *PartGroup::find_child(string const &name) const; Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild PartGroup *PartGroup::get_child(int n) const; Description: Returns the nth child of the group.

getClassType static TypeHandle PartGroup::get_class_type(void); Undocumented function.

getNumChildren int PartGroup::get_num_children(void) const; Description: Returns the number of child nodes of the group.

write virtual void PartGroup::write(ostream &out, int indent_level) const; Description: Writes a brief description of the group and all of its descendants.

writeWithValue virtual void PartGroup::write_with_value(ostream &out, int indent_level) const; Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType static TypeHandle TypedWritableReferenceCount::get_class_type(void); Undocumented function.

getClassType static TypeHandle TypedWritable::get_class_type(void); Undocumented function.

getClassType static TypeHandle TypedObject::get_class_type(void); Undocumented function.

getType virtual TypeHandle TypedObject::get_type(void) const = 0; Derived classes should override this function to return get_class_type().

getTypeIndex int TypedObject::get_type_index(void) const; Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType bool TypedObject::is_exact_type(TypeHandle handle) const; Description: Returns true if the current object is the indicated type exactly.

isOfType bool TypedObject::is_of_type(TypeHandle handle) const; Description: Returns true if the current object is or derives from the indicated type.

getClassType static TypeHandle ReferenceCount::get_class_type(void); Undocumented function.

getRefCount int ReferenceCount::get_ref_count(void) const; Description: Returns the current reference count.

ref void ReferenceCount::ref(void) const; Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity bool ReferenceCount::test_ref_count_integrity(void) const; Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero bool ReferenceCount::test_ref_count_nonzero(void) const; Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref bool ReferenceCount::unref(void) const; Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete(). User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it. The return value is true if the new reference count is nonzero, false if it is zero.

clearName void Namable::clear_name(void); Description: Resets the Namable's name to empty.

getClassType static TypeHandle Namable::get_class_type(void); Undocumented function.

getName string const &Namable::get_name(void) const; Description:

hasName bool Namable::has_name(void) const; Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator = Namable &Namable::operator =(Namable const &other); Description:

output void Namable::output(ostream &out) const; In the absence of any definition to the contrary, outputting a Namable will write out its name. Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName void Namable::set_name(string const &name); Description: