|
|
|
This represents one joint of the character's animation, containing an animating transform matrix.
More...
#include "characterJoint.h"
List of all members.
Public Member Functions |
|
| CharacterJoint (Character *character, PartBundle *root, PartGroup *parent, const string &name, const LMatrix4 &default_value) |
| 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.
|
| 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.
|
| void | clear_local_transforms () |
| | 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 () |
| | Removes all nodes from the list of nodes that will be updated each frame with the joint's net transform from the root.
|
| virtual int | complete_pointers (TypedWritable **p_list, BamReader *manager) |
| | Takes in a vector of pointers to TypedWritable objects that correspond to all the requests for pointers that this object made to BamReader.
|
|
| CPT (TransformState) get_transform_state() const |
| virtual void | do_xform (const LMatrix4 &mat, const LMatrix4 &inv_mat) |
| | Called by PartBundle::xform(), this indicates the indicated transform is being applied to the root joint.
|
|
virtual TypeHandle | force_init_type () |
| Character * | get_character () const |
| | Returns the Character that owns this joint.
|
| NodePathCollection | get_local_transforms () |
| | Returns a list of the local transforms set for this node.
|
| 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 () |
| | Returns a list of the net transforms set for this node.
|
| void | get_transform (LMatrix4 &transform) const |
| | Copies the joint's current transform into the indicated matrix.
|
| const LMatrix4 & | get_transform () const |
| | Returns the transform matrix of the joint.
|
|
virtual TypeHandle | get_type () 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.
|
| virtual bool | is_character_joint () const |
| | Returns true if this part is a CharacterJoint, false otherwise.
|
| virtual PartGroup * | make_copy () const |
| | Allocates and returns a new copy of the node.
|
|
| PT (PandaNode) _geom_node |
| 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.
|
| 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.
|
| virtual bool | update_internals (PartBundle *root, PartGroup *parent, bool self_changed, bool parent_changed, Thread *current_thread) |
| | This is called by do_update() whenever the part or some ancestor has changed values.
|
| virtual void | write_datagram (BamWriter *manager, Datagram &me) |
| | Function to write the important information in the particular object to a Datagram.
|
Static Public Member Functions |
|
static TypeHandle | get_class_type () |
|
static void | init_type () |
| static TypedWritable * | make_CharacterJoint (const FactoryParams ¶ms) |
| | Factory method to generate a CharacterJoint object.
|
| static void | register_with_read_factory () |
| | Factory method to generate a CharacterJoint object.
|
Public Attributes |
|
LMatrix4 | _initial_net_transform_inverse |
|
LMatrix4 | _net_transform |
Protected Member Functions |
| | CharacterJoint () |
| | For internal use only.
|
|
| CharacterJoint (const CharacterJoint ©) |
| void | fillin (DatagramIterator &scan, BamReader *manager) |
| | Function that reads out of the datagram (or asks manager to read) all of the data that is needed to re-create this object and stores it in the appropiate place.
|
Friends |
|
class | Character |
|
class | CharacterJointBundle |
|
class | JointVertexTransform |
Detailed Description
This represents one joint of the character's animation, containing an animating transform matrix.
Definition at line 34 of file characterJoint.h.
Constructor & Destructor Documentation
Member Function Documentation
Copies the joint's current net transform (composed from the root of the character joint hierarchy) into the indicated matrix.
Definition at line 441 of file characterJoint.cxx.
Copies the joint's current transform into the indicated matrix.
Definition at line 424 of file characterJoint.cxx.
Returns the transform matrix of the joint.
Definition at line 21 of file characterJoint.I.
Returns true if this part is a CharacterJoint, false otherwise.
This is a tiny optimization over is_of_type(CharacterType::get_class_type()).
Reimplemented from PartGroup.
Definition at line 94 of file characterJoint.cxx.
This is called by do_update() whenever the part or some ancestor has changed values.
It is a hook for derived classes to update whatever cache they may have that depends on these.
The return value is true if the part has changed as a result of the update, or false otherwise.
In the case of a CharacterJoint, of course, it means to recompute the joint angles and associated transforms for this particular joint.
Reimplemented from MovingPartBase.
Definition at line 125 of file characterJoint.cxx.
References ordered_vector< Key, Compare >::begin(), ordered_vector< Key, Compare >::empty(), ordered_vector< Key, Compare >::end(), PartBundle::get_root_xform(), PartGroup::is_character_joint(), and PandaNode::set_transform().
The documentation for this class was generated from the following files:
| | |