Panda3D
|
This represents one joint of the character's animation, containing an animating transform matrix. More...
Public Member Functions | |
__init__ (Character character, PartBundle root, PartGroup parent, str name, const LMatrix4 default_value) | |
bool | addLocalTransform (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. More... | |
bool | addNetTransform (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. More... | |
clearLocalTransforms () | |
Removes all nodes from the list of nodes that will be updated each frame with the joint's local transform from its parent. More... | |
clearNetTransforms () | |
Removes all nodes from the list of nodes that will be updated each frame with the joint's net transform from the root. More... | |
Character | getCharacter () |
Returns the Character that owns this joint. More... | |
NodePathCollection | getLocalTransforms () |
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. More... | |
getNetTransform (LMatrix4 transform) | |
Copies the joint's current net transform (composed from the root of the character joint hierarchy) into the indicated matrix. More... | |
NodePathCollection | getNetTransforms () |
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. More... | |
const LMatrix4 | getTransform () |
Returns the transform matrix of the joint. More... | |
getTransform (LMatrix4 transform) | |
Copies the joint's current transform into the indicated matrix. More... | |
const TransformState | getTransformState () |
bool | hasLocalTransform (PandaNode node) |
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. More... | |
bool | hasNetTransform (PandaNode node) |
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. More... | |
bool | removeLocalTransform (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. More... | |
bool | removeNetTransform (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. More... | |
![]() | |
LMatrix4 | getDefaultValue () |
LMatrix4 | getValue () |
![]() | |
AnimChannelBase | getBound (int n) |
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(). More... | |
int | getMaxBound () |
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(). More... | |
outputValue (Ostream out) | |
![]() | |
__init__ (PartGroup parent, str name) | |
Creates the PartGroup, and adds it to the indicated parent. The only way to delete it subsequently is to delete the entire hierarchy. More... | |
bool | applyControl (PandaNode node) |
Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise. More... | |
bool | applyFreeze (const TransformState transform) |
Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise. More... | |
bool | applyFreezeMatrix (const LVecBase3 pos, const LVecBase3 hpr, const LVecBase3 scale) |
Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise. More... | |
bool | applyFreezeScalar (float value) |
Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise. More... | |
bool | clearForcedChannel () |
Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise. More... | |
PartGroup | copySubgraph () |
Allocates and returns a new copy of this node and of all of its children. More... | |
PartGroup | findChild (str name) |
Returns the first descendant found with the indicated name, or NULL if no such descendant exists. This method searches the entire graph beginning at this PartGroup; see also get_child_named(). More... | |
PartGroup | getChild (int n) |
Returns the nth child of the group. More... | |
PartGroup | getChildNamed (str name) |
Returns the first child found with the indicated name, or NULL if no such child exists. This method searches only the children of this particular PartGroup; it does not recursively search the entire graph. See also find_child(). More... | |
list | getChildren () |
AnimChannelBase | getForcedChannel () |
Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied. More... | |
int | getNumChildren () |
Returns the number of child nodes of the group. More... | |
bool | isCharacterJoint () |
Returns true if this part is a CharacterJoint, false otherwise. This is a tiny optimization over is_of_type(CharacterType::get_class_type()). More... | |
PartGroup | makeCopy () |
Allocates and returns a new copy of the node. Children are not copied, but see copy_subgraph(). More... | |
sortDescendants () | |
Sorts the children nodes at each level of the hierarchy into alphabetical order. This should be done after creating the hierarchy, to guarantee that the correct names will match up together when the AnimBundle is later bound to a PlayerRoot. More... | |
write (Ostream out, int indent_level) | |
Writes a brief description of the group and all of its descendants. More... | |
writeWithValue (Ostream out, int indent_level) | |
Writes a brief description of the group, showing its current value, and that of all of its descendants. More... | |
![]() | |
object | __reduce__ () |
object | __reduce_persist__ (object pickler) |
str | encodeToBamStream () |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a string string. Returns empty string on failure. More... | |
bool | encodeToBamStream (String data, BamWriter writer) |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. Returns true on success, false on failure. More... | |
UpdateSeq | getBamModified () |
Returns the current bam_modified counter. This counter is normally incremented automatically whenever the object is modified. More... | |
markBamModified () | |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. This should normally not need to be called by user code; it should be called internally when the object has been changed in a way that legitimately requires its retransmission to any connected clients. More... | |
![]() | |
TypeHandle | getType () |
Derived classes should override this function to return get_class_type(). More... | |
int | getTypeIndex () |
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(). More... | |
bool | isExactType (TypeHandle handle) |
Returns true if the current object is the indicated type exactly. More... | |
bool | isOfType (TypeHandle handle) |
Returns true if the current object is or derives from the indicated type. More... | |
![]() | |
int | getRefCount () |
Returns the current reference count. More... | |
ref () | |
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. More... | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise. More... | |
bool | testRefCountNonzero () |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise. More... | |
bool | unref () |
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.) However, see the helper function unref_delete(). More... | |
![]() | |
__init__ (const Namable copy) | |
__init__ (str initial_name) | |
clearName () | |
Resets the Namable's name to empty. More... | |
str | getName () |
bool | hasName () |
Returns true if the Namable has a nonempty name set, false if the name is empty. More... | |
Namable | operator= (const Namable other) |
output (Ostream out) | |
Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this. More... | |
setName (str name) | |
Static Public Member Functions | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypedWritableReferenceCount | decodeFromBamStream (str data, BamReader reader) |
Reads the string created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on that string. Returns NULL on error. More... | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Additional Inherited Members | |
![]() | |
typedef LMatrix4f | LMatrix4 |
![]() | |
enum | HierarchyMatchFlags { HMF_ok_part_extra = 1, HMF_ok_anim_extra = 2, HMF_ok_wrong_root_name = 4 } |
This enum defines bits which may be passed into check_hierarchy() and PartBundle::bind_anim() to allow an inexact match of channel hierarchies. This specifies conditions that we don't care about enforcing. More... | |
This represents one joint of the character's animation, containing an animating transform matrix.
__init__ | ( | Character | character, |
PartBundle | root, | ||
PartGroup | parent, | ||
str | name, | ||
const LMatrix4 | default_value | ||
) |
bool addLocalTransform | ( | 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 addNetTransform | ( | 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.
clearLocalTransforms | ( | ) |
Removes all nodes from the list of nodes that will be updated each frame with the joint's local transform from its parent.
clearNetTransforms | ( | ) |
Removes all nodes from the list of nodes that will be updated each frame with the joint's net transform from the root.
|
static |
NodePathCollection getLocalTransforms | ( | ) |
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 | ( | LMatrix4 | transform | ) |
Copies the joint's current net transform (composed from the root of the character joint hierarchy) into the indicated matrix.
NodePathCollection getNetTransforms | ( | ) |
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.
const LMatrix4 getTransform | ( | ) |
Returns the transform matrix of the joint.
getTransform | ( | LMatrix4 | transform | ) |
Copies the joint's current transform into the indicated matrix.
const TransformState getTransformState | ( | ) |
bool hasLocalTransform | ( | PandaNode | node | ) |
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 hasNetTransform | ( | PandaNode | node | ) |
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 removeLocalTransform | ( | 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 removeNetTransform | ( | 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.