|
|
|
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 LMatrix4f &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.
|
| virtual void | do_xform (const LMatrix4f &mat, const LMatrix4f &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 (LMatrix4f &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 (LMatrix4f &transform) const |
| | Copies the joint's current transform into the indicated matrix.
|
|
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 |
|
LMatrix4f | _initial_net_transform_inverse |
|
LMatrix4f | _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 33 of file characterJoint.h.
Constructor & Destructor Documentation
| CharacterJoint::CharacterJoint |
( |
| ) |
[protected] |
Member Function Documentation
| bool CharacterJoint::add_local_transform |
( |
PandaNode * |
node | ) |
|
| bool CharacterJoint::add_net_transform |
( |
PandaNode * |
node | ) |
|
| void CharacterJoint::clear_local_transforms |
( |
| ) |
|
| void CharacterJoint::clear_net_transforms |
( |
| ) |
|
| void CharacterJoint::do_xform |
( |
const LMatrix4f & |
mat, |
|
|
const LMatrix4f & |
inv_mat |
|
) |
| [virtual] |
| Character * CharacterJoint::get_character |
( |
| ) |
const |
| void CharacterJoint::get_net_transform |
( |
LMatrix4f & |
transform | ) |
const |
Copies the joint's current net transform (composed from the root of the character joint hierarchy) into the indicated matrix.
Definition at line 436 of file characterJoint.cxx.
| void CharacterJoint::get_transform |
( |
LMatrix4f & |
transform | ) |
const |
Copies the joint's current transform into the indicated matrix.
Definition at line 424 of file characterJoint.cxx.
| bool CharacterJoint::has_local_transform |
( |
PandaNode * |
node | ) |
const |
| bool CharacterJoint::has_net_transform |
( |
PandaNode * |
node | ) |
const |
| bool CharacterJoint::is_character_joint |
( |
| ) |
const [virtual] |
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.
| PartGroup * CharacterJoint::make_copy |
( |
| ) |
const [virtual] |
| void CharacterJoint::register_with_read_factory |
( |
| ) |
[static] |
| bool CharacterJoint::remove_local_transform |
( |
PandaNode * |
node | ) |
|
| bool CharacterJoint::remove_net_transform |
( |
PandaNode * |
node | ) |
|
| bool CharacterJoint::update_internals |
( |
PartBundle * |
root, |
|
|
PartGroup * |
parent, |
|
|
bool |
self_changed, |
|
|
bool |
parent_changed, |
|
|
Thread * |
current_thread |
|
) |
| [virtual] |
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:
| | |