#include <eggJointData.h>
Inheritance diagram for EggJointData:
Public Member Functions | |
EggJointData (EggCharacterCollection *collection, EggCharacterData *char_data) | |
int | get_num_children () const |
EggJointData * | get_child (int n) const |
EggJointData * | find_joint (const string &name) |
Returns the first descendent joint found with the indicated name, or NULL if no joint has that name. | |
int | get_num_frames (int model_index) const |
Returns the number of frames of animation for this particular joint in the indicated model. | |
LMatrix4d | get_frame (int model_index, int n) const |
Returns the local transform matrix corresponding to this joint position in the nth frame in the indicated model. | |
LMatrix4d | get_net_frame (int model_index, int n) const |
Returns the complete transform from the root corresponding to this joint position in the nth frame in the indicated model. | |
bool | do_rebuild () |
Calls do_rebuild() on all models, and recursively on all joints at this node and below. | |
void | optimize () |
Calls optimize() on all models, and recursively on all joints at this node and below. | |
virtual void | add_back_pointer (int model_index, EggObject *egg_object) |
Adds the indicated model joint or anim table to the data. | |
virtual void | write (ostream &out, int indent_level=0) const |
void | add_name (const string &name) |
Adds the indicated name to the set of names that this component can be identified with. | |
bool | matches_name (const string &name) const |
Returns true if the indicated name matches any name that was ever matched with this particular joint, false otherwise. | |
int | get_num_models () const |
Returns the maximum number of back pointers this component may have. | |
bool | has_model (int model_index) const |
Returns true if the component has a back pointer to an egg file somewhere for the indicated model, false otherwise. | |
EggBackPointer * | get_model (int model_index) const |
Returns the back pointer to an egg file for the indicated model if it exists, or NULL if it does not. | |
void | set_model (int model_index, EggBackPointer *back) |
Sets the back_pointer associated with the given model_index. | |
void | set_name (const string &name) |
void | clear_name () |
bool | has_name () const |
const string & | get_name () const |
void | output (ostream &out) const |
Static Public Member Functions | |
TypeHandle | get_class_type () |
void | init_type () |
Protected Types | |
typedef pvector< EggJointData * > | Children |
typedef pvector< EggBackPointer * > | BackPointers |
Protected Attributes | |
Children | _children |
EggJointData * | _parent |
BackPointers | _back_pointers |
EggCharacterCollection * | _collection |
EggCharacterData * | _char_data |
string | _name |
Static Protected Attributes | |
TypeHandle | _type_handle |
Friends | |
class | EggCharacterCollection |
Definition at line 46 of file eggJointData.h.
|
Definition at line 70 of file eggComponentData.h. |
|
Definition at line 66 of file eggJointData.h. |
|
Definition at line 40 of file eggJointData.cxx. |
|
Adds the indicated model joint or anim table to the data.
Implements EggComponentData. Definition at line 222 of file eggJointData.cxx. |
|
Adds the indicated name to the set of names that this component can be identified with. If this is the first name added, it becomes the primary name of the component; later names added do not replace the primary name, but do get added to the list of names that will be accepted by matched_name(). Definition at line 80 of file eggComponentData.cxx. |
|
Calls do_rebuild() on all models, and recursively on all joints at this node and below. Returns true if all models returned true, false otherwise. Definition at line 156 of file eggJointData.cxx. References EggComponentData::_back_pointers, _children, DCAST_INTO_V, NULL, optimize(), and EggJointPointer::optimize(). |
|
Returns the first descendent joint found with the indicated name, or NULL if no joint has that name.
Definition at line 58 of file eggJointData.cxx. |
|
Definition at line 43 of file eggJointData.I. |
|
Returns the local transform matrix corresponding to this joint position in the nth frame in the indicated model.
Definition at line 110 of file eggJointData.cxx. References _parent, get_net_frame(), and NULL. |
|
Returns the back pointer to an egg file for the indicated model if it exists, or NULL if it does not.
Definition at line 77 of file eggComponentData.I. Referenced by EggSliderData::EggSliderData(), and get_num_frames(). |
|
Returns the complete transform from the root corresponding to this joint position in the nth frame in the indicated model.
Definition at line 135 of file eggJointData.cxx. Referenced by get_frame(). |
|
Definition at line 31 of file eggJointData.I. |
|
Returns the number of frames of animation for this particular joint in the indicated model.
Definition at line 85 of file eggJointData.cxx. References DCAST_INTO_R, EggJointPointer::get_frame(), EggComponentData::get_model(), and NULL. |
|
Returns the maximum number of back pointers this component may have. The component may store a back pointer for models indexed 0 .. num_models - 1. You must call has_model() on each model index to confirm whether a particular model in that range has a back pointer. Definition at line 42 of file eggComponentData.I. References EggComponentData::_back_pointers, INLINE, and NULL. |
|
Returns true if the component has a back pointer to an egg file somewhere for the indicated model, false otherwise.
Definition at line 59 of file eggComponentData.I. References EggComponentData::_back_pointers. |
|
Returns true if the indicated name matches any name that was ever matched with this particular joint, false otherwise.
Definition at line 99 of file eggComponentData.cxx. References EggComponentData::_back_pointers. |
|
Calls optimize() on all models, and recursively on all joints at this node and below.
Definition at line 193 of file eggJointData.cxx. Referenced by do_rebuild(). |
|
Sets the back_pointer associated with the given model_index.
Definition at line 114 of file eggComponentData.cxx. Referenced by EggSliderData::EggSliderData(). |
|
Implements EggComponentData. Definition at line 246 of file eggJointData.cxx. |
|
Definition at line 70 of file eggJointData.h. |
|
Definition at line 71 of file eggComponentData.h. Referenced by do_rebuild(), EggComponentData::get_num_models(), EggComponentData::has_model(), and EggComponentData::matches_name(). |
|
Definition at line 75 of file eggComponentData.h. |
|
Definition at line 67 of file eggJointData.h. Referenced by do_rebuild(), get_num_children(), and EggCharacterCollection::scan_for_sliders(). |
|
Definition at line 74 of file eggComponentData.h. |
|
Definition at line 68 of file eggJointData.h. Referenced by get_frame(), and EggCharacterCollection::scan_for_sliders(). |