1412102906 2 2 9 libp3chan 4 8NZB 12 panda3d.core 218 216 37 upcast_to_TypedWritableReferenceCount 0 12 434 48 AnimGroup::upcast_to_TypedWritableReferenceCount 0 1 10 52 upcast from AnimGroup to TypedWritableReferenceCount 84 TypedWritableReferenceCount *AnimGroup::upcast_to_TypedWritableReferenceCount(void); 217 21 downcast_to_AnimGroup 0 12 435 50 TypedWritableReferenceCount::downcast_to_AnimGroup 0 1 11 54 downcast from TypedWritableReferenceCount to AnimGroup 68 AnimGroup *TypedWritableReferenceCount::downcast_to_AnimGroup(void); 218 17 upcast_to_Namable 0 12 434 28 AnimGroup::upcast_to_Namable 0 1 12 32 upcast from AnimGroup to Namable 44 Namable *AnimGroup::upcast_to_Namable(void); 219 21 downcast_to_AnimGroup 0 12 436 30 Namable::downcast_to_AnimGroup 0 1 13 34 downcast from Namable to AnimGroup 48 AnimGroup *Namable::downcast_to_AnimGroup(void); 220 9 AnimGroup 0 4 434 20 AnimGroup::AnimGroup 0 1 1 1392 // This is the normal AnimGroup constructor. //////////////////////////////////////////////////////////////////// // Function: AnimGroup::Default Constructor // Access: Protected // Description: The default constructor is protected: don't try to // create an AnimGroup without a parent. To create an // AnimChannel hierarchy, you must first create an // AnimBundle, and use that to create any subsequent // children. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimGroup::Copy Constructor // Access: Protected // Description: Creates a new AnimGroup, just like this one, without // copying any children. The new copy is added to the // indicated parent. Intended to be called by // make_copy() only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimGroup::Constructor // Access: Published // Description: Creates the AnimGroup, and adds it to the indicated // parent. The only way to delete it subsequently is to // delete the entire hierarchy. //////////////////////////////////////////////////////////////////// 74 AnimGroup::AnimGroup(AnimGroup *parent, basic_string< char > const &name); 221 10 ~AnimGroup 0 6 434 21 AnimGroup::~AnimGroup 0 0 276 // This is the normal AnimGroup constructor. //////////////////////////////////////////////////////////////////// // Function: AnimGroup::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 36 virtual AnimGroup::~AnimGroup(void); 222 16 get_num_children 0 4 434 27 AnimGroup::get_num_children 0 1 2 274 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_num_children // Access: Published // Description: Returns the number of child nodes of the group. //////////////////////////////////////////////////////////////////// 44 int AnimGroup::get_num_children(void) const; 223 9 get_child 0 4 434 20 AnimGroup::get_child 0 1 3 255 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_child // Access: Published // Description: Returns the nth child of the group. //////////////////////////////////////////////////////////////////// 45 AnimGroup *AnimGroup::get_child(int n) const; 224 15 get_child_named 0 4 434 26 AnimGroup::get_child_named 0 1 4 524 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_child_named // Access: Published // Description: 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 // AnimGroup; it does not recursively search the entire // graph. See also find_child(). //////////////////////////////////////////////////////////////////// 78 AnimGroup *AnimGroup::get_child_named(basic_string< char > const &name) const; 225 10 find_child 0 4 434 21 AnimGroup::find_child 0 1 5 465 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::find_child // Access: Published // Description: 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 // AnimGroup; see also get_child_named(). //////////////////////////////////////////////////////////////////// 73 AnimGroup *AnimGroup::find_child(basic_string< char > const &name) const; 226 16 sort_descendants 0 4 434 27 AnimGroup::sort_descendants 0 1 6 537 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::sort_descendants // Access: Published // Description: 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. //////////////////////////////////////////////////////////////////// 39 void AnimGroup::sort_descendants(void); 227 6 output 0 6 434 17 AnimGroup::output 0 1 7 269 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::output // Access: Published, Virtual // Description: Writes a one-line description of the group. //////////////////////////////////////////////////////////////////// 51 virtual void AnimGroup::output(ostream &out) const; 228 5 write 0 6 434 16 AnimGroup::write 0 1 8 309 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::write // Access: Published, Virtual // Description: Writes a brief description of the group and all of // its descendants. //////////////////////////////////////////////////////////////////// 68 virtual void AnimGroup::write(ostream &out, int indent_level) const; 229 14 get_class_type 0 4 434 25 AnimGroup::get_class_type 0 1 9 0 50 static TypeHandle AnimGroup::get_class_type(void); 230 10 AnimBundle 0 4 437 22 AnimBundle::AnimBundle 0 1 14 1374 // Filename: animBundle.I // Created by: drose (21Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimBundle::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimBundle::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimBundle::Copy Constructor // Access: Protected // Description: Creates a new AnimBundle, just like this one, without // copying any children. The new copy is added to the // indicated parent. Intended to be called by // make_copy() only. //////////////////////////////////////////////////////////////////// 91 inline AnimBundle::AnimBundle(basic_string< char > const &name, float fps, int num_frames); 231 11 copy_bundle 0 4 437 23 AnimBundle::copy_bundle 0 1 15 511 //////////////////////////////////////////////////////////////////// // Function: AnimBundle::copy_bundle // Access: Published // Description: Returns a full copy of the bundle and its entire tree // of nested AnimGroups. However, the actual data // stored in the leaves--that is, animation tables, such // as those stored in an AnimChannelMatrixXfmTable--will // be shared. //////////////////////////////////////////////////////////////////// 60 PointerTo< AnimBundle > AnimBundle::copy_bundle(void) const; 232 19 get_base_frame_rate 0 4 437 31 AnimBundle::get_base_frame_rate 0 1 16 600 //////////////////////////////////////////////////////////////////// // Function: AnimBundle::get_base_frame_rate // Access: Public // Description: Returns the ideal number of frames per second of the // animation, when it is running at normal speed. This // may not be the same as the actual playing frame rate, // as it might have been adjusted through // set_play_rate() on the AnimControl object. See // AnimControl::get_effective_frame_rate(). //////////////////////////////////////////////////////////////////// 58 inline double AnimBundle::get_base_frame_rate(void) const; 233 14 get_num_frames 0 4 437 26 AnimBundle::get_num_frames 0 1 17 335 //////////////////////////////////////////////////////////////////// // Function: AnimBundle::get_num_frames // Access: Public // Description: Returns the number of frames of animation, or 0 if // the animation has no fixed number of frames. //////////////////////////////////////////////////////////////////// 50 inline int AnimBundle::get_num_frames(void) const; 234 14 get_class_type 0 4 437 26 AnimBundle::get_class_type 0 1 18 0 51 static TypeHandle AnimBundle::get_class_type(void); 235 11 ~AnimBundle 0 4 437 23 AnimBundle::~AnimBundle 0 0 0 30 AnimBundle::~AnimBundle(void); 236 14 AnimBundleNode 0 4 438 30 AnimBundleNode::AnimBundleNode 0 1 19 1557 // Filename: animBundleNode.I // Created by: drose (06Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::Constructor // Access: Public // Description: The AnimBundle and its node should be constructed // together. Generally, the derived classes of // AnimBundleNode will automatically create a AnimBundle // of the appropriate type, and pass it up to this // constructor. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::Default Constructor // Access: Protected // Description: For internal use only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::Copy Constructor // Access: Protected // Description: Use make_copy() or copy_subgraph() to copy one of // these. //////////////////////////////////////////////////////////////////// 92 inline AnimBundleNode::AnimBundleNode(basic_string< char > const &name, AnimBundle *bundle); 237 10 get_bundle 0 4 438 26 AnimBundleNode::get_bundle 0 1 20 222 //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::get_bundle // Access: Public // Description: //////////////////////////////////////////////////////////////////// 58 inline AnimBundle *AnimBundleNode::get_bundle(void) const; 238 16 find_anim_bundle 0 4 438 32 AnimBundleNode::find_anim_bundle 0 1 21 480 //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::find_anim_bundle // Access: Published, Static // Description: Recursively walks the scene graph beginning at the // indicated node (which need not be an AnimBundleNode), // and returns the first AnimBundle found. Returns NULL // if no AnimBundle can be found. //////////////////////////////////////////////////////////////////// 69 static AnimBundle *AnimBundleNode::find_anim_bundle(PandaNode *root); 239 14 get_class_type 0 4 438 30 AnimBundleNode::get_class_type 0 1 22 0 55 static TypeHandle AnimBundleNode::get_class_type(void); 240 15 ~AnimBundleNode 0 4 438 31 AnimBundleNode::~AnimBundleNode 0 0 0 38 AnimBundleNode::~AnimBundleNode(void); 241 37 upcast_to_TypedWritableReferenceCount 0 12 440 48 PartGroup::upcast_to_TypedWritableReferenceCount 0 1 41 52 upcast from PartGroup to TypedWritableReferenceCount 84 TypedWritableReferenceCount *PartGroup::upcast_to_TypedWritableReferenceCount(void); 242 21 downcast_to_PartGroup 0 12 435 50 TypedWritableReferenceCount::downcast_to_PartGroup 0 1 42 54 downcast from TypedWritableReferenceCount to PartGroup 68 PartGroup *TypedWritableReferenceCount::downcast_to_PartGroup(void); 243 17 upcast_to_Namable 0 12 440 28 PartGroup::upcast_to_Namable 0 1 43 32 upcast from PartGroup to Namable 44 Namable *PartGroup::upcast_to_Namable(void); 244 21 downcast_to_PartGroup 0 12 436 30 Namable::downcast_to_PartGroup 0 1 44 34 downcast from Namable to PartGroup 48 PartGroup *Namable::downcast_to_PartGroup(void); 245 9 PartGroup 0 4 440 20 PartGroup::PartGroup 0 1 23 1727 // This is the normal PartGroup constructor. // Filename: partGroup.I // Created by: drose (22Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartGroup::Default Constructor // Access: Protected // Description: This constructor is only intended for interal use and // for derived classes. You should normally use the // non-default constructor, below. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartGroup::Copy Constructor // Access: Protected // Description: This constructor is only intended for interal use and // for derived classes. You should normally use the // make_copy() interface to make copies.. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartGroup::Constructor // Access: Published // Description: Creates the PartGroup, and adds it to the indicated // parent. The only way to delete it subsequently is to // delete the entire hierarchy. //////////////////////////////////////////////////////////////////// 74 PartGroup::PartGroup(PartGroup *parent, basic_string< char > const &name); 246 10 ~PartGroup 0 6 440 21 PartGroup::~PartGroup 0 0 266 // This is the normal PartGroup constructor. //////////////////////////////////////////////////////////////////// // Function: PartGroup::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 36 virtual PartGroup::~PartGroup(void); 247 18 is_character_joint 0 6 440 29 PartGroup::is_character_joint 0 1 24 414 //////////////////////////////////////////////////////////////////// // Function: PartGroup::is_character_joint // Access: Published, Virtual // Description: Returns true if this part is a CharacterJoint, false // otherwise. This is a tiny optimization over // is_of_type(CharacterType::get_class_type()). //////////////////////////////////////////////////////////////////// 55 virtual bool PartGroup::is_character_joint(void) const; 248 9 make_copy 0 6 440 20 PartGroup::make_copy 0 1 25 341 //////////////////////////////////////////////////////////////////// // Function: PartGroup::make_copy // Access: Published, Virtual // Description: Allocates and returns a new copy of the node. // Children are not copied, but see copy_subgraph(). //////////////////////////////////////////////////////////////////// 52 virtual PartGroup *PartGroup::make_copy(void) const; 249 13 copy_subgraph 0 4 440 24 PartGroup::copy_subgraph 0 1 26 314 //////////////////////////////////////////////////////////////////// // Function: PartGroup::copy_subgraph // Access: Published // Description: Allocates and returns a new copy of this node and of // all of its children. //////////////////////////////////////////////////////////////////// 48 PartGroup *PartGroup::copy_subgraph(void) const; 250 16 get_num_children 0 4 440 27 PartGroup::get_num_children 0 1 27 274 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_num_children // Access: Published // Description: Returns the number of child nodes of the group. //////////////////////////////////////////////////////////////////// 44 int PartGroup::get_num_children(void) const; 251 9 get_child 0 4 440 20 PartGroup::get_child 0 1 28 255 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_child // Access: Published // Description: Returns the nth child of the group. //////////////////////////////////////////////////////////////////// 45 PartGroup *PartGroup::get_child(int n) const; 252 15 get_child_named 0 4 440 26 PartGroup::get_child_named 0 1 29 524 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_child_named // Access: Published // Description: 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(). //////////////////////////////////////////////////////////////////// 78 PartGroup *PartGroup::get_child_named(basic_string< char > const &name) const; 253 10 find_child 0 4 440 21 PartGroup::find_child 0 1 30 465 //////////////////////////////////////////////////////////////////// // Function: PartGroup::find_child // Access: Published // Description: 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(). //////////////////////////////////////////////////////////////////// 73 PartGroup *PartGroup::find_child(basic_string< char > const &name) const; 254 16 sort_descendants 0 4 440 27 PartGroup::sort_descendants 0 1 31 537 //////////////////////////////////////////////////////////////////// // Function: PartGroup::sort_descendants // Access: Published // Description: 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. //////////////////////////////////////////////////////////////////// 39 void PartGroup::sort_descendants(void); 255 12 apply_freeze 0 4 440 23 PartGroup::apply_freeze 0 1 32 572 //////////////////////////////////////////////////////////////////// // Function: PartGroup::apply_freeze // Access: Published // Description: 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. // // This is normally only called internally by // PartBundle::freeze_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 62 bool PartGroup::apply_freeze(TransformState const *transform); 256 19 apply_freeze_matrix 0 6 440 30 PartGroup::apply_freeze_matrix 0 1 33 588 //////////////////////////////////////////////////////////////////// // Function: PartGroup::apply_freeze_matrix // Access: Published, Virtual // Description: 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. // // This is normally only called internally by // PartBundle::freeze_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 115 virtual bool PartGroup::apply_freeze_matrix(LVecBase3f const &pos, LVecBase3f const &hpr, LVecBase3f const &scale); 257 19 apply_freeze_scalar 0 6 440 30 PartGroup::apply_freeze_scalar 0 1 34 588 //////////////////////////////////////////////////////////////////// // Function: PartGroup::apply_freeze_scalar // Access: Published, Virtual // Description: 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. // // This is normally only called internally by // PartBundle::freeze_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 57 virtual bool PartGroup::apply_freeze_scalar(float value); 258 13 apply_control 0 6 440 24 PartGroup::apply_control 0 1 35 622 //////////////////////////////////////////////////////////////////// // Function: PartGroup::apply_control // Access: Published, Virtual // Description: 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. // // This is normally only called internally by // PartBundle::control_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 55 virtual bool PartGroup::apply_control(PandaNode *node); 259 20 clear_forced_channel 0 6 440 31 PartGroup::clear_forced_channel 0 1 36 567 //////////////////////////////////////////////////////////////////// // Function: PartGroup::clear_forced_channel // Access: Published, Virtual // Description: Undoes the effect of a previous call to // apply_freeze() or apply_control(). Returns true if // the joint was modified, false otherwise. // // This is normally only called internally by // PartBundle::release_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 51 virtual bool PartGroup::clear_forced_channel(void); 260 18 get_forced_channel 0 6 440 29 PartGroup::get_forced_channel 0 1 37 453 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_forced_channel // Access: Published, Virtual // Description: 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. //////////////////////////////////////////////////////////////////// 67 virtual AnimChannelBase *PartGroup::get_forced_channel(void) const; 261 5 write 0 6 440 16 PartGroup::write 0 1 38 309 //////////////////////////////////////////////////////////////////// // Function: PartGroup::write // Access: Published, Virtual // Description: Writes a brief description of the group and all of // its descendants. //////////////////////////////////////////////////////////////////// 68 virtual void PartGroup::write(ostream &out, int indent_level) const; 262 16 write_with_value 0 6 440 27 PartGroup::write_with_value 0 1 39 356 //////////////////////////////////////////////////////////////////// // Function: PartGroup::write_with_value // Access: Published, Virtual // Description: Writes a brief description of the group, showing its // current value, and that of all of its descendants. //////////////////////////////////////////////////////////////////// 79 virtual void PartGroup::write_with_value(ostream &out, int indent_level) const; 263 14 get_class_type 0 4 440 25 PartGroup::get_class_type 0 1 40 0 50 static TypeHandle PartGroup::get_class_type(void); 264 29 upcast_to_TypedReferenceCount 0 12 442 42 AnimControl::upcast_to_TypedReferenceCount 0 1 58 46 upcast from AnimControl to TypedReferenceCount 70 TypedReferenceCount *AnimControl::upcast_to_TypedReferenceCount(void); 265 23 downcast_to_AnimControl 0 12 443 44 TypedReferenceCount::downcast_to_AnimControl 0 1 59 48 downcast from TypedReferenceCount to AnimControl 64 AnimControl *TypedReferenceCount::downcast_to_AnimControl(void); 266 23 upcast_to_AnimInterface 0 12 442 36 AnimControl::upcast_to_AnimInterface 0 1 60 40 upcast from AnimControl to AnimInterface 58 AnimInterface *AnimControl::upcast_to_AnimInterface(void); 267 23 downcast_to_AnimControl 0 12 444 38 AnimInterface::downcast_to_AnimControl 0 1 61 42 downcast from AnimInterface to AnimControl 58 AnimControl *AnimInterface::downcast_to_AnimControl(void); 268 17 upcast_to_Namable 0 12 442 30 AnimControl::upcast_to_Namable 0 1 62 34 upcast from AnimControl to Namable 46 Namable *AnimControl::upcast_to_Namable(void); 269 23 downcast_to_AnimControl 0 12 436 32 Namable::downcast_to_AnimControl 0 1 63 36 downcast from Namable to AnimControl 52 AnimControl *Namable::downcast_to_AnimControl(void); 270 12 ~AnimControl 0 6 442 25 AnimControl::~AnimControl 0 0 231 //////////////////////////////////////////////////////////////////// // Function: AnimControl::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 40 virtual AnimControl::~AnimControl(void); 271 10 is_pending 0 4 442 23 AnimControl::is_pending 0 1 45 1061 // Filename: animControl.I // Created by: drose (19Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControl::is_pending // Access: Published // Description: Returns true if the AnimControl is being bound // asynchronously, and has not yet finished. If this is // true, the AnimControl's interface is still available // and will be perfectly useful (though get_anim() might // return NULL), but nothing visible will happen // immediately. //////////////////////////////////////////////////////////////////// 48 inline bool AnimControl::is_pending(void) const; 272 12 wait_pending 0 4 442 25 AnimControl::wait_pending 0 1 46 330 //////////////////////////////////////////////////////////////////// // Function: AnimControl::wait_pending // Access: Published // Description: Blocks the current thread until the AnimControl has // finished loading and is fully bound. //////////////////////////////////////////////////////////////////// 37 void AnimControl::wait_pending(void); 273 8 has_anim 0 4 442 21 AnimControl::has_anim 0 1 47 395 //////////////////////////////////////////////////////////////////// // Function: AnimControl::has_anim // Access: Published // Description: Returns true if the AnimControl was successfully // loaded, or false if there was a problem. This may // return false while is_pending() is true. //////////////////////////////////////////////////////////////////// 46 inline bool AnimControl::has_anim(void) const; 274 22 set_pending_done_event 0 4 442 35 AnimControl::set_pending_done_event 0 1 48 474 //////////////////////////////////////////////////////////////////// // Function: AnimControl::set_pending_done_event // Access: Published // Description: Specifies an event name that will be thrown when the // AnimControl is finished binding asynchronously. If // the AnimControl has already finished binding, the // event will be thrown immediately. //////////////////////////////////////////////////////////////////// 81 void AnimControl::set_pending_done_event(basic_string< char > const &done_event); 275 22 get_pending_done_event 0 4 442 35 AnimControl::get_pending_done_event 0 1 49 351 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_pending_done_event // Access: Published // Description: Returns the event name that will be thrown when the // AnimControl is finished binding asynchronously. //////////////////////////////////////////////////////////////////// 69 basic_string< char > AnimControl::get_pending_done_event(void) const; 276 8 get_part 0 4 442 21 AnimControl::get_part 0 1 50 292 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_part // Access: Published // Description: Returns the PartBundle bound in with this // AnimControl. //////////////////////////////////////////////////////////////////// 46 PartBundle *AnimControl::get_part(void) const; 277 8 get_anim 0 4 442 21 AnimControl::get_anim 0 1 51 292 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_anim // Access: Published // Description: Returns the AnimBundle bound in with this // AnimControl. //////////////////////////////////////////////////////////////////// 53 inline AnimBundle *AnimControl::get_anim(void) const; 278 17 get_channel_index 0 4 442 30 AnimControl::get_channel_index 0 1 52 665 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_channel_index // Access: Published // Description: Returns the particular channel index associated with // this AnimControl. This channel index is the slot on // which each AnimGroup is bound to its associated // PartGroup, for each joint in the animation. // // It will be true that // get_part()->find_child("n")->get_bound(get_channel_index()) // == get_anim()->find_child("n"), for each joint "n". //////////////////////////////////////////////////////////////////// 54 inline int AnimControl::get_channel_index(void) const; 279 16 get_bound_joints 0 4 442 29 AnimControl::get_bound_joints 0 1 53 677 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_bound_joints // Access: Published // Description: Returns the subset of joints controlled by this // AnimControl. Most of the time, this will be // BitArray::all_on(), for a normal full-body animation. // For a subset animation, however, this will be just a // subset of those bits, corresponding to the set of // joints and sliders actually bound (as enumerated by // bind_hierarchy() in depth-first LIFO order). //////////////////////////////////////////////////////////////////// 65 inline BitArray const &AnimControl::get_bound_joints(void) const; 280 14 set_anim_model 0 4 442 27 AnimControl::set_anim_model 0 1 54 883 //////////////////////////////////////////////////////////////////// // Function: AnimControl::set_anim_model // Access: Published // Description: Associates the indicated PandaNode with the // AnimControl. By convention, this node represents the // root node of the model file that corresponds to this // AnimControl's animation file, though nothing in this // code makes this assumption or indeed does anything // with this node. // // The purpose of this is simply to allow the // AnimControl to keep a reference count on the // ModelRoot node that generated it, so that the model // will not disappear from the model pool until it is no // longer referenced. //////////////////////////////////////////////////////////////////// 58 inline void AnimControl::set_anim_model(PandaNode *model); 281 14 get_anim_model 0 4 442 27 AnimControl::get_anim_model 0 1 55 314 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_anim_model // Access: Published // Description: Retrieves the pointer set via set_anim_model(). See // set_anim_model(). //////////////////////////////////////////////////////////////////// 58 inline PandaNode *AnimControl::get_anim_model(void) const; 282 6 output 0 6 442 19 AnimControl::output 0 1 56 218 //////////////////////////////////////////////////////////////////// // Function: AnimControl::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 53 virtual void AnimControl::output(ostream &out) const; 283 14 get_class_type 0 4 442 27 AnimControl::get_class_type 0 1 57 0 52 static TypeHandle AnimControl::get_class_type(void); 284 8 get_type 0 6 445 25 AnimChannelBase::get_type 0 1 64 0 57 virtual TypeHandle AnimChannelBase::get_type(void) const; 285 14 get_class_type 0 4 445 31 AnimChannelBase::get_class_type 0 1 65 0 56 static TypeHandle AnimChannelBase::get_class_type(void); 286 16 ~AnimChannelBase 0 4 445 33 AnimChannelBase::~AnimChannelBase 0 0 0 40 AnimChannelBase::~AnimChannelBase(void); 287 9 get_value 0 6 446 44 AnimChannel< ACMatrixSwitchType >::get_value 0 1 66 0 93 virtual void ::AnimChannel< ACMatrixSwitchType >::get_value(int frame, LMatrix4f &value) = 0; 288 24 get_value_no_scale_shear 0 6 446 59 AnimChannel< ACMatrixSwitchType >::get_value_no_scale_shear 0 1 67 72 // These transform-component methods only have meaning for matrix types. 104 virtual void ::AnimChannel< ACMatrixSwitchType >::get_value_no_scale_shear(int frame, LMatrix4f &value); 289 9 get_scale 0 6 446 44 AnimChannel< ACMatrixSwitchType >::get_scale 0 1 68 72 // These transform-component methods only have meaning for matrix types. 90 virtual void ::AnimChannel< ACMatrixSwitchType >::get_scale(int frame, LVecBase3f &scale); 290 7 get_hpr 0 6 446 42 AnimChannel< ACMatrixSwitchType >::get_hpr 0 1 69 0 86 virtual void ::AnimChannel< ACMatrixSwitchType >::get_hpr(int frame, LVecBase3f &hpr); 291 8 get_quat 0 6 446 43 AnimChannel< ACMatrixSwitchType >::get_quat 0 1 70 0 90 virtual void ::AnimChannel< ACMatrixSwitchType >::get_quat(int frame, LQuaternionf &quat); 292 7 get_pos 0 6 446 42 AnimChannel< ACMatrixSwitchType >::get_pos 0 1 71 0 86 virtual void ::AnimChannel< ACMatrixSwitchType >::get_pos(int frame, LVecBase3f &pos); 293 9 get_shear 0 6 446 44 AnimChannel< ACMatrixSwitchType >::get_shear 0 1 72 0 90 virtual void ::AnimChannel< ACMatrixSwitchType >::get_shear(int frame, LVecBase3f &shear); 294 14 get_value_type 0 6 446 49 AnimChannel< ACMatrixSwitchType >::get_value_type 0 1 73 0 83 virtual TypeHandle ::AnimChannel< ACMatrixSwitchType >::get_value_type(void) const; 295 14 get_class_type 0 4 446 49 AnimChannel< ACMatrixSwitchType >::get_class_type 0 1 74 0 76 static TypeHandle ::AnimChannel< ACMatrixSwitchType >::get_class_type(void); 296 9 get_value 0 6 447 44 AnimChannel< ACScalarSwitchType >::get_value 0 0 0 89 virtual void ::AnimChannel< ACScalarSwitchType >::get_value(int frame, float &value) = 0; 297 24 get_value_no_scale_shear 0 6 447 59 AnimChannel< ACScalarSwitchType >::get_value_no_scale_shear 0 0 72 // These transform-component methods only have meaning for matrix types. 100 virtual void ::AnimChannel< ACScalarSwitchType >::get_value_no_scale_shear(int frame, float &value); 298 9 get_scale 0 6 447 44 AnimChannel< ACScalarSwitchType >::get_scale 0 1 75 72 // These transform-component methods only have meaning for matrix types. 90 virtual void ::AnimChannel< ACScalarSwitchType >::get_scale(int frame, LVecBase3f &scale); 299 7 get_hpr 0 6 447 42 AnimChannel< ACScalarSwitchType >::get_hpr 0 1 76 0 86 virtual void ::AnimChannel< ACScalarSwitchType >::get_hpr(int frame, LVecBase3f &hpr); 300 8 get_quat 0 6 447 43 AnimChannel< ACScalarSwitchType >::get_quat 0 1 77 0 90 virtual void ::AnimChannel< ACScalarSwitchType >::get_quat(int frame, LQuaternionf &quat); 301 7 get_pos 0 6 447 42 AnimChannel< ACScalarSwitchType >::get_pos 0 1 78 0 86 virtual void ::AnimChannel< ACScalarSwitchType >::get_pos(int frame, LVecBase3f &pos); 302 9 get_shear 0 6 447 44 AnimChannel< ACScalarSwitchType >::get_shear 0 1 79 0 90 virtual void ::AnimChannel< ACScalarSwitchType >::get_shear(int frame, LVecBase3f &shear); 303 14 get_value_type 0 6 447 49 AnimChannel< ACScalarSwitchType >::get_value_type 0 1 80 0 83 virtual TypeHandle ::AnimChannel< ACScalarSwitchType >::get_value_type(void) const; 304 14 get_class_type 0 4 447 49 AnimChannel< ACScalarSwitchType >::get_class_type 0 1 81 0 76 static TypeHandle ::AnimChannel< ACScalarSwitchType >::get_class_type(void); 305 9 set_value 0 4 448 35 AnimChannelMatrixDynamic::set_value 0 2 82 83 615 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::set_value // Access: Published // Description: Explicitly sets the matrix value. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::set_value // Access: Published // Description: Explicitly sets the matrix value, using the indicated // TransformState object as a convenience. //////////////////////////////////////////////////////////////////// 136 void AnimChannelMatrixDynamic::set_value(LMatrix4f const &value); void AnimChannelMatrixDynamic::set_value(TransformState const *value); 306 14 set_value_node 0 4 448 40 AnimChannelMatrixDynamic::set_value_node 0 1 84 384 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::set_value_node // Access: Published // Description: Specifies a node whose transform will be queried each // frame to implicitly specify the transform of this // joint. //////////////////////////////////////////////////////////////////// 63 void AnimChannelMatrixDynamic::set_value_node(PandaNode *node); 307 19 get_value_transform 0 4 448 45 AnimChannelMatrixDynamic::get_value_transform 0 1 85 841 // Filename: animChannelMatrixDynamic.I // Created by: drose (20Oct03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::get_value_transform // Access: Published // Description: Returns the explicit TransformState value that was // set via set_value(), if any. //////////////////////////////////////////////////////////////////// 87 inline TransformState const *AnimChannelMatrixDynamic::get_value_transform(void) const; 308 14 get_value_node 0 4 448 40 AnimChannelMatrixDynamic::get_value_node 0 1 86 316 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::get_value_node // Access: Published // Description: Returns the node that was set via set_value_node(), // if any. //////////////////////////////////////////////////////////////////// 71 inline PandaNode *AnimChannelMatrixDynamic::get_value_node(void) const; 309 14 get_class_type 0 4 448 40 AnimChannelMatrixDynamic::get_class_type 0 1 87 0 65 static TypeHandle AnimChannelMatrixDynamic::get_class_type(void); 310 25 ~AnimChannelMatrixDynamic 0 4 448 51 AnimChannelMatrixDynamic::~AnimChannelMatrixDynamic 0 0 0 58 AnimChannelMatrixDynamic::~AnimChannelMatrixDynamic(void); 311 25 AnimChannelMatrixXfmTable 0 4 449 52 AnimChannelMatrixXfmTable::AnimChannelMatrixXfmTable 0 1 88 970 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::Constructor // Access: Protected // Description: Used only for bam loader. ///////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::Copy Constructor // Access: Protected // Description: Creates a new AnimChannelMatrixXfmTable, just like // this one, without copying any children. The new copy // is added to the indicated parent. Intended to be // called by make_copy() only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 106 AnimChannelMatrixXfmTable::AnimChannelMatrixXfmTable(AnimGroup *parent, basic_string< char > const &name); 312 11 is_valid_id 0 4 449 38 AnimChannelMatrixXfmTable::is_valid_id 0 1 89 830 // Filename: animChannelMatrixXfmTable.I // Created by: drose (21Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::is_valid_id // Access: Public, Static // Description: Returns true if the given letter is one of the nine // valid table id's. //////////////////////////////////////////////////////////////////// 73 static inline bool AnimChannelMatrixXfmTable::is_valid_id(char table_id); 313 9 set_table 0 4 449 36 AnimChannelMatrixXfmTable::set_table 0 1 90 536 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::set_table // Access: Public // Description: Assigns the indicated table. table_id is one of 'i', // 'j', 'k', for scale, 'a', 'b', 'c' for shear, 'h', // 'p', 'r', for rotation, and 'x', 'y', 'z', for // translation. The new table must have either zero, // one, or get_num_frames() frames. //////////////////////////////////////////////////////////////////// 100 void AnimChannelMatrixXfmTable::set_table(char table_id, ConstPointerToArray< float > const &table); 314 9 get_table 0 4 449 36 AnimChannelMatrixXfmTable::get_table 0 1 91 339 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::get_table // Access: Public // Description: Returns a pointer to the indicated subtable's data, // if it exists, or NULL if it does not. //////////////////////////////////////////////////////////////////// 94 inline ConstPointerToArray< float > AnimChannelMatrixXfmTable::get_table(char table_id) const; 315 16 clear_all_tables 0 4 449 43 AnimChannelMatrixXfmTable::clear_all_tables 0 1 92 336 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::clear_all_tables // Access: Published // Description: Removes all the tables from the channel, and resets // it to its initial state. //////////////////////////////////////////////////////////////////// 55 void AnimChannelMatrixXfmTable::clear_all_tables(void); 316 9 has_table 0 4 449 36 AnimChannelMatrixXfmTable::has_table 0 1 93 310 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::has_table // Access: Published // Description: Returns true if the indicated subtable has been // assigned. //////////////////////////////////////////////////////////////////// 70 inline bool AnimChannelMatrixXfmTable::has_table(char table_id) const; 317 11 clear_table 0 4 449 38 AnimChannelMatrixXfmTable::clear_table 0 1 94 286 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::clear_table // Access: Published // Description: Removes the indicated table from the definition. //////////////////////////////////////////////////////////////////// 66 inline void AnimChannelMatrixXfmTable::clear_table(char table_id); 318 14 get_class_type 0 4 449 41 AnimChannelMatrixXfmTable::get_class_type 0 1 95 0 66 static TypeHandle AnimChannelMatrixXfmTable::get_class_type(void); 319 9 set_value 0 4 450 35 AnimChannelScalarDynamic::set_value 0 1 96 261 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarDynamic::set_value // Access: Published // Description: Explicitly sets the value. //////////////////////////////////////////////////////////////////// 54 void AnimChannelScalarDynamic::set_value(float value); 320 14 set_value_node 0 4 450 40 AnimChannelScalarDynamic::set_value_node 0 1 97 384 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarDynamic::set_value_node // Access: Published // Description: Specifies a node whose transform will be queried each // frame to implicitly specify the transform of this // joint. //////////////////////////////////////////////////////////////////// 63 void AnimChannelScalarDynamic::set_value_node(PandaNode *node); 321 14 get_class_type 0 4 450 40 AnimChannelScalarDynamic::get_class_type 0 1 98 0 65 static TypeHandle AnimChannelScalarDynamic::get_class_type(void); 322 25 ~AnimChannelScalarDynamic 0 4 450 51 AnimChannelScalarDynamic::~AnimChannelScalarDynamic 0 0 0 58 AnimChannelScalarDynamic::~AnimChannelScalarDynamic(void); 323 9 set_table 0 4 451 33 AnimChannelScalarTable::set_table 0 1 99 253 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::set_table // Access: Public // Description: Assigns the data table. //////////////////////////////////////////////////////////////////// 82 void AnimChannelScalarTable::set_table(ConstPointerToArray< float > const &table); 324 9 get_table 0 4 451 33 AnimChannelScalarTable::get_table 0 1 100 821 // Filename: animChannelScalarTable.I // Created by: drose (22Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::get_table // Access: Public // Description: Returns a pointer to the table's data, // if it exists, or NULL if it does not. //////////////////////////////////////////////////////////////////// 82 inline ConstPointerToArray< float > AnimChannelScalarTable::get_table(void) const; 325 9 has_table 0 4 451 33 AnimChannelScalarTable::has_table 0 1 101 282 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::has_table // Access: Published // Description: Returns true if the data table has been assigned. //////////////////////////////////////////////////////////////////// 58 inline bool AnimChannelScalarTable::has_table(void) const; 326 11 clear_table 0 4 451 35 AnimChannelScalarTable::clear_table 0 1 102 258 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::clear_table // Access: Published // Description: Empties the data table. //////////////////////////////////////////////////////////////////// 54 inline void AnimChannelScalarTable::clear_table(void); 327 14 get_class_type 0 4 451 38 AnimChannelScalarTable::get_class_type 0 1 103 0 63 static TypeHandle AnimChannelScalarTable::get_class_type(void); 328 23 ~AnimChannelScalarTable 0 4 451 47 AnimChannelScalarTable::~AnimChannelScalarTable 0 0 0 54 AnimChannelScalarTable::~AnimChannelScalarTable(void); 329 21 AnimControlCollection 0 4 452 44 AnimControlCollection::AnimControlCollection 0 1 104 354 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::Constructor // Access: Published // Description: Returns the AnimControl associated with the given // name, or NULL if no such control has been associated. //////////////////////////////////////////////////////////////////// 51 AnimControlCollection::AnimControlCollection(void); 330 22 ~AnimControlCollection 0 4 452 45 AnimControlCollection::~AnimControlCollection 0 0 232 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 AnimControlCollection::~AnimControlCollection(void); 331 10 store_anim 0 4 452 33 AnimControlCollection::store_anim 0 1 105 529 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::store_anim // Access: Published // Description: Associates the given AnimControl with this collection // under the given name. The AnimControl will remain // associated until a new AnimControl is associated with // the same name later, or until unbind_anim() is called // with this name. //////////////////////////////////////////////////////////////////// 95 void AnimControlCollection::store_anim(AnimControl *control, basic_string< char > const &name); 332 9 find_anim 0 4 452 32 AnimControlCollection::find_anim 0 1 106 352 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::find_anim // Access: Published // Description: Returns the AnimControl associated with the given // name, or NULL if no such control has been associated. //////////////////////////////////////////////////////////////////// 86 AnimControl *AnimControlCollection::find_anim(basic_string< char > const &name) const; 333 11 unbind_anim 0 4 452 34 AnimControlCollection::unbind_anim 0 1 107 452 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::unbind_anim // Access: Published // Description: Removes the AnimControl associated with the given // name, if any. Returns true if an AnimControl was // removed, false if there was no AnimControl with the // indicated name. //////////////////////////////////////////////////////////////////// 74 bool AnimControlCollection::unbind_anim(basic_string< char > const &name); 334 13 get_num_anims 0 4 452 36 AnimControlCollection::get_num_anims 0 1 108 320 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_num_anims // Access: Published // Description: Returns the number of AnimControls associated with // this collection. //////////////////////////////////////////////////////////////////// 53 int AnimControlCollection::get_num_anims(void) const; 335 8 get_anim 0 4 452 31 AnimControlCollection::get_anim 0 1 109 308 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_anim // Access: Published // Description: Returns the nth AnimControl associated with // this collection. //////////////////////////////////////////////////////////////////// 58 AnimControl *AnimControlCollection::get_anim(int n) const; 336 13 get_anim_name 0 4 452 36 AnimControlCollection::get_anim_name 0 1 110 325 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_anim_name // Access: Published // Description: Returns the name of the nth AnimControl associated // with this collection. //////////////////////////////////////////////////////////////////// 71 basic_string< char > AnimControlCollection::get_anim_name(int n) const; 337 11 clear_anims 0 4 452 34 AnimControlCollection::clear_anims 0 1 111 279 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::clear_anims // Access: Published // Description: Disassociates all anims from this collection. //////////////////////////////////////////////////////////////////// 46 void AnimControlCollection::clear_anims(void); 338 4 play 0 4 452 27 AnimControlCollection::play 0 2 112 113 1146 // The following functions are convenience functions that vector // directly into the AnimControl's functionality by anim name. // Filename: animControlCollection.I // Created by: drose (22Feb00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play // Access: Public // Description: Starts the named animation playing. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play // Access: Public // Description: Starts the named animation playing. //////////////////////////////////////////////////////////////////// 177 inline bool AnimControlCollection::play(basic_string< char > const &anim_name); inline bool AnimControlCollection::play(basic_string< char > const &anim_name, int from, int to); 339 4 loop 0 4 452 27 AnimControlCollection::loop 0 2 114 115 520 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop // Access: Public // Description: Starts the named animation looping. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop // Access: Public // Description: Starts the named animation looping. //////////////////////////////////////////////////////////////////// 205 inline bool AnimControlCollection::loop(basic_string< char > const &anim_name, bool restart); inline bool AnimControlCollection::loop(basic_string< char > const &anim_name, bool restart, int from, int to); 340 4 stop 0 4 452 27 AnimControlCollection::stop 0 1 116 250 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::stop // Access: Public // Description: Stops the named animation. //////////////////////////////////////////////////////////////////// 79 inline bool AnimControlCollection::stop(basic_string< char > const &anim_name); 341 4 pose 0 4 452 27 AnimControlCollection::pose 0 1 117 274 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::pose // Access: Public // Description: Sets to a particular frame in the named animation. //////////////////////////////////////////////////////////////////// 90 inline bool AnimControlCollection::pose(basic_string< char > const &anim_name, int frame); 342 8 play_all 0 4 452 31 AnimControlCollection::play_all 0 2 118 119 624 // These functions operate on all anims at once. // These functions operate on all anims at once. //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play_all // Access: Published // Description: Starts all animations playing. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play_all // Access: Published // Description: Starts all animations playing. //////////////////////////////////////////////////////////////////// 99 void AnimControlCollection::play_all(void); void AnimControlCollection::play_all(int from, int to); 343 8 loop_all 0 4 452 31 AnimControlCollection::loop_all 0 2 120 121 524 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop_all // Access: Published // Description: Starts all animations looping. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop_all // Access: Published // Description: Starts all animations looping. //////////////////////////////////////////////////////////////////// 121 void AnimControlCollection::loop_all(bool restart); void AnimControlCollection::loop_all(bool restart, int from, int to); 344 8 stop_all 0 4 452 31 AnimControlCollection::stop_all 0 1 122 378 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::stop_all // Access: Published // Description: Stops all currently playing animations. Returns true // if any animations were stopped, false if none were // playing. //////////////////////////////////////////////////////////////////// 43 bool AnimControlCollection::stop_all(void); 345 8 pose_all 0 4 452 31 AnimControlCollection::pose_all 0 1 123 274 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::pose_all // Access: Published // Description: Sets all animations to the indicated frame. //////////////////////////////////////////////////////////////////// 48 void AnimControlCollection::pose_all(int frame); 346 9 get_frame 0 4 452 32 AnimControlCollection::get_frame 0 2 124 125 635 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_frame // Access: Public // Description: Returns the current frame in the named animation, or // 0 if the animation is not found. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_frame // Access: Public // Description: Returns the current frame in the last-started // animation. //////////////////////////////////////////////////////////////////// 146 inline int AnimControlCollection::get_frame(basic_string< char > const &anim_name) const; inline int AnimControlCollection::get_frame(void) const; 347 14 get_num_frames 0 4 452 37 AnimControlCollection::get_num_frames 0 2 126 127 663 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_num_frames // Access: Public // Description: Returns the total number of frames in the named // animation, or 0 if the animation is not found. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_num_frames // Access: Public // Description: Returns the total number of frames in the // last-started animation. //////////////////////////////////////////////////////////////////// 156 inline int AnimControlCollection::get_num_frames(basic_string< char > const &anim_name) const; inline int AnimControlCollection::get_num_frames(void) const; 348 10 is_playing 0 4 452 33 AnimControlCollection::is_playing 0 2 128 129 651 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::is_playing // Access: Public // Description: Returns true if the named animation is currently // playing, false otherwise. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::is_playing // Access: Public // Description: Returns true if the last-started animation is // currently playing, false otherwise. //////////////////////////////////////////////////////////////////// 150 inline bool AnimControlCollection::is_playing(basic_string< char > const &anim_name) const; inline bool AnimControlCollection::is_playing(void) const; 349 18 which_anim_playing 0 4 452 41 AnimControlCollection::which_anim_playing 0 1 130 458 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::which_anim_playing // Access: Published // Description: Returns the name of the bound AnimControl currently // playing, if any. If more than one AnimControl is // currently playing, returns all of the names separated // by spaces. //////////////////////////////////////////////////////////////////// 75 basic_string< char > AnimControlCollection::which_anim_playing(void) const; 350 6 output 0 4 452 29 AnimControlCollection::output 0 1 131 229 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 55 void AnimControlCollection::output(ostream &out) const; 351 5 write 0 4 452 28 AnimControlCollection::write 0 1 132 228 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 54 void AnimControlCollection::write(ostream &out) const; 352 16 AnimPreloadTable 0 4 453 34 AnimPreloadTable::AnimPreloadTable 0 1 133 229 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 41 AnimPreloadTable::AnimPreloadTable(void); 353 13 get_num_anims 0 4 453 31 AnimPreloadTable::get_num_anims 0 1 134 284 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_num_anims // Access: Published // Description: Returns the number of animation records in the table. //////////////////////////////////////////////////////////////////// 48 int AnimPreloadTable::get_num_anims(void) const; 354 9 find_anim 0 4 453 27 AnimPreloadTable::find_anim 0 1 135 610 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::find_anim // Access: Published // Description: Returns the index number in the table of the // animation record with the indicated name, or -1 if // the name is not present. By convention, the basename // is the filename of the egg or bam file, without the // directory part and without the extension. That is, // it is Filename::get_basename_wo_extension(). //////////////////////////////////////////////////////////////////// 76 int AnimPreloadTable::find_anim(basic_string< char > const &basename) const; 355 12 get_basename 0 4 453 30 AnimPreloadTable::get_basename 0 1 136 322 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_basename // Access: Published // Description: Returns the basename stored for the nth animation // record. See find_anim(). //////////////////////////////////////////////////////////////////// 72 inline basic_string< char > AnimPreloadTable::get_basename(int n) const; 356 19 get_base_frame_rate 0 4 453 37 AnimPreloadTable::get_base_frame_rate 0 1 137 313 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_base_frame_rate // Access: Published // Description: Returns the frame rate stored for the nth animation // record. //////////////////////////////////////////////////////////////////// 64 inline float AnimPreloadTable::get_base_frame_rate(int n) const; 357 14 get_num_frames 0 4 453 32 AnimPreloadTable::get_num_frames 0 1 138 314 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_num_frames // Access: Published // Description: Returns the number of frames stored for the nth // animation record. //////////////////////////////////////////////////////////////////// 57 inline int AnimPreloadTable::get_num_frames(int n) const; 358 11 clear_anims 0 4 453 29 AnimPreloadTable::clear_anims 0 1 139 274 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::clear_anims // Access: Published // Description: Removes all animation records from the table. //////////////////////////////////////////////////////////////////// 41 void AnimPreloadTable::clear_anims(void); 359 11 remove_anim 0 4 453 29 AnimPreloadTable::remove_anim 0 1 140 344 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::remove_anim // Access: Published // Description: Removes the nth animation records from the table. // This renumbers indexes for following animations. //////////////////////////////////////////////////////////////////// 42 void AnimPreloadTable::remove_anim(int n); 360 8 add_anim 0 4 453 26 AnimPreloadTable::add_anim 0 1 141 505 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::add_anim // Access: Published // Description: Adds a new animation record to the table. If there // is already a record of this name, no operation is // performed (the original record is unchanged). See // find_anim(). This will invalidate existing index // numbers. //////////////////////////////////////////////////////////////////// 109 void AnimPreloadTable::add_anim(basic_string< char > const &basename, float base_frame_rate, int num_frames); 361 14 add_anims_from 0 4 453 32 AnimPreloadTable::add_anims_from 0 1 142 412 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::add_anims_from // Access: Published // Description: Copies the animation records from the other table // into this one. If a given record name exists in both // tables, the record in this one supercedes. //////////////////////////////////////////////////////////////////// 69 void AnimPreloadTable::add_anims_from(AnimPreloadTable const *other); 362 6 output 0 6 453 24 AnimPreloadTable::output 0 1 143 224 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 58 virtual void AnimPreloadTable::output(ostream &out) const; 363 5 write 0 6 453 23 AnimPreloadTable::write 0 1 144 223 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 75 virtual void AnimPreloadTable::write(ostream &out, int indent_level) const; 364 14 get_class_type 0 4 453 32 AnimPreloadTable::get_class_type 0 1 145 0 57 static TypeHandle AnimPreloadTable::get_class_type(void); 365 9 auto_bind 0 1 0 9 auto_bind 0 2 214 215 962 //////////////////////////////////////////////////////////////////// // Function: auto_bind // Description: Walks the scene graph or subgraph beginning at the // indicated node, and attempts to bind any AnimBundles // found to their matching PartBundles, when possible. // // The list of all resulting AnimControls created is // filled into controls. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: auto_bind // Description: Walks the scene graph or subgraph beginning at the // indicated node, and attempts to bind any AnimBundles // found to their matching PartBundles, when possible. // // The list of all resulting AnimControls created is // filled into controls. //////////////////////////////////////////////////////////////////// 103 void auto_bind(PandaNode *root_node, AnimControlCollection &controls, int hierarchy_match_flags = (0)); 366 10 PartSubset 0 4 455 22 PartSubset::PartSubset 0 2 146 147 453 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartSubset::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 77 PartSubset::PartSubset(void); PartSubset::PartSubset(PartSubset const ©); 367 10 operator = 0 4 455 22 PartSubset::operator = 0 1 148 236 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 void PartSubset::operator =(PartSubset const ©); 368 17 add_include_joint 0 4 455 29 PartSubset::add_include_joint 0 1 149 650 //////////////////////////////////////////////////////////////////// // Function: PartSubset::add_include_joint // Access: Published // Description: Adds the named joint to the list of joints that will // be explicitly included in the subset. Any joint at // or below a named node will be included in the subset // (unless a lower node is also listed in the exclude // list). // // Since the name is a GlobPattern, it may of course // include filename globbing characters like * and ?. //////////////////////////////////////////////////////////////////// 60 void PartSubset::add_include_joint(GlobPattern const &name); 369 17 add_exclude_joint 0 4 455 29 PartSubset::add_exclude_joint 0 1 150 657 //////////////////////////////////////////////////////////////////// // Function: PartSubset::add_exclude_joint // Access: Published // Description: Adds the named joint to the list of joints that will // be explicitly exlcluded from the subset. Any joint at // or below a named node will not be included in the // subset (unless a lower node is also listed in the // include list). // // Since the name is a GlobPattern, it may of course // include filename globbing characters like * and ?. //////////////////////////////////////////////////////////////////// 60 void PartSubset::add_exclude_joint(GlobPattern const &name); 370 6 append 0 4 455 18 PartSubset::append 0 1 151 319 //////////////////////////////////////////////////////////////////// // Function: PartSubset::append // Access: Published // Description: Appends the include and exclude list from the other // object onto this object's lists. //////////////////////////////////////////////////////////////////// 49 void PartSubset::append(PartSubset const &other); 371 6 output 0 4 455 18 PartSubset::output 0 1 152 218 //////////////////////////////////////////////////////////////////// // Function: PartSubset::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 44 void PartSubset::output(ostream &out) const; 372 16 is_include_empty 0 4 455 28 PartSubset::is_include_empty 0 1 153 395 //////////////////////////////////////////////////////////////////// // Function: PartSubset::is_include_empty // Access: Published // Description: Returns true if the include list is completely empty, // false otherwise. If it is empty, it is the same // thing as including all joints. //////////////////////////////////////////////////////////////////// 46 bool PartSubset::is_include_empty(void) const; 373 15 matches_include 0 4 455 27 PartSubset::matches_include 0 1 154 331 //////////////////////////////////////////////////////////////////// // Function: PartSubset::matches_include // Access: Published // Description: Returns true if the indicated name matches a name on // the include list, false otherwise. //////////////////////////////////////////////////////////////////// 79 bool PartSubset::matches_include(basic_string< char > const &joint_name) const; 374 15 matches_exclude 0 4 455 27 PartSubset::matches_exclude 0 1 155 331 //////////////////////////////////////////////////////////////////// // Function: PartSubset::matches_exclude // Access: Published // Description: Returns true if the indicated name matches a name on // the exclude list, false otherwise. //////////////////////////////////////////////////////////////////// 79 bool PartSubset::matches_exclude(basic_string< char > const &joint_name) const; 375 11 ~PartSubset 0 4 455 23 PartSubset::~PartSubset 0 0 0 30 PartSubset::~PartSubset(void); 376 15 BindAnimRequest 0 4 456 32 BindAnimRequest::BindAnimRequest 0 1 156 225 //////////////////////////////////////////////////////////////////// // Function: BindAnimRequest::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 214 BindAnimRequest::BindAnimRequest(basic_string< char > const &name, Filename const &filename, LoaderOptions const &options, Loader *loader, AnimControl *control, int hierarchy_match_flags, PartSubset const &subset); 377 14 get_class_type 0 4 456 31 BindAnimRequest::get_class_type 0 1 157 0 56 static TypeHandle BindAnimRequest::get_class_type(void); 378 16 ~BindAnimRequest 0 4 456 33 BindAnimRequest::~BindAnimRequest 0 0 0 40 BindAnimRequest::~BindAnimRequest(void); 379 10 PartBundle 0 4 458 22 PartBundle::PartBundle 0 2 158 159 694 //////////////////////////////////////////////////////////////////// // Function: PartBundle::Copy Constructor // Access: Protected // Description: Normally, you'd use make_copy() or copy_subgraph() to // make a copy of this. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundle::Constructor // Access: Public // Description: Normally, a PartBundle constructor should not be // called directly--it will get created when a // PartBundleNode is created. //////////////////////////////////////////////////////////////////// 64 PartBundle::PartBundle(basic_string< char > const &name = ("")); 380 16 get_anim_preload 0 4 458 28 PartBundle::get_anim_preload 0 1 160 929 // Filename: partBundle.I // Created by: drose (22Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_anim_preload // Access: Published // Description: Returns the AnimPreloadTable associated with // the PartBundle. This table, if present, can be used // for the benefit of load_bind_anim() to allow // asynchronous binding. //////////////////////////////////////////////////////////////////// 83 inline ConstPointerTo< AnimPreloadTable > PartBundle::get_anim_preload(void) const; 381 19 modify_anim_preload 0 4 458 31 PartBundle::modify_anim_preload 0 1 161 340 //////////////////////////////////////////////////////////////////// // Function: PartBundle::modify_anim_preload // Access: Published // Description: Returns a modifiable pointer to the AnimPreloadTable // associated with the PartBundle, if any. //////////////////////////////////////////////////////////////////// 75 inline PointerTo< AnimPreloadTable > PartBundle::modify_anim_preload(void); 382 16 set_anim_preload 0 4 458 28 PartBundle::set_anim_preload 0 1 162 306 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_anim_preload // Access: Published // Description: Replaces the AnimPreloadTable associated with // the PartBundle. //////////////////////////////////////////////////////////////////// 66 inline void PartBundle::set_anim_preload(AnimPreloadTable *table); 383 18 clear_anim_preload 0 4 458 30 PartBundle::clear_anim_preload 0 1 163 307 //////////////////////////////////////////////////////////////////// // Function: PartBundle::clear_anim_preload // Access: Published // Description: Removes any AnimPreloadTable associated with // the PartBundle. //////////////////////////////////////////////////////////////////// 49 inline void PartBundle::clear_anim_preload(void); 384 19 merge_anim_preloads 0 4 458 31 PartBundle::merge_anim_preloads 0 1 164 322 //////////////////////////////////////////////////////////////////// // Function: PartBundle::merge_anim_preloads // Access: Published // Description: Copies the contents of the other PartBundle's preload // table into this one. //////////////////////////////////////////////////////////////////// 62 void PartBundle::merge_anim_preloads(PartBundle const *other); 385 14 set_blend_type 0 4 458 26 PartBundle::set_blend_type 0 1 165 558 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_blend_type // Access: Published // Description: Defines the algorithm that is used when blending // multiple frames or multiple animations together, when // either anim_blend_flag or frame_blend_flag is set // to true. // // See partBundle.h for a description of the meaning of // each of the BlendType values. //////////////////////////////////////////////////////////////////// 65 inline void PartBundle::set_blend_type(PartBundle::BlendType bt); 386 14 get_blend_type 0 4 458 26 PartBundle::get_blend_type 0 1 166 438 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_blend_type // Access: Published // Description: Returns the algorithm that is used when blending // multiple frames or multiple animations together, when // either anim_blend_flag or frame_blend_flag is set // to true. //////////////////////////////////////////////////////////////////// 68 inline PartBundle::BlendType PartBundle::get_blend_type(void) const; 387 19 set_anim_blend_flag 0 4 458 31 PartBundle::set_anim_blend_flag 0 1 167 947 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_anim_blend_flag // Access: Published // Description: Defines the way the character responds to multiple // calls to set_control_effect()). By default, this // flag is set false, which disallows multiple // animations. When this flag is false, it is not // necessary to explicitly set the control_effect when // starting an animation; starting the animation will // implicitly remove the control_effect from the // previous animation and set it on the current one. // // However, if this flag is set true, the control_effect // must be explicitly set via set_control_effect() // whenever an animation is to affect the character. //////////////////////////////////////////////////////////////////// 59 void PartBundle::set_anim_blend_flag(bool anim_blend_flag); 388 19 get_anim_blend_flag 0 4 458 31 PartBundle::get_anim_blend_flag 0 1 168 387 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_anim_blend_flag // Access: Published // Description: Returns whether the character allows multiple // different animations to be bound simultaneously. See // set_anim_blend_flag(). //////////////////////////////////////////////////////////////////// 56 inline bool PartBundle::get_anim_blend_flag(void) const; 389 20 set_frame_blend_flag 0 4 458 32 PartBundle::set_frame_blend_flag 0 1 169 1201 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_frame_blend_flag // Access: Published // Description: Specifies whether the character interpolates (blends) // between two sequential frames of an active animation, // showing a smooth intra-frame motion, or whether it // holds each frame until the next frame is ready, // showing precisely the specified animation. // // When this value is false, the character holds each // frame until the next is ready. When this is true, // the character will interpolate between two // consecutive frames of animation for each frame the // animation is onscreen, according to the amount of // time elapsed between the frames. // // The default value of this flag is determined by the // interpolate-frames Config.prc variable. // // Use set_blend_type() to change the algorithm that the // character uses to interpolate matrix positions. //////////////////////////////////////////////////////////////////// 68 inline void PartBundle::set_frame_blend_flag(bool frame_blend_flag); 390 20 get_frame_blend_flag 0 4 458 32 PartBundle::get_frame_blend_flag 0 1 170 471 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_frame_blend_flag // Access: Published // Description: Returns whether the character interpolates (blends) // between two sequential animation frames, or whether // it holds the current frame until the next one is // ready. See set_frame_blend_flag(). //////////////////////////////////////////////////////////////////// 57 inline bool PartBundle::get_frame_blend_flag(void) const; 391 14 set_root_xform 0 4 458 26 PartBundle::set_root_xform 0 1 171 340 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_root_xform // Access: Published // Description: Specifies the transform matrix which is implicitly // applied at the root of the animated hierarchy. //////////////////////////////////////////////////////////////////// 68 inline void PartBundle::set_root_xform(LMatrix4f const &root_xform); 392 5 xform 0 4 458 17 PartBundle::xform 0 1 172 304 //////////////////////////////////////////////////////////////////// // Function: PartBundle::xform // Access: Published // Description: Applies the indicated transform to the root of the // animated hierarchy. //////////////////////////////////////////////////////////////////// 52 inline void PartBundle::xform(LMatrix4f const &mat); 393 14 get_root_xform 0 4 458 26 PartBundle::get_root_xform 0 1 173 338 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_root_xform // Access: Published // Description: Returns the transform matrix which is implicitly // applied at the root of the animated hierarchy. //////////////////////////////////////////////////////////////////// 63 inline LMatrix4f const &PartBundle::get_root_xform(void) const; 394 15 apply_transform 0 4 458 27 PartBundle::apply_transform 0 1 174 487 //////////////////////////////////////////////////////////////////// // Function: PartBundle::apply_transform // Access: Published // Description: Returns a PartBundle that is a duplicate of this one, // but with the indicated transform applied. If this is // called multiple times with the same TransformState // pointer, it returns the same PartBundle each time. //////////////////////////////////////////////////////////////////// 85 PointerTo< PartBundle > PartBundle::apply_transform(TransformState const *transform); 395 13 get_num_nodes 0 4 458 25 PartBundle::get_num_nodes 0 1 175 322 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_num_nodes // Access: Published // Description: Returns the number of PartBundleNodes that contain a // pointer to this PartBundle. //////////////////////////////////////////////////////////////////// 49 inline int PartBundle::get_num_nodes(void) const; 396 8 get_node 0 4 458 20 PartBundle::get_node 0 1 176 300 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_node // Access: Published // Description: Returns the nth PartBundleNode associated with // this PartBundle. //////////////////////////////////////////////////////////////////// 57 inline PartBundleNode *PartBundle::get_node(int n) const; 397 21 clear_control_effects 0 4 458 33 PartBundle::clear_control_effects 0 1 177 872 //////////////////////////////////////////////////////////////////// // Function: PartBundle::clear_control_effects // Access: Published // Description: Sets the control effect of all AnimControls to zero // (but does not "stop" the AnimControls). The // character will no longer be affected by any // animation, and will return to its default // pose (unless restore-initial-pose is false). // // The AnimControls which are no longer associated will // not be using any CPU cycles, but they may still be in // the "playing" state; if they are later reassociated // with the PartBundle they will resume at their current // frame as if they'd been running all along. //////////////////////////////////////////////////////////////////// 45 void PartBundle::clear_control_effects(void); 398 18 set_control_effect 0 4 458 30 PartBundle::set_control_effect 0 1 178 897 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_control_effect // Access: Published // Description: Sets the amount by which the character is affected by // the indicated AnimControl (and its associated // animation). Normally, this will only be zero or one. // Zero indicates the animation does not affect the // character, and one means it does. // // If the _anim_blend_flag is not false (see // set_anim_blend_flag()), it is possible to have // multiple AnimControls in effect simultaneously. In // this case, the effect is a weight that indicates the // relative importance of each AnimControl to the final // animation. //////////////////////////////////////////////////////////////////// 79 inline void PartBundle::set_control_effect(AnimControl *control, float effect); 399 18 get_control_effect 0 4 458 30 PartBundle::get_control_effect 0 1 179 403 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_control_effect // Access: Published // Description: Returns the amount by which the character is affected // by the indicated AnimControl and its associated // animation. See set_control_effect(). //////////////////////////////////////////////////////////////////// 72 inline float PartBundle::get_control_effect(AnimControl *control) const; 400 6 output 0 6 458 18 PartBundle::output 0 1 180 271 //////////////////////////////////////////////////////////////////// // Function: PartBundle::output // Access: Published, Virtual // Description: Writes a one-line description of the bundle. //////////////////////////////////////////////////////////////////// 52 virtual void PartBundle::output(ostream &out) const; 401 9 bind_anim 0 4 458 21 PartBundle::bind_anim 0 3 181 182 183 1221 //////////////////////////////////////////////////////////////////// // Function: PartBundle::bind_anim // Access: Published // Description: Binds the animation to the bundle, if possible, and // returns a new AnimControl that can be used to start // and stop the animation. If the anim hierarchy does // not match the part hierarchy, returns NULL. // // If hierarchy_match_flags is 0, only an exact match is // accepted; otherwise, it may contain a union of // PartGroup::HierarchyMatchFlags values indicating // conditions that will be tolerated (but warnings will // still be issued). // // If subset is specified, it restricts the binding only // to the named subtree of joints. // // The AnimControl is not stored within the PartBundle; // it is the user's responsibility to maintain the // pointer. The animation will automatically unbind // itself when the AnimControl destructs (i.e. its // reference count goes to zero). //////////////////////////////////////////////////////////////////// 133 PointerTo< AnimControl > PartBundle::bind_anim(AnimBundle *anim, int hierarchy_match_flags = (0), PartSubset const &subset = ((()))); 402 14 load_bind_anim 0 4 458 26 PartBundle::load_bind_anim 0 1 184 1614 //////////////////////////////////////////////////////////////////// // Function: PartBundle::load_bind_anim // Access: Published // Description: Binds an animation to the bundle. The animation is // loaded from the disk via the indicated Loader object. // In other respects, this behaves similarly to // bind_anim(), with the addition of asynchronous // support. // // If allow_aysnc is true, the load will be asynchronous // if possible. This requires that the animation // basename can be found in the PartBundle's preload // table (see get_anim_preload()). // // In an asynchronous load, the animation file will be // loaded and bound in a sub-thread. This means that // the animation will not necessarily be available at // the time this method returns. You may still use the // returned AnimControl immediately, though, but no // visible effect will occur until the animation // eventually becomes available. // // You can test AnimControl::is_pending() to see if the // animation has been loaded yet, or wait for it to // finish with AnimControl::wait_pending() or even // PartBundle::wait_pending(). You can also set an // event to be triggered when the animation finishes // loading with AnimControl::set_pending_done_event(). //////////////////////////////////////////////////////////////////// 165 PointerTo< AnimControl > PartBundle::load_bind_anim(Loader *loader, Filename const &filename, int hierarchy_match_flags, PartSubset const &subset, bool allow_async); 403 12 wait_pending 0 4 458 24 PartBundle::wait_pending 0 1 185 397 //////////////////////////////////////////////////////////////////// // Function: PartBundle::wait_pending // Access: Published // Description: Blocks the current thread until all currently-pending // AnimControls, with a nonzero control effect, have // been loaded and are properly bound. //////////////////////////////////////////////////////////////////// 36 void PartBundle::wait_pending(void); 404 12 freeze_joint 0 4 458 24 PartBundle::freeze_joint 0 3 186 187 188 2083 //////////////////////////////////////////////////////////////////// // Function: PartBundle::freeze_joint // Access: Published // Description: Specifies that the joint with the indicated name // should be frozen with the specified transform. It // will henceforth always hold this fixed transform, // regardless of any animations that may subsequently be // bound to the joint. // // Returns true if the joint is successfully frozen, or // false if the named child is not a joint (or slider) // or does not exist. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundle::freeze_joint // Access: Published // Description: Specifies that the joint with the indicated name // should be frozen with the specified transform. It // will henceforth always hold this fixed transform, // regardless of any animations that may subsequently be // bound to the joint. // // Returns true if the joint is successfully frozen, or // false if the named child is not a joint (or slider) // or does not exist. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundle::freeze_joint // Access: Published // Description: Specifies that the joint with the indicated name // should be frozen with the specified transform. It // will henceforth always hold this fixed transform, // regardless of any animations that may subsequently be // bound to the joint. // // Returns true if the joint is successfully frozen, or // false if the named child is not a joint (or slider) // or does not exist. //////////////////////////////////////////////////////////////////// 329 bool PartBundle::freeze_joint(basic_string< char > const &joint_name, TransformState const *transform); bool PartBundle::freeze_joint(basic_string< char > const &joint_name, LVecBase3f const &pos, LVecBase3f const &hpr, LVecBase3f const &scale); bool PartBundle::freeze_joint(basic_string< char > const &joint_name, float value); 405 13 control_joint 0 4 458 25 PartBundle::control_joint 0 1 189 714 //////////////////////////////////////////////////////////////////// // Function: PartBundle::control_joint // Access: Published // Description: Specifies that the joint with the indicated name // should be animated with the transform on the // indicated node. It will henceforth always follow the // node's transform, regardless of any animations that // may subsequently be bound to the joint. // // Returns true if the joint is successfully controlled, // or false if the named child is not a joint (or // slider) or does not exist. //////////////////////////////////////////////////////////////////// 88 bool PartBundle::control_joint(basic_string< char > const &joint_name, PandaNode *node); 406 13 release_joint 0 4 458 25 PartBundle::release_joint 0 1 190 646 //////////////////////////////////////////////////////////////////// // Function: PartBundle::release_joint // Access: Published // Description: Releases the named joint from the effects of a // previous call to freeze_joint() or control_joint(). // It will henceforth once again follow whatever // transforms are dictated by the animation. // // Returns true if the joint is released, or false if // the named child was not previously controlled or // frozen, or it does not exist. //////////////////////////////////////////////////////////////////// 71 bool PartBundle::release_joint(basic_string< char > const &joint_name); 407 6 update 0 4 458 18 PartBundle::update 0 1 191 482 //////////////////////////////////////////////////////////////////// // Function: PartBundle::update // Access: Published // Description: Updates all the parts in the bundle to reflect the // data for the current frame (as set in each of the // AnimControls). // // Returns true if any part has changed as a result of // this, or false otherwise. //////////////////////////////////////////////////////////////////// 30 bool PartBundle::update(void); 408 12 force_update 0 4 458 24 PartBundle::force_update 0 1 192 375 //////////////////////////////////////////////////////////////////// // Function: PartBundle::force_update // Access: Published // Description: Updates all the parts in the bundle to reflect the // data for the current frame, whether we believe it // needs it or not. //////////////////////////////////////////////////////////////////// 36 bool PartBundle::force_update(void); 409 14 get_class_type 0 4 458 26 PartBundle::get_class_type 0 1 193 0 51 static TypeHandle PartBundle::get_class_type(void); 410 11 ~PartBundle 0 4 458 23 PartBundle::~PartBundle 0 0 0 30 PartBundle::~PartBundle(void); 411 13 get_max_bound 0 4 460 29 MovingPartBase::get_max_bound 0 1 194 604 //////////////////////////////////////////////////////////////////// // Function: MovingPartBase::get_max_bound // Access: Published // 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(). //////////////////////////////////////////////////////////////////// 53 inline int MovingPartBase::get_max_bound(void) const; 412 9 get_bound 0 4 460 25 MovingPartBase::get_bound 0 1 195 690 //////////////////////////////////////////////////////////////////// // Function: MovingPartBase::get_bound // Access: Published // 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(). //////////////////////////////////////////////////////////////////// 63 inline AnimChannelBase *MovingPartBase::get_bound(int n) const; 413 12 output_value 0 6 460 28 MovingPartBase::output_value 0 1 196 0 66 virtual void MovingPartBase::output_value(ostream &out) const = 0; 414 14 get_class_type 0 4 460 30 MovingPartBase::get_class_type 0 1 197 0 55 static TypeHandle MovingPartBase::get_class_type(void); 415 15 ~MovingPartBase 0 4 460 31 MovingPartBase::~MovingPartBase 0 0 0 38 MovingPartBase::~MovingPartBase(void); 416 14 get_class_type 0 4 462 48 MovingPart< ACMatrixSwitchType >::get_class_type 0 1 199 0 75 static TypeHandle ::MovingPart< ACMatrixSwitchType >::get_class_type(void); 417 9 get_value 0 4 462 43 MovingPart< ACMatrixSwitchType >::get_value 0 1 200 0 75 inline LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_value(void) const; 418 17 get_default_value 0 4 462 51 MovingPart< ACMatrixSwitchType >::get_default_value 0 1 201 0 83 inline LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_default_value(void) const; 419 11 ~MovingPart 0 4 462 45 MovingPart< ACMatrixSwitchType >::~MovingPart 0 0 0 54 ::MovingPart< ACMatrixSwitchType >::~MovingPart(void); 420 14 get_class_type 0 4 461 32 MovingPartMatrix::get_class_type 0 1 198 0 57 static TypeHandle MovingPartMatrix::get_class_type(void); 421 14 get_class_type 0 4 464 48 MovingPart< ACScalarSwitchType >::get_class_type 0 1 203 0 75 static TypeHandle ::MovingPart< ACScalarSwitchType >::get_class_type(void); 422 9 get_value 0 4 464 43 MovingPart< ACScalarSwitchType >::get_value 0 1 204 0 71 inline float ::MovingPart< ACScalarSwitchType >::get_value(void) const; 423 17 get_default_value 0 4 464 51 MovingPart< ACScalarSwitchType >::get_default_value 0 1 205 0 79 inline float ::MovingPart< ACScalarSwitchType >::get_default_value(void) const; 424 11 ~MovingPart 0 4 464 45 MovingPart< ACScalarSwitchType >::~MovingPart 0 0 0 54 ::MovingPart< ACScalarSwitchType >::~MovingPart(void); 425 14 get_class_type 0 4 463 32 MovingPartScalar::get_class_type 0 1 202 0 57 static TypeHandle MovingPartScalar::get_class_type(void); 426 16 PartBundleHandle 0 4 465 34 PartBundleHandle::PartBundleHandle 0 1 206 721 // Filename: partBundleHandle.I // Created by: drose (01Oct07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 62 inline PartBundleHandle::PartBundleHandle(PartBundle *bundle); 427 10 get_bundle 0 4 465 28 PartBundleHandle::get_bundle 0 1 207 302 //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::get_bundle // Access: Published // Description: Returns the actual PartBundle embedded within the // handle. //////////////////////////////////////////////////////////////////// 54 inline PartBundle *PartBundleHandle::get_bundle(void); 428 10 set_bundle 0 4 465 28 PartBundleHandle::set_bundle 0 1 208 302 //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::set_bundle // Access: Published // Description: Changes the actual PartBundle embedded within the // handle. //////////////////////////////////////////////////////////////////// 61 inline void PartBundleHandle::set_bundle(PartBundle *bundle); 429 14 PartBundleNode 0 4 467 30 PartBundleNode::PartBundleNode 0 1 209 1631 // Filename: partBundleNode.I // Created by: drose (06Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::Constructor // Access: Public // Description: The PartBundle and its node should be constructed // together. Generally, the derived classes of // PartBundleNode will automatically create a PartBundle // of the appropriate type, and pass it up to this // constructor. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::Default Constructor // Access: Protected // Description: For internal use only. //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::Copy Constructor // Access: Protected // Description: Use make_copy() or copy_subgraph() to copy one of // these. // // This constructor does not copy the bundle pointers. //////////////////////////////////////////////////////////////////// 92 inline PartBundleNode::PartBundleNode(basic_string< char > const &name, PartBundle *bundle); 430 15 get_num_bundles 0 4 467 31 PartBundleNode::get_num_bundles 0 1 210 227 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_num_bundles // Access: Public // Description: //////////////////////////////////////////////////////////////////// 55 inline int PartBundleNode::get_num_bundles(void) const; 431 10 get_bundle 0 4 467 26 PartBundleNode::get_bundle 0 1 211 222 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_bundle // Access: Public // Description: //////////////////////////////////////////////////////////////////// 59 inline PartBundle *PartBundleNode::get_bundle(int n) const; 432 17 get_bundle_handle 0 4 467 33 PartBundleNode::get_bundle_handle 0 1 212 469 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_bundle_handle // Access: Public // Description: Returns the PartBundleHandle that wraps around the // actual nth PartBundle. While the PartBundle pointer // might later change due to a future flatten operation, // the PartBundleHandle will not. //////////////////////////////////////////////////////////////////// 72 inline PartBundleHandle *PartBundleNode::get_bundle_handle(int n) const; 433 14 get_class_type 0 4 467 30 PartBundleNode::get_class_type 0 1 213 0 55 static TypeHandle PartBundleNode::get_class_type(void); 215 1 14 Dtool_8NZBvzKt 0 7 8 468 221 14 Dtool_8NZBvzKt 390 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::Constructor // Access: Published // Description: Creates the AnimGroup, and adds it to the indicated // parent. The only way to delete it subsequently is to // delete the entire hierarchy. //////////////////////////////////////////////////////////////////// 2 6 parent 1 468 4 name 1 469 2 14 Dtool_8NZBW3b6 0 6 10 472 0 14 Dtool_8NZBW3b6 274 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_num_children // Access: Published // Description: Returns the number of child nodes of the group. //////////////////////////////////////////////////////////////////// 1 4 this 3 470 3 14 Dtool_8NZB6J5P 0 7 11 468 221 14 Dtool_8NZB6J5P 255 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_child // Access: Published // Description: Returns the nth child of the group. //////////////////////////////////////////////////////////////////// 2 4 this 3 470 1 n 1 472 4 14 Dtool_8NZBDdOk 0 7 12 468 221 14 Dtool_8NZBDdOk 524 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_child_named // Access: Published // Description: 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 // AnimGroup; it does not recursively search the entire // graph. See also find_child(). //////////////////////////////////////////////////////////////////// 2 4 this 3 470 4 name 1 469 5 14 Dtool_8NZBsjDj 0 7 13 468 221 14 Dtool_8NZBsjDj 465 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::find_child // Access: Published // Description: 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 // AnimGroup; see also get_child_named(). //////////////////////////////////////////////////////////////////// 2 4 this 3 470 4 name 1 469 6 14 Dtool_8NZBCmR1 0 4 14 473 0 14 Dtool_8NZBCmR1 537 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::sort_descendants // Access: Published // Description: 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. //////////////////////////////////////////////////////////////////// 1 4 this 3 468 7 14 Dtool_8NZB7_Rm 0 4 15 473 0 14 Dtool_8NZB7_Rm 269 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::output // Access: Published, Virtual // Description: Writes a one-line description of the group. //////////////////////////////////////////////////////////////////// 2 4 this 3 470 3 out 1 474 8 14 Dtool_8NZB5QWd 0 4 16 473 0 14 Dtool_8NZB5QWd 309 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::write // Access: Published, Virtual // Description: Writes a brief description of the group and all of // its descendants. //////////////////////////////////////////////////////////////////// 3 4 this 3 470 3 out 1 474 12 indent_level 1 472 9 14 Dtool_8NZBXRDS 0 7 17 477 0 14 Dtool_8NZBXRDS 0 0 10 14 Dtool_8NZBnzi7 0 7 3 478 0 14 Dtool_8NZBnzi7 0 1 4 this 3 468 11 14 Dtool_8NZBrs9M 0 7 4 468 221 14 Dtool_8NZBrs9M 0 1 4 this 3 478 12 14 Dtool_8NZBGlFu 0 6 6 479 0 14 Dtool_8NZBGlFu 0 1 4 this 3 468 13 14 Dtool_8NZB4p9k 0 7 7 468 221 14 Dtool_8NZB4p9k 0 1 4 this 3 479 14 14 Dtool_8NZB3LBr 0 7 19 481 235 14 Dtool_8NZB3LBr 705 // Filename: animBundle.I // Created by: drose (21Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimBundle::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 3 4 name 1 469 3 fps 1 480 10 num_frames 1 472 15 14 Dtool_8NZB_BG9 0 7 20 481 235 14 Dtool_8NZB_BG9 511 //////////////////////////////////////////////////////////////////// // Function: AnimBundle::copy_bundle // Access: Published // Description: Returns a full copy of the bundle and its entire tree // of nested AnimGroups. However, the actual data // stored in the leaves--that is, animation tables, such // as those stored in an AnimChannelMatrixXfmTable--will // be shared. //////////////////////////////////////////////////////////////////// 1 4 this 3 482 16 14 Dtool_8NZB6Ty_ 0 6 21 484 0 14 Dtool_8NZB6Ty_ 600 //////////////////////////////////////////////////////////////////// // Function: AnimBundle::get_base_frame_rate // Access: Public // Description: Returns the ideal number of frames per second of the // animation, when it is running at normal speed. This // may not be the same as the actual playing frame rate, // as it might have been adjusted through // set_play_rate() on the AnimControl object. See // AnimControl::get_effective_frame_rate(). //////////////////////////////////////////////////////////////////// 1 4 this 3 482 17 14 Dtool_8NZBRxeQ 0 6 22 472 0 14 Dtool_8NZBRxeQ 335 //////////////////////////////////////////////////////////////////// // Function: AnimBundle::get_num_frames // Access: Public // Description: Returns the number of frames of animation, or 0 if // the animation has no fixed number of frames. //////////////////////////////////////////////////////////////////// 1 4 this 3 482 18 14 Dtool_8NZBzlnG 0 7 23 477 0 14 Dtool_8NZBzlnG 0 0 19 14 Dtool_8NZB0P9l 0 7 27 485 240 14 Dtool_8NZB0P9l 991 // Filename: animBundleNode.I // Created by: drose (06Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::Constructor // Access: Public // Description: The AnimBundle and its node should be constructed // together. Generally, the derived classes of // AnimBundleNode will automatically create a AnimBundle // of the appropriate type, and pass it up to this // constructor. //////////////////////////////////////////////////////////////////// 2 4 name 1 469 6 bundle 1 481 20 14 Dtool_8NZBwwyB 0 7 28 481 235 14 Dtool_8NZBwwyB 222 //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::get_bundle // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 486 21 14 Dtool_8NZBbUiF 0 7 29 481 235 14 Dtool_8NZBbUiF 480 //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::find_anim_bundle // Access: Published, Static // Description: Recursively walks the scene graph beginning at the // indicated node (which need not be an AnimBundleNode), // and returns the first AnimBundle found. Returns NULL // if no AnimBundle can be found. //////////////////////////////////////////////////////////////////// 1 4 root 1 488 22 14 Dtool_8NZBYNUG 0 7 30 477 0 14 Dtool_8NZBYNUG 0 0 23 14 Dtool_8NZBpKA7 0 7 38 489 246 14 Dtool_8NZBpKA7 390 //////////////////////////////////////////////////////////////////// // Function: PartGroup::Constructor // Access: Published // Description: Creates the PartGroup, and adds it to the indicated // parent. The only way to delete it subsequently is to // delete the entire hierarchy. //////////////////////////////////////////////////////////////////// 2 6 parent 1 489 4 name 1 469 24 14 Dtool_8NZB7E2m 0 6 40 492 0 14 Dtool_8NZB7E2m 414 //////////////////////////////////////////////////////////////////// // Function: PartGroup::is_character_joint // Access: Published, Virtual // Description: Returns true if this part is a CharacterJoint, false // otherwise. This is a tiny optimization over // is_of_type(CharacterType::get_class_type()). //////////////////////////////////////////////////////////////////// 1 4 this 3 490 25 14 Dtool_8NZBd3Bk 0 7 41 489 246 14 Dtool_8NZBd3Bk 341 //////////////////////////////////////////////////////////////////// // Function: PartGroup::make_copy // Access: Published, Virtual // Description: Allocates and returns a new copy of the node. // Children are not copied, but see copy_subgraph(). //////////////////////////////////////////////////////////////////// 1 4 this 3 490 26 14 Dtool_8NZBqhPC 0 7 42 489 246 14 Dtool_8NZBqhPC 314 //////////////////////////////////////////////////////////////////// // Function: PartGroup::copy_subgraph // Access: Published // Description: Allocates and returns a new copy of this node and of // all of its children. //////////////////////////////////////////////////////////////////// 1 4 this 3 490 27 14 Dtool_8NZBwfp4 0 6 43 472 0 14 Dtool_8NZBwfp4 274 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_num_children // Access: Published // Description: Returns the number of child nodes of the group. //////////////////////////////////////////////////////////////////// 1 4 this 3 490 28 14 Dtool_8NZBMhIO 0 7 44 489 246 14 Dtool_8NZBMhIO 255 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_child // Access: Published // Description: Returns the nth child of the group. //////////////////////////////////////////////////////////////////// 2 4 this 3 490 1 n 1 472 29 14 Dtool_8NZBDwci 0 7 45 489 246 14 Dtool_8NZBDwci 524 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_child_named // Access: Published // Description: 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(). //////////////////////////////////////////////////////////////////// 2 4 this 3 490 4 name 1 469 30 14 Dtool_8NZB6aSh 0 7 46 489 246 14 Dtool_8NZB6aSh 465 //////////////////////////////////////////////////////////////////// // Function: PartGroup::find_child // Access: Published // Description: 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(). //////////////////////////////////////////////////////////////////// 2 4 this 3 490 4 name 1 469 31 14 Dtool_8NZBEvgz 0 4 47 473 0 14 Dtool_8NZBEvgz 537 //////////////////////////////////////////////////////////////////// // Function: PartGroup::sort_descendants // Access: Published // Description: 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. //////////////////////////////////////////////////////////////////// 1 4 this 3 489 32 14 Dtool_8NZBC4lG 0 6 48 492 0 14 Dtool_8NZBC4lG 572 //////////////////////////////////////////////////////////////////// // Function: PartGroup::apply_freeze // Access: Published // Description: 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. // // This is normally only called internally by // PartBundle::freeze_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 2 4 this 3 489 9 transform 1 493 33 14 Dtool_8NZBR9o1 0 6 49 492 0 14 Dtool_8NZBR9o1 588 //////////////////////////////////////////////////////////////////// // Function: PartGroup::apply_freeze_matrix // Access: Published, Virtual // Description: 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. // // This is normally only called internally by // PartBundle::freeze_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 4 4 this 3 489 3 pos 1 496 3 hpr 1 496 5 scale 1 496 34 14 Dtool_8NZBSV2B 0 6 50 492 0 14 Dtool_8NZBSV2B 588 //////////////////////////////////////////////////////////////////// // Function: PartGroup::apply_freeze_scalar // Access: Published, Virtual // Description: 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. // // This is normally only called internally by // PartBundle::freeze_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 2 4 this 3 489 5 value 1 480 35 14 Dtool_8NZBDCfX 0 6 51 492 0 14 Dtool_8NZBDCfX 622 //////////////////////////////////////////////////////////////////// // Function: PartGroup::apply_control // Access: Published, Virtual // Description: 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. // // This is normally only called internally by // PartBundle::control_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 2 4 this 3 489 4 node 1 488 36 14 Dtool_8NZB_lyG 0 6 52 492 0 14 Dtool_8NZB_lyG 567 //////////////////////////////////////////////////////////////////// // Function: PartGroup::clear_forced_channel // Access: Published, Virtual // Description: Undoes the effect of a previous call to // apply_freeze() or apply_control(). Returns true if // the joint was modified, false otherwise. // // This is normally only called internally by // PartBundle::release_joint(), but you may also call it // directly. //////////////////////////////////////////////////////////////////// 1 4 this 3 489 37 14 Dtool_8NZBO88w 0 7 53 499 286 14 Dtool_8NZBO88w 453 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_forced_channel // Access: Published, Virtual // Description: 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. //////////////////////////////////////////////////////////////////// 1 4 this 3 490 38 14 Dtool_8NZBNFkb 0 4 54 473 0 14 Dtool_8NZBNFkb 309 //////////////////////////////////////////////////////////////////// // Function: PartGroup::write // Access: Published, Virtual // Description: Writes a brief description of the group and all of // its descendants. //////////////////////////////////////////////////////////////////// 3 4 this 3 490 3 out 1 474 12 indent_level 1 472 39 14 Dtool_8NZB6PSE 0 4 55 473 0 14 Dtool_8NZB6PSE 356 //////////////////////////////////////////////////////////////////// // Function: PartGroup::write_with_value // Access: Published, Virtual // Description: Writes a brief description of the group, showing its // current value, and that of all of its descendants. //////////////////////////////////////////////////////////////////// 3 4 this 3 490 3 out 1 474 12 indent_level 1 472 40 14 Dtool_8NZBHmRQ 0 7 56 477 0 14 Dtool_8NZBHmRQ 0 0 41 14 Dtool_8NZBnLw5 0 7 33 478 0 14 Dtool_8NZBnLw5 0 1 4 this 3 489 42 14 Dtool_8NZB0Te7 0 7 34 489 246 14 Dtool_8NZB0Te7 0 1 4 this 3 478 43 14 Dtool_8NZBEyTs 0 6 35 479 0 14 Dtool_8NZBEyTs 0 1 4 this 3 489 44 14 Dtool_8NZBoV3X 0 7 36 489 246 14 Dtool_8NZBoV3X 0 1 4 this 3 479 45 14 Dtool_8NZBj5H5 0 6 67 492 0 14 Dtool_8NZBj5H5 1061 // Filename: animControl.I // Created by: drose (19Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControl::is_pending // Access: Published // Description: Returns true if the AnimControl is being bound // asynchronously, and has not yet finished. If this is // true, the AnimControl's interface is still available // and will be perfectly useful (though get_anim() might // return NULL), but nothing visible will happen // immediately. //////////////////////////////////////////////////////////////////// 1 4 this 3 500 46 14 Dtool_8NZBX93W 0 4 68 473 0 14 Dtool_8NZBX93W 330 //////////////////////////////////////////////////////////////////// // Function: AnimControl::wait_pending // Access: Published // Description: Blocks the current thread until the AnimControl has // finished loading and is fully bound. //////////////////////////////////////////////////////////////////// 1 4 this 3 502 47 14 Dtool_8NZBHAER 0 6 69 492 0 14 Dtool_8NZBHAER 395 //////////////////////////////////////////////////////////////////// // Function: AnimControl::has_anim // Access: Published // Description: Returns true if the AnimControl was successfully // loaded, or false if there was a problem. This may // return false while is_pending() is true. //////////////////////////////////////////////////////////////////// 1 4 this 3 500 48 14 Dtool_8NZBxoCU 0 4 70 473 0 14 Dtool_8NZBxoCU 474 //////////////////////////////////////////////////////////////////// // Function: AnimControl::set_pending_done_event // Access: Published // Description: Specifies an event name that will be thrown when the // AnimControl is finished binding asynchronously. If // the AnimControl has already finished binding, the // event will be thrown immediately. //////////////////////////////////////////////////////////////////// 2 4 this 3 502 10 done_event 1 469 49 14 Dtool_8NZBRLbr 0 6 71 469 0 14 Dtool_8NZBRLbr 351 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_pending_done_event // Access: Published // Description: Returns the event name that will be thrown when the // AnimControl is finished binding asynchronously. //////////////////////////////////////////////////////////////////// 1 4 this 3 500 50 14 Dtool_8NZBinR8 0 7 72 503 410 14 Dtool_8NZBinR8 292 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_part // Access: Published // Description: Returns the PartBundle bound in with this // AnimControl. //////////////////////////////////////////////////////////////////// 1 4 this 3 500 51 14 Dtool_8NZBfBvN 0 7 73 481 235 14 Dtool_8NZBfBvN 292 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_anim // Access: Published // Description: Returns the AnimBundle bound in with this // AnimControl. //////////////////////////////////////////////////////////////////// 1 4 this 3 500 52 14 Dtool_8NZBMgs9 0 6 74 472 0 14 Dtool_8NZBMgs9 665 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_channel_index // Access: Published // Description: Returns the particular channel index associated with // this AnimControl. This channel index is the slot on // which each AnimGroup is bound to its associated // PartGroup, for each joint in the animation. // // It will be true that // get_part()->find_child("n")->get_bound(get_channel_index()) // == get_anim()->find_child("n"), for each joint "n". //////////////////////////////////////////////////////////////////// 1 4 this 3 500 53 14 Dtool_8NZBmv5w 0 6 75 504 0 14 Dtool_8NZBmv5w 677 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_bound_joints // Access: Published // Description: Returns the subset of joints controlled by this // AnimControl. Most of the time, this will be // BitArray::all_on(), for a normal full-body animation. // For a subset animation, however, this will be just a // subset of those bits, corresponding to the set of // joints and sliders actually bound (as enumerated by // bind_hierarchy() in depth-first LIFO order). //////////////////////////////////////////////////////////////////// 1 4 this 3 500 54 14 Dtool_8NZBn_I7 0 4 76 473 0 14 Dtool_8NZBn_I7 883 //////////////////////////////////////////////////////////////////// // Function: AnimControl::set_anim_model // Access: Published // Description: Associates the indicated PandaNode with the // AnimControl. By convention, this node represents the // root node of the model file that corresponds to this // AnimControl's animation file, though nothing in this // code makes this assumption or indeed does anything // with this node. // // The purpose of this is simply to allow the // AnimControl to keep a reference count on the // ModelRoot node that generated it, so that the model // will not disappear from the model pool until it is no // longer referenced. //////////////////////////////////////////////////////////////////// 2 4 this 3 502 5 model 1 488 55 14 Dtool_8NZBECae 0 7 77 488 0 14 Dtool_8NZBECae 314 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_anim_model // Access: Published // Description: Retrieves the pointer set via set_anim_model(). See // set_anim_model(). //////////////////////////////////////////////////////////////////// 1 4 this 3 500 56 14 Dtool_8NZBmvA5 0 4 78 473 0 14 Dtool_8NZBmvA5 218 //////////////////////////////////////////////////////////////////// // Function: AnimControl::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 500 3 out 1 474 57 14 Dtool_8NZBsoch 0 7 79 477 0 14 Dtool_8NZBsoch 0 0 58 14 Dtool_8NZBajPq 0 7 59 507 0 14 Dtool_8NZBajPq 0 1 4 this 3 502 59 14 Dtool_8NZBkxia 0 7 60 502 270 14 Dtool_8NZBkxia 0 1 4 this 3 507 60 14 Dtool_8NZBEgr1 0 6 62 508 0 14 Dtool_8NZBEgr1 0 1 4 this 3 502 61 14 Dtool_8NZBVM10 0 7 63 502 270 14 Dtool_8NZBVM10 0 1 4 this 3 508 62 14 Dtool_8NZBqvu2 0 6 64 479 0 14 Dtool_8NZBqvu2 0 1 4 this 3 502 63 14 Dtool_8NZBGYjo 0 7 65 502 270 14 Dtool_8NZBGYjo 0 1 4 this 3 479 64 14 Dtool_8NZBP9Rv 0 7 81 477 0 14 Dtool_8NZBP9Rv 0 1 4 this 3 509 65 14 Dtool_8NZBORV4 0 7 82 477 0 14 Dtool_8NZBORV4 0 0 66 14 Dtool_8NZBqZzQ 0 4 85 473 0 14 Dtool_8NZBqZzQ 0 3 4 this 3 511 5 frame 1 472 5 value 1 512 67 14 Dtool_8NZB5C0s 0 4 86 473 0 14 Dtool_8NZB5C0s 72 // These transform-component methods only have meaning for matrix types. 3 4 this 3 511 5 frame 1 472 5 value 1 512 68 14 Dtool_8NZBz_3E 0 4 87 473 0 14 Dtool_8NZBz_3E 72 // These transform-component methods only have meaning for matrix types. 3 4 this 3 511 5 frame 1 472 5 scale 1 514 69 14 Dtool_8NZBUEM9 0 4 88 473 0 14 Dtool_8NZBUEM9 0 3 4 this 3 511 5 frame 1 472 3 hpr 1 514 70 14 Dtool_8NZBOmSj 0 4 89 473 0 14 Dtool_8NZBOmSj 0 3 4 this 3 511 5 frame 1 472 4 quat 1 515 71 14 Dtool_8NZBqs83 0 4 90 473 0 14 Dtool_8NZBqs83 0 3 4 this 3 511 5 frame 1 472 3 pos 1 514 72 14 Dtool_8NZBl2ej 0 4 91 473 0 14 Dtool_8NZBl2ej 0 3 4 this 3 511 5 frame 1 472 5 shear 1 514 73 14 Dtool_8NZBdaSG 0 7 92 477 0 14 Dtool_8NZBdaSG 0 1 4 this 3 517 74 14 Dtool_8NZB7LXI 0 7 93 477 0 14 Dtool_8NZB7LXI 0 0 75 14 Dtool_8NZBIOa5 0 4 97 473 0 14 Dtool_8NZBIOa5 72 // These transform-component methods only have meaning for matrix types. 3 4 this 3 519 5 frame 1 472 5 scale 1 514 76 14 Dtool_8NZBNRwx 0 4 98 473 0 14 Dtool_8NZBNRwx 0 3 4 this 3 519 5 frame 1 472 3 hpr 1 514 77 14 Dtool_8NZBEl2X 0 4 99 473 0 14 Dtool_8NZBEl2X 0 3 4 this 3 519 5 frame 1 472 4 quat 1 515 78 14 Dtool_8NZBU_gs 0 4 100 473 0 14 Dtool_8NZBU_gs 0 3 4 this 3 519 5 frame 1 472 3 pos 1 514 79 14 Dtool_8NZBzYDY 0 4 101 473 0 14 Dtool_8NZBzYDY 0 3 4 this 3 519 5 frame 1 472 5 shear 1 514 80 14 Dtool_8NZBzf26 0 7 102 477 0 14 Dtool_8NZBzf26 0 1 4 this 3 520 81 14 Dtool_8NZBdX78 0 7 103 477 0 14 Dtool_8NZBdX78 0 0 82 14 Dtool_8NZBwi1P 0 4 105 473 0 14 Dtool_8NZBwi1P 268 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::set_value // Access: Published // Description: Explicitly sets the matrix value. //////////////////////////////////////////////////////////////////// 2 4 this 3 522 5 value 1 523 83 14 Dtool_8NZB4XtZ 0 4 105 473 0 14 Dtool_8NZB4XtZ 345 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::set_value // Access: Published // Description: Explicitly sets the matrix value, using the indicated // TransformState object as a convenience. //////////////////////////////////////////////////////////////////// 2 4 this 3 522 5 value 1 493 84 14 Dtool_8NZBAd6G 0 4 106 473 0 14 Dtool_8NZBAd6G 384 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::set_value_node // Access: Published // Description: Specifies a node whose transform will be queried each // frame to implicitly specify the transform of this // joint. //////////////////////////////////////////////////////////////////// 2 4 this 3 522 4 node 1 488 85 14 Dtool_8NZBAlQj 0 7 107 493 0 14 Dtool_8NZBAlQj 841 // Filename: animChannelMatrixDynamic.I // Created by: drose (20Oct03) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::get_value_transform // Access: Published // Description: Returns the explicit TransformState value that was // set via set_value(), if any. //////////////////////////////////////////////////////////////////// 1 4 this 3 525 86 14 Dtool_8NZBA0Lo 0 7 108 488 0 14 Dtool_8NZBA0Lo 316 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::get_value_node // Access: Published // Description: Returns the node that was set via set_value_node(), // if any. //////////////////////////////////////////////////////////////////// 1 4 this 3 525 87 14 Dtool_8NZBdU9M 0 7 109 477 0 14 Dtool_8NZBdU9M 0 0 88 14 Dtool_8NZBeBw0 0 7 112 527 286 14 Dtool_8NZBeBw0 234 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 6 parent 1 468 4 name 1 469 89 14 Dtool_8NZBKOH5 0 6 113 492 0 14 Dtool_8NZBKOH5 830 // Filename: animChannelMatrixXfmTable.I // Created by: drose (21Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::is_valid_id // Access: Public, Static // Description: Returns true if the given letter is one of the nine // valid table id's. //////////////////////////////////////////////////////////////////// 1 8 table_id 1 528 90 14 Dtool_8NZBF4Yg 0 4 114 473 0 14 Dtool_8NZBF4Yg 536 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::set_table // Access: Public // Description: Assigns the indicated table. table_id is one of 'i', // 'j', 'k', for scale, 'a', 'b', 'c' for shear, 'h', // 'p', 'r', for rotation, and 'x', 'y', 'z', for // translation. The new table must have either zero, // one, or get_num_frames() frames. //////////////////////////////////////////////////////////////////// 3 4 this 3 527 8 table_id 1 528 5 table 1 529 91 14 Dtool_8NZB091i 0 7 115 534 0 14 Dtool_8NZB091i 339 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::get_table // Access: Public // Description: Returns a pointer to the indicated subtable's data, // if it exists, or NULL if it does not. //////////////////////////////////////////////////////////////////// 2 4 this 3 532 8 table_id 1 528 92 14 Dtool_8NZBvh4K 0 4 116 473 0 14 Dtool_8NZBvh4K 336 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::clear_all_tables // Access: Published // Description: Removes all the tables from the channel, and resets // it to its initial state. //////////////////////////////////////////////////////////////////// 1 4 this 3 527 93 14 Dtool_8NZBZcqj 0 6 117 492 0 14 Dtool_8NZBZcqj 310 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::has_table // Access: Published // Description: Returns true if the indicated subtable has been // assigned. //////////////////////////////////////////////////////////////////// 2 4 this 3 532 8 table_id 1 528 94 14 Dtool_8NZBO_k0 0 4 118 473 0 14 Dtool_8NZBO_k0 286 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::clear_table // Access: Published // Description: Removes the indicated table from the definition. //////////////////////////////////////////////////////////////////// 2 4 this 3 527 8 table_id 1 528 95 14 Dtool_8NZBBX4a 0 7 119 477 0 14 Dtool_8NZBBX4a 0 0 96 14 Dtool_8NZBVD_1 0 4 121 473 0 14 Dtool_8NZBVD_1 261 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarDynamic::set_value // Access: Published // Description: Explicitly sets the value. //////////////////////////////////////////////////////////////////// 2 4 this 3 535 5 value 1 480 97 14 Dtool_8NZB6Avw 0 4 122 473 0 14 Dtool_8NZB6Avw 384 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarDynamic::set_value_node // Access: Published // Description: Specifies a node whose transform will be queried each // frame to implicitly specify the transform of this // joint. //////////////////////////////////////////////////////////////////// 2 4 this 3 535 4 node 1 488 98 14 Dtool_8NZBxwy2 0 7 123 477 0 14 Dtool_8NZBxwy2 0 0 99 14 Dtool_8NZB8JvW 0 4 126 473 0 14 Dtool_8NZB8JvW 253 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::set_table // Access: Public // Description: Assigns the data table. //////////////////////////////////////////////////////////////////// 2 4 this 3 536 5 table 1 529 100 14 Dtool_8NZB8IHc 0 7 127 534 0 14 Dtool_8NZB8IHc 821 // Filename: animChannelScalarTable.I // Created by: drose (22Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::get_table // Access: Public // Description: Returns a pointer to the table's data, // if it exists, or NULL if it does not. //////////////////////////////////////////////////////////////////// 1 4 this 3 537 101 14 Dtool_8NZB1YIG 0 6 128 492 0 14 Dtool_8NZB1YIG 282 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::has_table // Access: Published // Description: Returns true if the data table has been assigned. //////////////////////////////////////////////////////////////////// 1 4 this 3 537 102 14 Dtool_8NZBPoPB 0 4 129 473 0 14 Dtool_8NZBPoPB 258 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::clear_table // Access: Published // Description: Empties the data table. //////////////////////////////////////////////////////////////////// 1 4 this 3 536 103 14 Dtool_8NZBptvC 0 7 130 477 0 14 Dtool_8NZBptvC 0 0 104 14 Dtool_8NZBEVyR 0 7 133 539 330 14 Dtool_8NZBEVyR 354 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::Constructor // Access: Published // Description: Returns the AnimControl associated with the given // name, or NULL if no such control has been associated. //////////////////////////////////////////////////////////////////// 0 105 14 Dtool_8NZBJmt2 0 4 135 473 0 14 Dtool_8NZBJmt2 529 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::store_anim // Access: Published // Description: Associates the given AnimControl with this collection // under the given name. The AnimControl will remain // associated until a new AnimControl is associated with // the same name later, or until unbind_anim() is called // with this name. //////////////////////////////////////////////////////////////////// 3 4 this 3 539 7 control 1 502 4 name 1 469 106 14 Dtool_8NZBDivI 0 7 136 502 270 14 Dtool_8NZBDivI 352 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::find_anim // Access: Published // Description: Returns the AnimControl associated with the given // name, or NULL if no such control has been associated. //////////////////////////////////////////////////////////////////// 2 4 this 3 540 4 name 1 469 107 14 Dtool_8NZBe9bu 0 6 137 492 0 14 Dtool_8NZBe9bu 452 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::unbind_anim // Access: Published // Description: Removes the AnimControl associated with the given // name, if any. Returns true if an AnimControl was // removed, false if there was no AnimControl with the // indicated name. //////////////////////////////////////////////////////////////////// 2 4 this 3 539 4 name 1 469 108 14 Dtool_8NZBoONk 0 6 138 472 0 14 Dtool_8NZBoONk 320 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_num_anims // Access: Published // Description: Returns the number of AnimControls associated with // this collection. //////////////////////////////////////////////////////////////////// 1 4 this 3 540 109 14 Dtool_8NZBVtrB 0 7 139 502 270 14 Dtool_8NZBVtrB 308 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_anim // Access: Published // Description: Returns the nth AnimControl associated with // this collection. //////////////////////////////////////////////////////////////////// 2 4 this 3 540 1 n 1 472 110 14 Dtool_8NZBBXsg 0 6 140 469 0 14 Dtool_8NZBBXsg 325 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_anim_name // Access: Published // Description: Returns the name of the nth AnimControl associated // with this collection. //////////////////////////////////////////////////////////////////// 2 4 this 3 540 1 n 1 472 111 14 Dtool_8NZBNiLN 0 4 141 473 0 14 Dtool_8NZBNiLN 279 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::clear_anims // Access: Published // Description: Disassociates all anims from this collection. //////////////////////////////////////////////////////////////////// 1 4 this 3 539 112 14 Dtool_8NZBUNjN 0 6 142 492 0 14 Dtool_8NZBUNjN 756 // Filename: animControlCollection.I // Created by: drose (22Feb00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play // Access: Public // Description: Starts the named animation playing. //////////////////////////////////////////////////////////////////// 2 4 this 3 539 9 anim_name 1 469 113 14 Dtool_8NZB_GRl 0 6 142 492 0 14 Dtool_8NZB_GRl 259 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play // Access: Public // Description: Starts the named animation playing. //////////////////////////////////////////////////////////////////// 4 4 this 3 539 9 anim_name 1 469 4 from 1 472 2 to 1 472 114 14 Dtool_8NZBBJEH 0 6 143 492 0 14 Dtool_8NZBBJEH 259 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop // Access: Public // Description: Starts the named animation looping. //////////////////////////////////////////////////////////////////// 3 4 this 3 539 9 anim_name 1 469 7 restart 1 492 115 14 Dtool_8NZBTOG2 0 6 143 492 0 14 Dtool_8NZBTOG2 259 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop // Access: Public // Description: Starts the named animation looping. //////////////////////////////////////////////////////////////////// 5 4 this 3 539 9 anim_name 1 469 7 restart 1 492 4 from 1 472 2 to 1 472 116 14 Dtool_8NZBunhQ 0 6 144 492 0 14 Dtool_8NZBunhQ 250 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::stop // Access: Public // Description: Stops the named animation. //////////////////////////////////////////////////////////////////// 2 4 this 3 539 9 anim_name 1 469 117 14 Dtool_8NZBmA9Z 0 6 145 492 0 14 Dtool_8NZBmA9Z 274 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::pose // Access: Public // Description: Sets to a particular frame in the named animation. //////////////////////////////////////////////////////////////////// 3 4 this 3 539 9 anim_name 1 469 5 frame 1 472 118 14 Dtool_8NZBtiz5 0 4 146 473 0 14 Dtool_8NZBtiz5 261 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play_all // Access: Published // Description: Starts all animations playing. //////////////////////////////////////////////////////////////////// 1 4 this 3 539 119 14 Dtool_8NZBc5qb 0 4 146 473 0 14 Dtool_8NZBc5qb 261 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play_all // Access: Published // Description: Starts all animations playing. //////////////////////////////////////////////////////////////////// 3 4 this 3 539 4 from 1 472 2 to 1 472 120 14 Dtool_8NZBMeO5 0 4 147 473 0 14 Dtool_8NZBMeO5 261 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop_all // Access: Published // Description: Starts all animations looping. //////////////////////////////////////////////////////////////////// 2 4 this 3 539 7 restart 1 492 121 14 Dtool_8NZBRl09 0 4 147 473 0 14 Dtool_8NZBRl09 261 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop_all // Access: Published // Description: Starts all animations looping. //////////////////////////////////////////////////////////////////// 4 4 this 3 539 7 restart 1 492 4 from 1 472 2 to 1 472 122 14 Dtool_8NZBXUx8 0 6 148 492 0 14 Dtool_8NZBXUx8 378 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::stop_all // Access: Published // Description: Stops all currently playing animations. Returns true // if any animations were stopped, false if none were // playing. //////////////////////////////////////////////////////////////////// 1 4 this 3 539 123 14 Dtool_8NZBJter 0 4 149 473 0 14 Dtool_8NZBJter 274 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::pose_all // Access: Published // Description: Sets all animations to the indicated frame. //////////////////////////////////////////////////////////////////// 2 4 this 3 539 5 frame 1 472 124 14 Dtool_8NZBhXpY 0 6 150 472 0 14 Dtool_8NZBhXpY 302 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_frame // Access: Public // Description: Returns the current frame in the last-started // animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 540 125 14 Dtool_8NZB6Cy2 0 6 150 472 0 14 Dtool_8NZB6Cy2 331 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_frame // Access: Public // Description: Returns the current frame in the named animation, or // 0 if the animation is not found. //////////////////////////////////////////////////////////////////// 2 4 this 3 540 9 anim_name 1 469 126 14 Dtool_8NZBfa0S 0 6 151 472 0 14 Dtool_8NZBfa0S 316 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_num_frames // Access: Public // Description: Returns the total number of frames in the // last-started animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 540 127 14 Dtool_8NZBvkKP 0 6 151 472 0 14 Dtool_8NZBvkKP 345 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_num_frames // Access: Public // Description: Returns the total number of frames in the named // animation, or 0 if the animation is not found. //////////////////////////////////////////////////////////////////// 2 4 this 3 540 9 anim_name 1 469 128 14 Dtool_8NZB6Fhs 0 6 152 492 0 14 Dtool_8NZB6Fhs 328 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::is_playing // Access: Public // Description: Returns true if the last-started animation is // currently playing, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 540 129 14 Dtool_8NZBme5y 0 6 152 492 0 14 Dtool_8NZBme5y 321 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::is_playing // Access: Public // Description: Returns true if the named animation is currently // playing, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 540 9 anim_name 1 469 130 14 Dtool_8NZBBIcV 0 6 153 469 0 14 Dtool_8NZBBIcV 458 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::which_anim_playing // Access: Published // Description: Returns the name of the bound AnimControl currently // playing, if any. If more than one AnimControl is // currently playing, returns all of the names separated // by spaces. //////////////////////////////////////////////////////////////////// 1 4 this 3 540 131 14 Dtool_8NZBV3NB 0 4 154 473 0 14 Dtool_8NZBV3NB 229 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 540 3 out 1 474 132 14 Dtool_8NZBI5P2 0 4 155 473 0 14 Dtool_8NZBI5P2 228 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 540 3 out 1 474 133 14 Dtool_8NZBvxTH 0 7 158 542 0 14 Dtool_8NZBvxTH 229 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 134 14 Dtool_8NZB9WAE 0 6 159 472 0 14 Dtool_8NZB9WAE 284 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_num_anims // Access: Published // Description: Returns the number of animation records in the table. //////////////////////////////////////////////////////////////////// 1 4 this 3 543 135 14 Dtool_8NZB_zP2 0 6 160 472 0 14 Dtool_8NZB_zP2 610 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::find_anim // Access: Published // Description: Returns the index number in the table of the // animation record with the indicated name, or -1 if // the name is not present. By convention, the basename // is the filename of the egg or bam file, without the // directory part and without the extension. That is, // it is Filename::get_basename_wo_extension(). //////////////////////////////////////////////////////////////////// 2 4 this 3 543 8 basename 1 469 136 14 Dtool_8NZB_AA_ 0 6 161 469 0 14 Dtool_8NZB_AA_ 322 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_basename // Access: Published // Description: Returns the basename stored for the nth animation // record. See find_anim(). //////////////////////////////////////////////////////////////////// 2 4 this 3 543 1 n 1 472 137 14 Dtool_8NZBFxd3 0 6 162 480 0 14 Dtool_8NZBFxd3 313 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_base_frame_rate // Access: Published // Description: Returns the frame rate stored for the nth animation // record. //////////////////////////////////////////////////////////////////// 2 4 this 3 543 1 n 1 472 138 14 Dtool_8NZBmhkv 0 6 163 472 0 14 Dtool_8NZBmhkv 314 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_num_frames // Access: Published // Description: Returns the number of frames stored for the nth // animation record. //////////////////////////////////////////////////////////////////// 2 4 this 3 543 1 n 1 472 139 14 Dtool_8NZBheg4 0 4 164 473 0 14 Dtool_8NZBheg4 274 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::clear_anims // Access: Published // Description: Removes all animation records from the table. //////////////////////////////////////////////////////////////////// 1 4 this 3 542 140 14 Dtool_8NZBSDsJ 0 4 165 473 0 14 Dtool_8NZBSDsJ 344 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::remove_anim // Access: Published // Description: Removes the nth animation records from the table. // This renumbers indexes for following animations. //////////////////////////////////////////////////////////////////// 2 4 this 3 542 1 n 1 472 141 14 Dtool_8NZB1l8l 0 4 166 473 0 14 Dtool_8NZB1l8l 505 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::add_anim // Access: Published // Description: Adds a new animation record to the table. If there // is already a record of this name, no operation is // performed (the original record is unchanged). See // find_anim(). This will invalidate existing index // numbers. //////////////////////////////////////////////////////////////////// 4 4 this 3 542 8 basename 1 469 15 base_frame_rate 1 480 10 num_frames 1 472 142 14 Dtool_8NZB52_x 0 4 167 473 0 14 Dtool_8NZB52_x 412 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::add_anims_from // Access: Published // Description: Copies the animation records from the other table // into this one. If a given record name exists in both // tables, the record in this one supercedes. //////////////////////////////////////////////////////////////////// 2 4 this 3 542 5 other 1 543 143 14 Dtool_8NZBlofy 0 4 168 473 0 14 Dtool_8NZBlofy 224 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 543 3 out 1 474 144 14 Dtool_8NZBhkgD 0 4 169 473 0 14 Dtool_8NZBhkgD 223 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 543 3 out 1 474 12 indent_level 1 472 145 14 Dtool_8NZBAKZD 0 7 170 477 0 14 Dtool_8NZBAKZD 0 0 146 14 Dtool_8NZBoGGG 0 7 173 545 375 14 Dtool_8NZBoGGG 223 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 147 14 Dtool_8NZB_gKp 0 7 173 545 375 14 Dtool_8NZB_gKp 228 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 546 148 14 Dtool_8NZBxWwX 0 6 174 545 0 14 Dtool_8NZBxWwX 236 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 545 4 copy 1 546 149 14 Dtool_8NZB0f2j 0 4 175 473 0 14 Dtool_8NZB0f2j 650 //////////////////////////////////////////////////////////////////// // Function: PartSubset::add_include_joint // Access: Published // Description: Adds the named joint to the list of joints that will // be explicitly included in the subset. Any joint at // or below a named node will be included in the subset // (unless a lower node is also listed in the exclude // list). // // Since the name is a GlobPattern, it may of course // include filename globbing characters like * and ?. //////////////////////////////////////////////////////////////////// 2 4 this 3 545 4 name 1 548 150 14 Dtool_8NZBMvgq 0 4 176 473 0 14 Dtool_8NZBMvgq 657 //////////////////////////////////////////////////////////////////// // Function: PartSubset::add_exclude_joint // Access: Published // Description: Adds the named joint to the list of joints that will // be explicitly exlcluded from the subset. Any joint at // or below a named node will not be included in the // subset (unless a lower node is also listed in the // include list). // // Since the name is a GlobPattern, it may of course // include filename globbing characters like * and ?. //////////////////////////////////////////////////////////////////// 2 4 this 3 545 4 name 1 548 151 14 Dtool_8NZB69Ls 0 4 177 473 0 14 Dtool_8NZB69Ls 319 //////////////////////////////////////////////////////////////////// // Function: PartSubset::append // Access: Published // Description: Appends the include and exclude list from the other // object onto this object's lists. //////////////////////////////////////////////////////////////////// 2 4 this 3 545 5 other 1 546 152 14 Dtool_8NZB80i_ 0 4 178 473 0 14 Dtool_8NZB80i_ 218 //////////////////////////////////////////////////////////////////// // Function: PartSubset::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 546 3 out 1 474 153 14 Dtool_8NZBpRPq 0 6 179 492 0 14 Dtool_8NZBpRPq 395 //////////////////////////////////////////////////////////////////// // Function: PartSubset::is_include_empty // Access: Published // Description: Returns true if the include list is completely empty, // false otherwise. If it is empty, it is the same // thing as including all joints. //////////////////////////////////////////////////////////////////// 1 4 this 3 546 154 14 Dtool_8NZBFDUF 0 6 180 492 0 14 Dtool_8NZBFDUF 331 //////////////////////////////////////////////////////////////////// // Function: PartSubset::matches_include // Access: Published // Description: Returns true if the indicated name matches a name on // the include list, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 546 10 joint_name 1 469 155 14 Dtool_8NZBEavl 0 6 181 492 0 14 Dtool_8NZBEavl 331 //////////////////////////////////////////////////////////////////// // Function: PartSubset::matches_exclude // Access: Published // Description: Returns true if the indicated name matches a name on // the exclude list, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 546 10 joint_name 1 469 156 14 Dtool_8NZBZ6lN 0 7 185 559 378 14 Dtool_8NZBZ6lN 225 //////////////////////////////////////////////////////////////////// // Function: BindAnimRequest::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 7 4 name 1 469 8 filename 1 551 7 options 1 554 6 loader 1 557 7 control 1 502 21 hierarchy_match_flags 1 472 6 subset 1 546 157 14 Dtool_8NZBzTZe 0 7 186 477 0 14 Dtool_8NZBzTZe 0 0 158 14 Dtool_8NZB9LiC 0 7 189 503 410 14 Dtool_8NZB9LiC 373 //////////////////////////////////////////////////////////////////// // Function: PartBundle::Constructor // Access: Public // Description: Normally, a PartBundle constructor should not be // called directly--it will get created when a // PartBundleNode is created. //////////////////////////////////////////////////////////////////// 1 4 name 1 469 159 14 Dtool_8NZBDIqj 0 7 189 503 410 14 Dtool_8NZBDIqj 373 //////////////////////////////////////////////////////////////////// // Function: PartBundle::Constructor // Access: Public // Description: Normally, a PartBundle constructor should not be // called directly--it will get created when a // PartBundleNode is created. //////////////////////////////////////////////////////////////////// 0 160 14 Dtool_8NZBrxqe 0 7 190 543 0 14 Dtool_8NZBrxqe 929 // Filename: partBundle.I // Created by: drose (22Feb99) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_anim_preload // Access: Published // Description: Returns the AnimPreloadTable associated with // the PartBundle. This table, if present, can be used // for the benefit of load_bind_anim() to allow // asynchronous binding. //////////////////////////////////////////////////////////////////// 1 4 this 3 560 161 14 Dtool_8NZB2f0z 0 7 191 542 0 14 Dtool_8NZB2f0z 340 //////////////////////////////////////////////////////////////////// // Function: PartBundle::modify_anim_preload // Access: Published // Description: Returns a modifiable pointer to the AnimPreloadTable // associated with the PartBundle, if any. //////////////////////////////////////////////////////////////////// 1 4 this 3 503 162 14 Dtool_8NZBA3Kk 0 4 192 473 0 14 Dtool_8NZBA3Kk 306 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_anim_preload // Access: Published // Description: Replaces the AnimPreloadTable associated with // the PartBundle. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 5 table 1 542 163 14 Dtool_8NZBYoFV 0 4 193 473 0 14 Dtool_8NZBYoFV 307 //////////////////////////////////////////////////////////////////// // Function: PartBundle::clear_anim_preload // Access: Published // Description: Removes any AnimPreloadTable associated with // the PartBundle. //////////////////////////////////////////////////////////////////// 1 4 this 3 503 164 14 Dtool_8NZBtRk3 0 4 194 473 0 14 Dtool_8NZBtRk3 322 //////////////////////////////////////////////////////////////////// // Function: PartBundle::merge_anim_preloads // Access: Published // Description: Copies the contents of the other PartBundle's preload // table into this one. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 5 other 1 560 165 14 Dtool_8NZB0WPI 0 4 196 473 0 14 Dtool_8NZB0WPI 558 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_blend_type // Access: Published // Description: Defines the algorithm that is used when blending // multiple frames or multiple animations together, when // either anim_blend_flag or frame_blend_flag is set // to true. // // See partBundle.h for a description of the meaning of // each of the BlendType values. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 2 bt 1 459 166 14 Dtool_8NZByXKU 0 6 197 459 0 14 Dtool_8NZByXKU 438 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_blend_type // Access: Published // Description: Returns the algorithm that is used when blending // multiple frames or multiple animations together, when // either anim_blend_flag or frame_blend_flag is set // to true. //////////////////////////////////////////////////////////////////// 1 4 this 3 560 167 14 Dtool_8NZBjAPZ 0 4 198 473 0 14 Dtool_8NZBjAPZ 947 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_anim_blend_flag // Access: Published // Description: Defines the way the character responds to multiple // calls to set_control_effect()). By default, this // flag is set false, which disallows multiple // animations. When this flag is false, it is not // necessary to explicitly set the control_effect when // starting an animation; starting the animation will // implicitly remove the control_effect from the // previous animation and set it on the current one. // // However, if this flag is set true, the control_effect // must be explicitly set via set_control_effect() // whenever an animation is to affect the character. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 15 anim_blend_flag 1 492 168 14 Dtool_8NZBZe_K 0 6 199 492 0 14 Dtool_8NZBZe_K 387 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_anim_blend_flag // Access: Published // Description: Returns whether the character allows multiple // different animations to be bound simultaneously. See // set_anim_blend_flag(). //////////////////////////////////////////////////////////////////// 1 4 this 3 560 169 14 Dtool_8NZBgaSG 0 4 200 473 0 14 Dtool_8NZBgaSG 1201 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_frame_blend_flag // Access: Published // Description: Specifies whether the character interpolates (blends) // between two sequential frames of an active animation, // showing a smooth intra-frame motion, or whether it // holds each frame until the next frame is ready, // showing precisely the specified animation. // // When this value is false, the character holds each // frame until the next is ready. When this is true, // the character will interpolate between two // consecutive frames of animation for each frame the // animation is onscreen, according to the amount of // time elapsed between the frames. // // The default value of this flag is determined by the // interpolate-frames Config.prc variable. // // Use set_blend_type() to change the algorithm that the // character uses to interpolate matrix positions. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 16 frame_blend_flag 1 492 170 14 Dtool_8NZBfbl_ 0 6 201 492 0 14 Dtool_8NZBfbl_ 471 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_frame_blend_flag // Access: Published // Description: Returns whether the character interpolates (blends) // between two sequential animation frames, or whether // it holds the current frame until the next one is // ready. See set_frame_blend_flag(). //////////////////////////////////////////////////////////////////// 1 4 this 3 560 171 14 Dtool_8NZBt3hG 0 4 202 473 0 14 Dtool_8NZBt3hG 340 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_root_xform // Access: Published // Description: Specifies the transform matrix which is implicitly // applied at the root of the animated hierarchy. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 10 root_xform 1 523 172 14 Dtool_8NZBr7Q9 0 4 203 473 0 14 Dtool_8NZBr7Q9 304 //////////////////////////////////////////////////////////////////// // Function: PartBundle::xform // Access: Published // Description: Applies the indicated transform to the root of the // animated hierarchy. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 3 mat 1 523 173 14 Dtool_8NZBuoWS 0 6 204 523 0 14 Dtool_8NZBuoWS 338 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_root_xform // Access: Published // Description: Returns the transform matrix which is implicitly // applied at the root of the animated hierarchy. //////////////////////////////////////////////////////////////////// 1 4 this 3 560 174 14 Dtool_8NZB_za4 0 7 205 503 410 14 Dtool_8NZB_za4 487 //////////////////////////////////////////////////////////////////// // Function: PartBundle::apply_transform // Access: Published // Description: Returns a PartBundle that is a duplicate of this one, // but with the indicated transform applied. If this is // called multiple times with the same TransformState // pointer, it returns the same PartBundle each time. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 9 transform 1 493 175 14 Dtool_8NZBOYYz 0 6 206 472 0 14 Dtool_8NZBOYYz 322 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_num_nodes // Access: Published // Description: Returns the number of PartBundleNodes that contain a // pointer to this PartBundle. //////////////////////////////////////////////////////////////////// 1 4 this 3 560 176 14 Dtool_8NZBAJLi 0 7 207 562 0 14 Dtool_8NZBAJLi 300 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_node // Access: Published // Description: Returns the nth PartBundleNode associated with // this PartBundle. //////////////////////////////////////////////////////////////////// 2 4 this 3 560 1 n 1 472 177 14 Dtool_8NZBXSiY 0 4 208 473 0 14 Dtool_8NZBXSiY 872 //////////////////////////////////////////////////////////////////// // Function: PartBundle::clear_control_effects // Access: Published // Description: Sets the control effect of all AnimControls to zero // (but does not "stop" the AnimControls). The // character will no longer be affected by any // animation, and will return to its default // pose (unless restore-initial-pose is false). // // The AnimControls which are no longer associated will // not be using any CPU cycles, but they may still be in // the "playing" state; if they are later reassociated // with the PartBundle they will resume at their current // frame as if they'd been running all along. //////////////////////////////////////////////////////////////////// 1 4 this 3 503 178 14 Dtool_8NZBc9Oe 0 4 209 473 0 14 Dtool_8NZBc9Oe 897 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_control_effect // Access: Published // Description: Sets the amount by which the character is affected by // the indicated AnimControl (and its associated // animation). Normally, this will only be zero or one. // Zero indicates the animation does not affect the // character, and one means it does. // // If the _anim_blend_flag is not false (see // set_anim_blend_flag()), it is possible to have // multiple AnimControls in effect simultaneously. In // this case, the effect is a weight that indicates the // relative importance of each AnimControl to the final // animation. //////////////////////////////////////////////////////////////////// 3 4 this 3 503 7 control 1 502 6 effect 1 480 179 14 Dtool_8NZBSOyr 0 6 210 480 0 14 Dtool_8NZBSOyr 403 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_control_effect // Access: Published // Description: Returns the amount by which the character is affected // by the indicated AnimControl and its associated // animation. See set_control_effect(). //////////////////////////////////////////////////////////////////// 2 4 this 3 560 7 control 1 502 180 14 Dtool_8NZBGRkL 0 4 211 473 0 14 Dtool_8NZBGRkL 271 //////////////////////////////////////////////////////////////////// // Function: PartBundle::output // Access: Published, Virtual // Description: Writes a one-line description of the bundle. //////////////////////////////////////////////////////////////////// 2 4 this 3 560 3 out 1 474 181 14 Dtool_8NZBfmGJ 0 7 212 502 270 14 Dtool_8NZBfmGJ 1221 //////////////////////////////////////////////////////////////////// // Function: PartBundle::bind_anim // Access: Published // Description: Binds the animation to the bundle, if possible, and // returns a new AnimControl that can be used to start // and stop the animation. If the anim hierarchy does // not match the part hierarchy, returns NULL. // // If hierarchy_match_flags is 0, only an exact match is // accepted; otherwise, it may contain a union of // PartGroup::HierarchyMatchFlags values indicating // conditions that will be tolerated (but warnings will // still be issued). // // If subset is specified, it restricts the binding only // to the named subtree of joints. // // The AnimControl is not stored within the PartBundle; // it is the user's responsibility to maintain the // pointer. The animation will automatically unbind // itself when the AnimControl destructs (i.e. its // reference count goes to zero). //////////////////////////////////////////////////////////////////// 4 4 this 3 503 4 anim 1 481 21 hierarchy_match_flags 1 472 6 subset 1 546 182 14 Dtool_8NZB9D6Q 0 7 212 502 270 14 Dtool_8NZB9D6Q 1221 //////////////////////////////////////////////////////////////////// // Function: PartBundle::bind_anim // Access: Published // Description: Binds the animation to the bundle, if possible, and // returns a new AnimControl that can be used to start // and stop the animation. If the anim hierarchy does // not match the part hierarchy, returns NULL. // // If hierarchy_match_flags is 0, only an exact match is // accepted; otherwise, it may contain a union of // PartGroup::HierarchyMatchFlags values indicating // conditions that will be tolerated (but warnings will // still be issued). // // If subset is specified, it restricts the binding only // to the named subtree of joints. // // The AnimControl is not stored within the PartBundle; // it is the user's responsibility to maintain the // pointer. The animation will automatically unbind // itself when the AnimControl destructs (i.e. its // reference count goes to zero). //////////////////////////////////////////////////////////////////// 3 4 this 3 503 4 anim 1 481 21 hierarchy_match_flags 1 472 183 14 Dtool_8NZBesSx 0 7 212 502 270 14 Dtool_8NZBesSx 1221 //////////////////////////////////////////////////////////////////// // Function: PartBundle::bind_anim // Access: Published // Description: Binds the animation to the bundle, if possible, and // returns a new AnimControl that can be used to start // and stop the animation. If the anim hierarchy does // not match the part hierarchy, returns NULL. // // If hierarchy_match_flags is 0, only an exact match is // accepted; otherwise, it may contain a union of // PartGroup::HierarchyMatchFlags values indicating // conditions that will be tolerated (but warnings will // still be issued). // // If subset is specified, it restricts the binding only // to the named subtree of joints. // // The AnimControl is not stored within the PartBundle; // it is the user's responsibility to maintain the // pointer. The animation will automatically unbind // itself when the AnimControl destructs (i.e. its // reference count goes to zero). //////////////////////////////////////////////////////////////////// 2 4 this 3 503 4 anim 1 481 184 14 Dtool_8NZBq47d 0 7 213 502 270 14 Dtool_8NZBq47d 1614 //////////////////////////////////////////////////////////////////// // Function: PartBundle::load_bind_anim // Access: Published // Description: Binds an animation to the bundle. The animation is // loaded from the disk via the indicated Loader object. // In other respects, this behaves similarly to // bind_anim(), with the addition of asynchronous // support. // // If allow_aysnc is true, the load will be asynchronous // if possible. This requires that the animation // basename can be found in the PartBundle's preload // table (see get_anim_preload()). // // In an asynchronous load, the animation file will be // loaded and bound in a sub-thread. This means that // the animation will not necessarily be available at // the time this method returns. You may still use the // returned AnimControl immediately, though, but no // visible effect will occur until the animation // eventually becomes available. // // You can test AnimControl::is_pending() to see if the // animation has been loaded yet, or wait for it to // finish with AnimControl::wait_pending() or even // PartBundle::wait_pending(). You can also set an // event to be triggered when the animation finishes // loading with AnimControl::set_pending_done_event(). //////////////////////////////////////////////////////////////////// 6 4 this 3 503 6 loader 1 557 8 filename 1 551 21 hierarchy_match_flags 1 472 6 subset 1 546 11 allow_async 1 492 185 14 Dtool_8NZBZehs 0 4 214 473 0 14 Dtool_8NZBZehs 397 //////////////////////////////////////////////////////////////////// // Function: PartBundle::wait_pending // Access: Published // Description: Blocks the current thread until all currently-pending // AnimControls, with a nonzero control effect, have // been loaded and are properly bound. //////////////////////////////////////////////////////////////////// 1 4 this 3 503 186 14 Dtool_8NZB2fei 0 6 215 492 0 14 Dtool_8NZB2fei 693 //////////////////////////////////////////////////////////////////// // Function: PartBundle::freeze_joint // Access: Published // Description: Specifies that the joint with the indicated name // should be frozen with the specified transform. It // will henceforth always hold this fixed transform, // regardless of any animations that may subsequently be // bound to the joint. // // Returns true if the joint is successfully frozen, or // false if the named child is not a joint (or slider) // or does not exist. //////////////////////////////////////////////////////////////////// 5 4 this 3 503 10 joint_name 1 469 3 pos 1 496 3 hpr 1 496 5 scale 1 496 187 14 Dtool_8NZBOh7z 0 6 215 492 0 14 Dtool_8NZBOh7z 693 //////////////////////////////////////////////////////////////////// // Function: PartBundle::freeze_joint // Access: Published // Description: Specifies that the joint with the indicated name // should be frozen with the specified transform. It // will henceforth always hold this fixed transform, // regardless of any animations that may subsequently be // bound to the joint. // // Returns true if the joint is successfully frozen, or // false if the named child is not a joint (or slider) // or does not exist. //////////////////////////////////////////////////////////////////// 3 4 this 3 503 10 joint_name 1 469 9 transform 1 493 188 14 Dtool_8NZBQo4o 0 6 215 492 0 14 Dtool_8NZBQo4o 693 //////////////////////////////////////////////////////////////////// // Function: PartBundle::freeze_joint // Access: Published // Description: Specifies that the joint with the indicated name // should be frozen with the specified transform. It // will henceforth always hold this fixed transform, // regardless of any animations that may subsequently be // bound to the joint. // // Returns true if the joint is successfully frozen, or // false if the named child is not a joint (or slider) // or does not exist. //////////////////////////////////////////////////////////////////// 3 4 this 3 503 10 joint_name 1 469 5 value 1 480 189 14 Dtool_8NZBoboc 0 6 216 492 0 14 Dtool_8NZBoboc 714 //////////////////////////////////////////////////////////////////// // Function: PartBundle::control_joint // Access: Published // Description: Specifies that the joint with the indicated name // should be animated with the transform on the // indicated node. It will henceforth always follow the // node's transform, regardless of any animations that // may subsequently be bound to the joint. // // Returns true if the joint is successfully controlled, // or false if the named child is not a joint (or // slider) or does not exist. //////////////////////////////////////////////////////////////////// 3 4 this 3 503 10 joint_name 1 469 4 node 1 488 190 14 Dtool_8NZB_6LW 0 6 217 492 0 14 Dtool_8NZB_6LW 646 //////////////////////////////////////////////////////////////////// // Function: PartBundle::release_joint // Access: Published // Description: Releases the named joint from the effects of a // previous call to freeze_joint() or control_joint(). // It will henceforth once again follow whatever // transforms are dictated by the animation. // // Returns true if the joint is released, or false if // the named child was not previously controlled or // frozen, or it does not exist. //////////////////////////////////////////////////////////////////// 2 4 this 3 503 10 joint_name 1 469 191 14 Dtool_8NZBKsqa 0 6 218 492 0 14 Dtool_8NZBKsqa 482 //////////////////////////////////////////////////////////////////// // Function: PartBundle::update // Access: Published // Description: Updates all the parts in the bundle to reflect the // data for the current frame (as set in each of the // AnimControls). // // Returns true if any part has changed as a result of // this, or false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 503 192 14 Dtool_8NZB6YPx 0 6 219 492 0 14 Dtool_8NZB6YPx 375 //////////////////////////////////////////////////////////////////// // Function: PartBundle::force_update // Access: Published // Description: Updates all the parts in the bundle to reflect the // data for the current frame, whether we believe it // needs it or not. //////////////////////////////////////////////////////////////////// 1 4 this 3 503 193 14 Dtool_8NZB7Q2E 0 7 220 477 0 14 Dtool_8NZB7Q2E 0 0 194 14 Dtool_8NZBTdB6 0 6 223 472 0 14 Dtool_8NZBTdB6 604 //////////////////////////////////////////////////////////////////// // Function: MovingPartBase::get_max_bound // Access: Published // 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(). //////////////////////////////////////////////////////////////////// 1 4 this 3 563 195 14 Dtool_8NZBY4V7 0 7 224 499 286 14 Dtool_8NZBY4V7 690 //////////////////////////////////////////////////////////////////// // Function: MovingPartBase::get_bound // Access: Published // 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(). //////////////////////////////////////////////////////////////////// 2 4 this 3 563 1 n 1 472 196 14 Dtool_8NZBunKd 0 4 225 473 0 14 Dtool_8NZBunKd 0 2 4 this 3 563 3 out 1 474 197 14 Dtool_8NZBhPU6 0 7 226 477 0 14 Dtool_8NZBhPU6 0 0 198 14 Dtool_8NZB56Kh 0 7 234 477 0 14 Dtool_8NZB56Kh 0 0 199 14 Dtool_8NZB_XwN 0 7 230 477 0 14 Dtool_8NZB_XwN 0 0 200 14 Dtool_8NZB9Cqq 0 7 231 512 0 14 Dtool_8NZB9Cqq 0 1 4 this 3 565 201 14 Dtool_8NZBpgNw 0 7 232 512 0 14 Dtool_8NZBpgNw 0 1 4 this 3 565 202 14 Dtool_8NZBOseE 0 7 241 477 0 14 Dtool_8NZBOseE 0 0 203 14 Dtool_8NZBaeah 0 7 237 477 0 14 Dtool_8NZBaeah 0 0 204 14 Dtool_8NZBjrS_ 0 6 238 480 0 14 Dtool_8NZBjrS_ 0 1 4 this 3 567 205 14 Dtool_8NZBpo2D 0 6 239 480 0 14 Dtool_8NZBpo2D 0 1 4 this 3 567 206 14 Dtool_8NZBiUxe 0 7 244 569 0 14 Dtool_8NZBiUxe 721 // Filename: partBundleHandle.I // Created by: drose (01Oct07) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 6 bundle 1 503 207 14 Dtool_8NZB5Mw5 0 7 245 503 410 14 Dtool_8NZB5Mw5 302 //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::get_bundle // Access: Published // Description: Returns the actual PartBundle embedded within the // handle. //////////////////////////////////////////////////////////////////// 1 4 this 3 569 208 14 Dtool_8NZBBXx_ 0 4 246 473 0 14 Dtool_8NZBBXx_ 302 //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::set_bundle // Access: Published // Description: Changes the actual PartBundle embedded within the // handle. //////////////////////////////////////////////////////////////////// 2 4 this 3 569 6 bundle 1 503 209 14 Dtool_8NZBWbFa 0 7 248 562 0 14 Dtool_8NZBWbFa 991 // Filename: partBundleNode.I // Created by: drose (06Mar02) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::Constructor // Access: Public // Description: The PartBundle and its node should be constructed // together. Generally, the derived classes of // PartBundleNode will automatically create a PartBundle // of the appropriate type, and pass it up to this // constructor. //////////////////////////////////////////////////////////////////// 2 4 name 1 469 6 bundle 1 503 210 14 Dtool_8NZByDbo 0 6 249 472 0 14 Dtool_8NZByDbo 227 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_num_bundles // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 570 211 14 Dtool_8NZBibzW 0 7 250 503 410 14 Dtool_8NZBibzW 222 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_bundle // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 570 1 n 1 472 212 14 Dtool_8NZBILd9 0 7 251 569 0 14 Dtool_8NZBILd9 469 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_bundle_handle // Access: Public // Description: Returns the PartBundleHandle that wraps around the // actual nth PartBundle. While the PartBundle pointer // might later change due to a future flatten operation, // the PartBundleHandle will not. //////////////////////////////////////////////////////////////////// 2 4 this 3 570 1 n 1 472 213 14 Dtool_8NZBGgiE 0 7 252 477 0 14 Dtool_8NZBGgiE 0 0 214 14 Dtool_8NZBknU_ 0 4 171 473 0 14 Dtool_8NZBknU_ 480 //////////////////////////////////////////////////////////////////// // Function: auto_bind // Description: Walks the scene graph or subgraph beginning at the // indicated node, and attempts to bind any AnimBundles // found to their matching PartBundles, when possible. // // The list of all resulting AnimControls created is // filled into controls. //////////////////////////////////////////////////////////////////// 3 9 root_node 1 488 8 controls 1 539 21 hierarchy_match_flags 1 472 215 14 Dtool_8NZBP30i 0 4 171 473 0 14 Dtool_8NZBP30i 480 //////////////////////////////////////////////////////////////////// // Function: auto_bind // Description: Walks the scene graph or subgraph beginning at the // indicated node, and attempts to bind any AnimBundles // found to their matching PartBundles, when possible. // // The list of all resulting AnimControls created is // filled into controls. //////////////////////////////////////////////////////////////////// 2 9 root_node 1 488 8 controls 1 539 139 434 9 AnimGroup 0 26625 9 AnimGroup 9 AnimGroup 0 0 0 1 220 221 0 8 222 223 224 225 226 227 228 229 1 573 0 2 3 435 216 217 3 436 218 219 0 0 381 //////////////////////////////////////////////////////////////////// // Class : AnimGroup // Description : This is the base class for AnimChannel and // AnimBundle. It implements a hierarchy of // AnimChannels. The root of the hierarchy must be an // AnimBundle. //////////////////////////////////////////////////////////////////// 435 27 TypedWritableReferenceCount 0 2049 27 TypedWritableReferenceCount 27 TypedWritableReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 722 //////////////////////////////////////////////////////////////////// // Class : TypedWritableReferenceCount // Description : A base class for things which need to inherit from // both TypedWritable and from ReferenceCount. It's // convenient to define this intermediate base class // instead of multiply inheriting from the two classes // each time they are needed, so that we can sensibly // pass around pointers to things which are both // TypedWritables and ReferenceCounters. // // See also TypedObject for detailed instructions. //////////////////////////////////////////////////////////////////// 436 7 Namable 0 2049 7 Namable 7 Namable 0 0 0 0 0 0 0 0 0 0 0 0 324 //////////////////////////////////////////////////////////////////// // Class : Namable // Description : A base class for all things which can have a name. // The name is either empty or nonempty, but it is never // NULL. //////////////////////////////////////////////////////////////////// 437 10 AnimBundle 0 141313 10 AnimBundle 10 AnimBundle 0 0 0 1 230 235 0 4 231 232 233 234 0 0 1 0 434 0 0 0 0 369 //////////////////////////////////////////////////////////////////// // Class : AnimBundle // Description : This is the root of an AnimChannel hierarchy. It // knows the frame rate and number of frames of all the // channels in the hierarchy (which must all match). //////////////////////////////////////////////////////////////////// 438 14 AnimBundleNode 0 141313 14 AnimBundleNode 14 AnimBundleNode 0 0 0 1 236 240 0 3 237 238 239 0 0 1 0 439 0 0 0 0 373 //////////////////////////////////////////////////////////////////// // Class : AnimBundleNode // Description : This is a node that contains a pointer to an // AnimBundle. Like PartBundleNode, it exists solely to // make it easy to store AnimBundles in the scene graph. //////////////////////////////////////////////////////////////////// 439 9 PandaNode 0 2049 9 PandaNode 9 PandaNode 0 0 0 0 0 0 0 0 0 0 0 0 374 //////////////////////////////////////////////////////////////////// // Class : PandaNode // Description : A basic node of the scene graph or data graph. This // is the base class of all specialized nodes, and also // serves as a generic node with no special properties. //////////////////////////////////////////////////////////////////// 440 9 PartGroup 0 26625 9 PartGroup 9 PartGroup 0 0 0 1 245 246 0 17 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 1 574 0 2 3 435 241 242 3 436 243 244 0 1 441 290 //////////////////////////////////////////////////////////////////// // Class : PartGroup // Description : This is the base class for PartRoot and // MovingPart. It defines a hierarchy of MovingParts. //////////////////////////////////////////////////////////////////// 441 19 HierarchyMatchFlags 0 794624 30 PartGroup::HierarchyMatchFlags 30 PartGroup::HierarchyMatchFlags 440 0 0 0 0 0 0 0 0 0 3 17 HMF_ok_part_extra 28 PartGroup::HMF_ok_part_extra 1 17 HMF_ok_anim_extra 28 PartGroup::HMF_ok_anim_extra 2 22 HMF_ok_wrong_root_name 33 PartGroup::HMF_ok_wrong_root_name 4 0 218 // 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. 442 11 AnimControl 0 26625 11 AnimControl 11 AnimControl 0 0 0 0 270 0 13 271 272 273 274 275 276 277 278 279 280 281 282 283 0 0 3 3 443 264 265 3 444 266 267 3 436 268 269 0 0 487 //////////////////////////////////////////////////////////////////// // Class : AnimControl // Description : Controls the timing of a character animation. An // AnimControl object is created for each // character/bundle binding and manages the state of the // animation: whether started, stopped, or looping, and // the current frame number and play rate. //////////////////////////////////////////////////////////////////// 443 19 TypedReferenceCount 0 2049 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 710 //////////////////////////////////////////////////////////////////// // Class : TypedReferenceCount // Description : A base class for things which need to inherit from // both TypedObject and from ReferenceCount. It's // convenient to define this intermediate base class // instead of multiply inheriting from the two classes // each time they are needed, so that we can sensibly // pass around pointers to things which are both // TypedObjects and ReferenceCounters. // // See also TypedObject for detailed instructions. //////////////////////////////////////////////////////////////////// 444 13 AnimInterface 0 2049 13 AnimInterface 13 AnimInterface 0 0 0 0 0 0 0 0 0 0 0 0 464 //////////////////////////////////////////////////////////////////// // Class : AnimInterface // Description : This is the fundamental interface for things that // have a play/loop/stop type interface for frame-based // animation, such as animated characters. This is the // base class for AnimControl and other, similar // classes. //////////////////////////////////////////////////////////////////// 445 15 AnimChannelBase 0 141313 15 AnimChannelBase 15 AnimChannelBase 0 0 0 0 286 0 2 284 285 0 0 1 0 434 0 0 0 0 489 //////////////////////////////////////////////////////////////////// // Class : AnimChannelBase // Description : Parent class for all animation channels. An // AnimChannel is an arbitrary function that changes // over time (actually, over frames), usually defined by // a table read from an egg file (but possibly computed // or generated in any other way). //////////////////////////////////////////////////////////////////// 446 17 AnimChannelMatrix 0 75777 33 AnimChannel< ACMatrixSwitchType > 33 AnimChannel< ACMatrixSwitchType > 0 0 0 0 286 0 9 287 288 289 290 291 292 293 294 295 0 0 1 0 445 0 0 0 0 0 447 17 AnimChannelScalar 0 75777 33 AnimChannel< ACScalarSwitchType > 33 AnimChannel< ACScalarSwitchType > 0 0 0 0 286 0 9 296 297 298 299 300 301 302 303 304 0 0 1 0 445 0 0 0 0 0 448 24 AnimChannelMatrixDynamic 0 141313 24 AnimChannelMatrixDynamic 24 AnimChannelMatrixDynamic 0 0 0 0 310 0 5 305 306 307 308 309 0 0 1 0 446 0 0 0 0 683 //////////////////////////////////////////////////////////////////// // Class : AnimChannelMatrixDynamic // Description : An animation channel that accepts a matrix each frame // from some dynamic input provided by code. // // This object operates in two modes: in explicit mode, // the programmer should call set_value() each frame to // indicate the new value; in implicit mode, the // programmer should call set_value_node() to indicate // the node whose transform will be copied to the joint // each frame. //////////////////////////////////////////////////////////////////// 449 25 AnimChannelMatrixXfmTable 0 75777 25 AnimChannelMatrixXfmTable 25 AnimChannelMatrixXfmTable 0 0 0 1 311 286 0 7 312 313 314 315 316 317 318 0 0 1 0 446 0 0 0 0 509 //////////////////////////////////////////////////////////////////// // Class : AnimChannelMatrixXfmTable // Description : An animation channel that issues a matrix each frame, // read from a table such as might have been read from // an egg file. The table actually consists of nine // sub-tables, each representing one component of the // transform: scale, rotate, translate. //////////////////////////////////////////////////////////////////// 450 24 AnimChannelScalarDynamic 0 141313 24 AnimChannelScalarDynamic 24 AnimChannelScalarDynamic 0 0 0 0 322 0 3 319 320 321 0 0 1 0 447 0 0 0 0 686 //////////////////////////////////////////////////////////////////// // Class : AnimChannelScalarDynamic // Description : An animation channel that accepts a scalar each frame // from some dynamic input provided by code. // // This object operates in two modes: in explicit mode, // the programmer should call set_value() each frame to // indicate the new value; in implicit mode, the // programmer should call set_value_node() to indicate // the node whose X component will be copied to the // scalar each frame. //////////////////////////////////////////////////////////////////// 451 22 AnimChannelScalarTable 0 141313 22 AnimChannelScalarTable 22 AnimChannelScalarTable 0 0 0 0 328 0 5 323 324 325 326 327 0 0 1 0 447 0 0 0 0 347 //////////////////////////////////////////////////////////////////// // Class : AnimChannelScalarTable // Description : An animation channel that issues a scalar each frame, // read from a table such as might have been read from // an egg file. //////////////////////////////////////////////////////////////////// 452 21 AnimControlCollection 0 26625 21 AnimControlCollection 21 AnimControlCollection 0 0 0 1 329 330 0 21 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 2 575 576 0 0 0 0 628 //////////////////////////////////////////////////////////////////// // Class : AnimControlCollection // Description : This is a named collection of AnimControl pointers. // An AnimControl may be added to the collection by // name. While an AnimControl is associated, its // reference count is maintained; associating a new // AnimControl with the same name will decrement the // previous control's reference count (and possibly // delete it, unbinding its animation). //////////////////////////////////////////////////////////////////// 453 16 AnimPreloadTable 0 75777 16 AnimPreloadTable 16 AnimPreloadTable 0 0 0 1 352 0 0 12 353 354 355 356 357 358 359 360 361 362 363 364 0 0 1 0 454 0 0 0 0 514 //////////////////////////////////////////////////////////////////// // Class : AnimPreloadTable // Description : This table records data about a list of animations // for a particular model, such as number of frames and // frame rate. It's used for implementating // asynchronous binding. // // This table is normally built by an offline tool, such // as egg-optchar. //////////////////////////////////////////////////////////////////// 454 17 CopyOnWriteObject 0 2049 17 CopyOnWriteObject 17 CopyOnWriteObject 0 0 0 0 0 0 0 0 0 0 0 0 376 //////////////////////////////////////////////////////////////////// // Class : CopyOnWriteObject // Description : This base class provides basic reference counting, // but also can be used with a CopyOnWritePointer to // provide get_read_pointer() and get_write_pointer(). //////////////////////////////////////////////////////////////////// 455 10 PartSubset 0 141313 10 PartSubset 10 PartSubset 0 0 0 1 366 375 0 8 367 368 369 370 371 372 373 374 0 0 0 0 0 406 //////////////////////////////////////////////////////////////////// // Class : PartSubset // Description : This class is used to define a subset of part names // to apply to the PartBundle::bind_anim() operation. // Only those part names within the subset will be // included in the bind. //////////////////////////////////////////////////////////////////// 456 15 BindAnimRequest 0 141313 15 BindAnimRequest 15 BindAnimRequest 0 0 0 1 376 378 0 1 377 0 0 1 0 457 0 0 0 0 344 //////////////////////////////////////////////////////////////////// // Class : BindAnimRequest // Description : This class object manages an asynchronous // load-and-bind animation request, as issued through // PartBundle::load_bind_anim(). //////////////////////////////////////////////////////////////////// 457 16 ModelLoadRequest 0 2049 16 ModelLoadRequest 16 ModelLoadRequest 0 0 0 0 0 0 0 0 0 0 0 0 415 //////////////////////////////////////////////////////////////////// // Class : ModelLoadRequest // Description : A class object that manages a single asynchronous // model load request. Create a new ModelLoadRequest, // and add it to the loader via load_async(), to begin // an asynchronous load. //////////////////////////////////////////////////////////////////// 458 10 PartBundle 0 141313 10 PartBundle 10 PartBundle 0 0 0 1 379 410 0 30 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 1 577 0 1 0 440 0 0 0 1 459 337 //////////////////////////////////////////////////////////////////// // Class : PartBundle // Description : This is the root of a MovingPart hierarchy. It // defines the hierarchy of moving parts that make up an // animatable object. //////////////////////////////////////////////////////////////////// 459 9 BlendType 0 794624 21 PartBundle::BlendType 21 PartBundle::BlendType 458 0 0 0 0 0 0 0 0 0 4 9 BT_linear 21 PartBundle::BT_linear 0 20 BT_normalized_linear 32 PartBundle::BT_normalized_linear 1 16 BT_componentwise 28 PartBundle::BT_componentwise 2 21 BT_componentwise_quat 33 PartBundle::BT_componentwise_quat 3 0 240 // This is the parameter to set_blend_type() and specifies the kind // of blending operation to be performed when multiple controls are // in effect simultaneously (see set_control_effect()) or between // sequential frames of the animation. 460 14 MovingPartBase 0 141313 14 MovingPartBase 14 MovingPartBase 0 0 0 0 415 0 4 411 412 413 414 0 0 1 0 440 0 0 0 0 580 //////////////////////////////////////////////////////////////////// // Class : MovingPartBase // Description : This is the base class for a single animatable piece // that may be bound to one channel (or more, if // blending is in effect). It corresponds to, for // instance, a single joint or slider of a character. // // MovingPartBase does not have a particular value type. // See the derived template class, MovingPart, for this. //////////////////////////////////////////////////////////////////// 461 16 MovingPartMatrix 0 75777 16 MovingPartMatrix 16 MovingPartMatrix 0 0 0 0 419 0 1 420 0 0 1 0 462 0 0 0 0 279 //////////////////////////////////////////////////////////////////// // Class : MovingPartMatrix // Description : This is a particular kind of MovingPart that accepts // a matrix each frame. //////////////////////////////////////////////////////////////////// 462 32 MovingPart< ACMatrixSwitchType > 0 141313 32 MovingPart< ACMatrixSwitchType > 32 MovingPart< ACMatrixSwitchType > 0 0 0 0 419 0 3 416 417 418 0 0 1 0 460 0 0 0 0 0 463 16 MovingPartScalar 0 75777 16 MovingPartScalar 16 MovingPartScalar 0 0 0 0 424 0 1 425 0 0 1 0 464 0 0 0 0 279 //////////////////////////////////////////////////////////////////// // Class : MovingPartScalar // Description : This is a particular kind of MovingPart that accepts // a scalar each frame. //////////////////////////////////////////////////////////////////// 464 32 MovingPart< ACScalarSwitchType > 0 141313 32 MovingPart< ACScalarSwitchType > 32 MovingPart< ACScalarSwitchType > 0 0 0 0 424 0 3 421 422 423 0 0 1 0 460 0 0 0 0 0 465 16 PartBundleHandle 0 75777 16 PartBundleHandle 16 PartBundleHandle 0 0 0 1 426 0 0 2 427 428 0 0 1 0 466 0 0 0 0 890 //////////////////////////////////////////////////////////////////// // Class : PartBundleHandle // Description : This is a trivial class returned by // PartBundleNode::get_bundle(). Its purpose is to hold // the actual PartBundle pointer contained within the // PartBundleNode, so that scene graph flatten // operations can safely combine or duplicate // PartBundles as necessary without affecting high-level // bundle operations. // // The high-level Actor class defined in // direct/src/actor, for instance, will store a list of // PartBundleHandles instead of on actual PartBundles, // so that it will be immune to changes from these // flatten operations. //////////////////////////////////////////////////////////////////// 466 14 ReferenceCount 0 2049 14 ReferenceCount 14 ReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 425 //////////////////////////////////////////////////////////////////// // Class : ReferenceCount // Description : A base class for all things that want to be // reference-counted. ReferenceCount works in // conjunction with PointerTo to automatically delete // objects when the last pointer to them goes away. //////////////////////////////////////////////////////////////////// 467 14 PartBundleNode 0 75777 14 PartBundleNode 14 PartBundleNode 0 0 0 1 429 0 0 4 430 431 432 433 2 578 579 0 1 0 439 0 0 0 0 605 //////////////////////////////////////////////////////////////////// // Class : PartBundleNode // Description : This is a node that contains a pointer to an // PartBundle. Like AnimBundleNode, it exists to make // it easy to store PartBundles in the scene graph. // // (Unlike AnimBundleNode, however, PartBundleNode has // an additional function: it is also the base class of // the Character node type, which adds additional // functionality.) //////////////////////////////////////////////////////////////////// 468 11 AnimGroup * 0 8576 11 AnimGroup * 11 AnimGroup * 0 0 434 0 0 0 0 0 0 0 0 0 0 469 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0 470 17 AnimGroup const * 0 8576 17 AnimGroup const * 17 AnimGroup const * 0 0 471 0 0 0 0 0 0 0 0 0 0 471 15 AnimGroup const 0 8832 15 AnimGroup const 15 AnimGroup const 0 0 434 0 0 0 0 0 0 0 0 0 0 472 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 473 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0 474 9 ostream * 0 8576 9 ostream * 9 ostream * 0 0 475 0 0 0 0 0 0 0 0 0 0 475 7 ostream 0 2048 7 ostream 7 ostream 0 0 0 0 0 0 0 0 0 0 0 0 0 476 10 TypeHandle 0 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098 //////////////////////////////////////////////////////////////////// // Class : TypeHandle // Description : TypeHandle is the identifier used to differentiate // C++ class types. Any C++ classes that inherit from // some base class, and must be differentiated at run // time, should store a static TypeHandle object that // can be queried through a static member function // named get_class_type(). Most of the time, it is also // desirable to inherit from TypedObject, which provides // some virtual functions to return the TypeHandle for a // particular instance. // // At its essence, a TypeHandle is simply a unique // identifier that is assigned by the TypeRegistry. The // TypeRegistry stores a tree of TypeHandles, so that // ancestry of a particular type may be queried, and the // type name may be retrieved for run-time display. //////////////////////////////////////////////////////////////////// 477 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 476 0 0 0 0 0 0 0 0 0 0 478 29 TypedWritableReferenceCount * 0 8576 29 TypedWritableReferenceCount * 29 TypedWritableReferenceCount * 0 0 435 0 0 0 0 0 0 0 0 0 0 479 9 Namable * 0 8576 9 Namable * 9 Namable * 0 0 436 0 0 0 0 0 0 0 0 0 0 480 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 481 12 AnimBundle * 0 8576 12 AnimBundle * 12 AnimBundle * 0 0 437 0 0 0 0 0 0 0 0 0 0 482 18 AnimBundle const * 0 8576 18 AnimBundle const * 18 AnimBundle const * 0 0 483 0 0 0 0 0 0 0 0 0 0 483 16 AnimBundle const 0 8832 16 AnimBundle const 16 AnimBundle const 0 0 437 0 0 0 0 0 0 0 0 0 0 484 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0 485 16 AnimBundleNode * 0 8576 16 AnimBundleNode * 16 AnimBundleNode * 0 0 438 0 0 0 0 0 0 0 0 0 0 486 22 AnimBundleNode const * 0 8576 22 AnimBundleNode const * 22 AnimBundleNode const * 0 0 487 0 0 0 0 0 0 0 0 0 0 487 20 AnimBundleNode const 0 8832 20 AnimBundleNode const 20 AnimBundleNode const 0 0 438 0 0 0 0 0 0 0 0 0 0 488 11 PandaNode * 0 8576 11 PandaNode * 11 PandaNode * 0 0 439 0 0 0 0 0 0 0 0 0 0 489 11 PartGroup * 0 8576 11 PartGroup * 11 PartGroup * 0 0 440 0 0 0 0 0 0 0 0 0 0 490 17 PartGroup const * 0 8576 17 PartGroup const * 17 PartGroup const * 0 0 491 0 0 0 0 0 0 0 0 0 0 491 15 PartGroup const 0 8832 15 PartGroup const 15 PartGroup const 0 0 440 0 0 0 0 0 0 0 0 0 0 492 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 493 22 TransformState const * 0 8576 22 TransformState const * 22 TransformState const * 0 0 494 0 0 0 0 0 0 0 0 0 0 494 20 TransformState const 0 8832 20 TransformState const 20 TransformState const 0 0 495 0 0 0 0 0 0 0 0 0 0 495 14 TransformState 0 2048 14 TransformState 14 TransformState 0 0 0 0 0 0 0 0 0 0 0 0 1138 //////////////////////////////////////////////////////////////////// // Class : TransformState // Description : Indicates a coordinate-system transform on vertices. // TransformStates are the primary means for storing // transformations on the scene graph. // // Transforms may be specified in one of two ways: // componentwise, with a pos-hpr-scale, or with an // arbitrary transform matrix. If you specify a // transform componentwise, it will remember its // original components. // // TransformState objects are managed very much like // RenderState objects. They are immutable and // reference-counted automatically. // // You should not attempt to create or modify a // TransformState object directly. Instead, call one of // the make() functions to create one for you. And // instead of modifying a TransformState object, create a // new one. //////////////////////////////////////////////////////////////////// 496 18 LVecBase3f const * 0 8576 18 LVecBase3f const * 18 LVecBase3f const * 0 0 497 0 0 0 0 0 0 0 0 0 0 497 16 LVecBase3f const 0 8832 16 LVecBase3f const 16 LVecBase3f const 0 0 498 0 0 0 0 0 0 0 0 0 0 498 10 LVecBase3f 0 2048 10 LVecBase3f 10 LVecBase3f 0 0 0 0 0 0 0 0 0 0 0 0 754 // Filename: lvecBase3_src.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : LVecBase3 // Description : This is the base class for all three-component // vectors and points. //////////////////////////////////////////////////////////////////// 499 17 AnimChannelBase * 0 8576 17 AnimChannelBase * 17 AnimChannelBase * 0 0 445 0 0 0 0 0 0 0 0 0 0 500 19 AnimControl const * 0 8576 19 AnimControl const * 19 AnimControl const * 0 0 501 0 0 0 0 0 0 0 0 0 0 501 17 AnimControl const 0 8832 17 AnimControl const 17 AnimControl const 0 0 442 0 0 0 0 0 0 0 0 0 0 502 13 AnimControl * 0 8576 13 AnimControl * 13 AnimControl * 0 0 442 0 0 0 0 0 0 0 0 0 0 503 12 PartBundle * 0 8576 12 PartBundle * 12 PartBundle * 0 0 458 0 0 0 0 0 0 0 0 0 0 504 16 BitArray const * 0 8576 16 BitArray const * 16 BitArray const * 0 0 505 0 0 0 0 0 0 0 0 0 0 505 14 BitArray const 0 8832 14 BitArray const 14 BitArray const 0 0 506 0 0 0 0 0 0 0 0 0 0 506 8 BitArray 0 2048 8 BitArray 8 BitArray 0 0 0 0 0 0 0 0 0 0 0 0 425 //////////////////////////////////////////////////////////////////// // Class : BitArray // Description : A dynamic array with an unlimited number of bits. // // This is similar to a BitMask, except it appears to // contain an infinite number of bits. You can use it // very much as you would use a BitMask. //////////////////////////////////////////////////////////////////// 507 21 TypedReferenceCount * 0 8576 21 TypedReferenceCount * 21 TypedReferenceCount * 0 0 443 0 0 0 0 0 0 0 0 0 0 508 15 AnimInterface * 0 8576 15 AnimInterface * 15 AnimInterface * 0 0 444 0 0 0 0 0 0 0 0 0 0 509 23 AnimChannelBase const * 0 8576 23 AnimChannelBase const * 23 AnimChannelBase const * 0 0 510 0 0 0 0 0 0 0 0 0 0 510 21 AnimChannelBase const 0 8832 21 AnimChannelBase const 21 AnimChannelBase const 0 0 445 0 0 0 0 0 0 0 0 0 0 511 35 AnimChannel< ACMatrixSwitchType > * 0 8576 35 AnimChannel< ACMatrixSwitchType > * 35 AnimChannel< ACMatrixSwitchType > * 0 0 446 0 0 0 0 0 0 0 0 0 0 512 11 LMatrix4f * 0 8576 11 LMatrix4f * 11 LMatrix4f * 0 0 513 0 0 0 0 0 0 0 0 0 0 513 9 LMatrix4f 0 2048 9 LMatrix4f 9 LMatrix4f 0 0 0 0 0 0 0 3 580 581 582 0 0 0 0 215 //////////////////////////////////////////////////////////////////// // Class : LMatrix4 // Description : This is a 4-by-4 transform matrix. //////////////////////////////////////////////////////////////////// 514 12 LVecBase3f * 0 8576 12 LVecBase3f * 12 LVecBase3f * 0 0 498 0 0 0 0 0 0 0 0 0 0 515 14 LQuaternionf * 0 8576 14 LQuaternionf * 14 LQuaternionf * 0 0 516 0 0 0 0 0 0 0 0 0 0 516 12 LQuaternionf 0 2048 12 LQuaternionf 12 LQuaternionf 0 0 0 0 0 0 0 0 0 0 0 0 719 // Filename: lquaternion_src.h // Created by: frang (06Jun00) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Class : FLOATNAME(LQuaternion) // Description : This is the base quaternion class //////////////////////////////////////////////////////////////////// 517 41 AnimChannel< ACMatrixSwitchType > const * 0 8576 41 AnimChannel< ACMatrixSwitchType > const * 41 AnimChannel< ACMatrixSwitchType > const * 0 0 518 0 0 0 0 0 0 0 0 0 0 518 39 AnimChannel< ACMatrixSwitchType > const 0 8832 39 AnimChannel< ACMatrixSwitchType > const 39 AnimChannel< ACMatrixSwitchType > const 0 0 446 0 0 0 0 0 0 0 0 0 0 519 35 AnimChannel< ACScalarSwitchType > * 0 8576 35 AnimChannel< ACScalarSwitchType > * 35 AnimChannel< ACScalarSwitchType > * 0 0 447 0 0 0 0 0 0 0 0 0 0 520 41 AnimChannel< ACScalarSwitchType > const * 0 8576 41 AnimChannel< ACScalarSwitchType > const * 41 AnimChannel< ACScalarSwitchType > const * 0 0 521 0 0 0 0 0 0 0 0 0 0 521 39 AnimChannel< ACScalarSwitchType > const 0 8832 39 AnimChannel< ACScalarSwitchType > const 39 AnimChannel< ACScalarSwitchType > const 0 0 447 0 0 0 0 0 0 0 0 0 0 522 26 AnimChannelMatrixDynamic * 0 8576 26 AnimChannelMatrixDynamic * 26 AnimChannelMatrixDynamic * 0 0 448 0 0 0 0 0 0 0 0 0 0 523 17 LMatrix4f const * 0 8576 17 LMatrix4f const * 17 LMatrix4f const * 0 0 524 0 0 0 0 0 0 0 0 0 0 524 15 LMatrix4f const 0 8832 15 LMatrix4f const 15 LMatrix4f const 0 0 513 0 0 0 0 0 0 0 0 0 0 525 32 AnimChannelMatrixDynamic const * 0 8576 32 AnimChannelMatrixDynamic const * 32 AnimChannelMatrixDynamic const * 0 0 526 0 0 0 0 0 0 0 0 0 0 526 30 AnimChannelMatrixDynamic const 0 8832 30 AnimChannelMatrixDynamic const 30 AnimChannelMatrixDynamic const 0 0 448 0 0 0 0 0 0 0 0 0 0 527 27 AnimChannelMatrixXfmTable * 0 8576 27 AnimChannelMatrixXfmTable * 27 AnimChannelMatrixXfmTable * 0 0 449 0 0 0 0 0 0 0 0 0 0 528 4 char 0 8194 4 char 4 char 0 5 0 0 0 0 0 0 0 0 0 0 0 529 36 ConstPointerToArray< float > const * 0 8576 36 ConstPointerToArray< float > const * 36 ConstPointerToArray< float > const * 0 0 530 0 0 0 0 0 0 0 0 0 0 530 34 ConstPointerToArray< float > const 0 8832 34 ConstPointerToArray< float > const 34 ConstPointerToArray< float > const 0 0 531 0 0 0 0 0 0 0 0 0 0 531 10 CPTA_float 0 2048 28 ConstPointerToArray< float > 28 ConstPointerToArray< float > 0 0 0 0 0 0 0 0 0 0 0 0 0 532 33 AnimChannelMatrixXfmTable const * 0 8576 33 AnimChannelMatrixXfmTable const * 33 AnimChannelMatrixXfmTable const * 0 0 533 0 0 0 0 0 0 0 0 0 0 533 31 AnimChannelMatrixXfmTable const 0 8832 31 AnimChannelMatrixXfmTable const 31 AnimChannelMatrixXfmTable const 0 0 449 0 0 0 0 0 0 0 0 0 0 534 30 ConstPointerToArray< float > * 0 8576 30 ConstPointerToArray< float > * 30 ConstPointerToArray< float > * 0 0 531 0 0 0 0 0 0 0 0 0 0 535 26 AnimChannelScalarDynamic * 0 8576 26 AnimChannelScalarDynamic * 26 AnimChannelScalarDynamic * 0 0 450 0 0 0 0 0 0 0 0 0 0 536 24 AnimChannelScalarTable * 0 8576 24 AnimChannelScalarTable * 24 AnimChannelScalarTable * 0 0 451 0 0 0 0 0 0 0 0 0 0 537 30 AnimChannelScalarTable const * 0 8576 30 AnimChannelScalarTable const * 30 AnimChannelScalarTable const * 0 0 538 0 0 0 0 0 0 0 0 0 0 538 28 AnimChannelScalarTable const 0 8832 28 AnimChannelScalarTable const 28 AnimChannelScalarTable const 0 0 451 0 0 0 0 0 0 0 0 0 0 539 23 AnimControlCollection * 0 8576 23 AnimControlCollection * 23 AnimControlCollection * 0 0 452 0 0 0 0 0 0 0 0 0 0 540 29 AnimControlCollection const * 0 8576 29 AnimControlCollection const * 29 AnimControlCollection const * 0 0 541 0 0 0 0 0 0 0 0 0 0 541 27 AnimControlCollection const 0 8832 27 AnimControlCollection const 27 AnimControlCollection const 0 0 452 0 0 0 0 0 0 0 0 0 0 542 18 AnimPreloadTable * 0 8576 18 AnimPreloadTable * 18 AnimPreloadTable * 0 0 453 0 0 0 0 0 0 0 0 0 0 543 24 AnimPreloadTable const * 0 8576 24 AnimPreloadTable const * 24 AnimPreloadTable const * 0 0 544 0 0 0 0 0 0 0 0 0 0 544 22 AnimPreloadTable const 0 8832 22 AnimPreloadTable const 22 AnimPreloadTable const 0 0 453 0 0 0 0 0 0 0 0 0 0 545 12 PartSubset * 0 8576 12 PartSubset * 12 PartSubset * 0 0 455 0 0 0 0 0 0 0 0 0 0 546 18 PartSubset const * 0 8576 18 PartSubset const * 18 PartSubset const * 0 0 547 0 0 0 0 0 0 0 0 0 0 547 16 PartSubset const 0 8832 16 PartSubset const 16 PartSubset const 0 0 455 0 0 0 0 0 0 0 0 0 0 548 19 GlobPattern const * 0 8576 19 GlobPattern const * 19 GlobPattern const * 0 0 549 0 0 0 0 0 0 0 0 0 0 549 17 GlobPattern const 0 8832 17 GlobPattern const 17 GlobPattern const 0 0 550 0 0 0 0 0 0 0 0 0 0 550 11 GlobPattern 0 2048 11 GlobPattern 11 GlobPattern 0 0 0 0 0 0 0 0 0 0 0 0 859 //////////////////////////////////////////////////////////////////// // Class : GlobPattern // Description : This class can be used to test for string matches // against standard Unix-shell filename globbing // conventions. It serves as a portable standin for the // Posix fnmatch() call. // // A GlobPattern is given a pattern string, which can // contain operators like *, ?, and []. Then it can be // tested against any number of candidate strings; for // each candidate, it will indicate whether the string // matches the pattern or not. It can be used, for // example, to scan a directory for all files matching a // particular pattern. //////////////////////////////////////////////////////////////////// 551 16 Filename const * 0 8576 16 Filename const * 16 Filename const * 0 0 552 0 0 0 0 0 0 0 0 0 0 552 14 Filename const 0 8832 14 Filename const 14 Filename const 0 0 553 0 0 0 0 0 0 0 0 0 0 553 8 Filename 0 2048 8 Filename 8 Filename 0 0 0 0 0 0 0 0 0 0 0 0 869 //////////////////////////////////////////////////////////////////// // Class : Filename // Description : The name of a file, such as a texture file or an Egg // file. Stores the full pathname, and includes // functions for extracting out the directory prefix // part and the file extension and stuff. // // A Filename is also aware of the mapping between the // Unix-like filename convention we use internally, and // the local OS's specific filename convention, and it // knows how to perform basic OS-specific I/O, like // testing for file existence and searching a // searchpath, as well as the best way to open an // fstream for reading or writing. //////////////////////////////////////////////////////////////////// 554 21 LoaderOptions const * 0 8576 21 LoaderOptions const * 21 LoaderOptions const * 0 0 555 0 0 0 0 0 0 0 0 0 0 555 19 LoaderOptions const 0 8832 19 LoaderOptions const 19 LoaderOptions const 0 0 556 0 0 0 0 0 0 0 0 0 0 556 13 LoaderOptions 0 2048 13 LoaderOptions 13 LoaderOptions 0 0 0 0 0 0 0 0 0 0 0 0 257 //////////////////////////////////////////////////////////////////// // Class : LoaderOptions // Description : Specifies parameters that may be passed to the // loader. //////////////////////////////////////////////////////////////////// 557 8 Loader * 0 8576 8 Loader * 8 Loader * 0 0 558 0 0 0 0 0 0 0 0 0 0 558 6 Loader 0 2048 6 Loader 6 Loader 0 0 0 0 0 0 0 0 0 0 0 0 819 //////////////////////////////////////////////////////////////////// // Class : Loader // Description : A convenient class for loading models from disk, in // bam or egg format (or any of a number of other // formats implemented by a LoaderFileType, such as // ptloader). // // This class supports synchronous as well as // asynchronous loading. In asynchronous loading, the // model is loaded in the background by a thread, and an // event will be generated when the model is available. // If threading is not available, the asynchronous // loading interface may be used, but it loads // synchronously. //////////////////////////////////////////////////////////////////// 559 17 BindAnimRequest * 0 8576 17 BindAnimRequest * 17 BindAnimRequest * 0 0 456 0 0 0 0 0 0 0 0 0 0 560 18 PartBundle const * 0 8576 18 PartBundle const * 18 PartBundle const * 0 0 561 0 0 0 0 0 0 0 0 0 0 561 16 PartBundle const 0 8832 16 PartBundle const 16 PartBundle const 0 0 458 0 0 0 0 0 0 0 0 0 0 562 16 PartBundleNode * 0 8576 16 PartBundleNode * 16 PartBundleNode * 0 0 467 0 0 0 0 0 0 0 0 0 0 563 22 MovingPartBase const * 0 8576 22 MovingPartBase const * 22 MovingPartBase const * 0 0 564 0 0 0 0 0 0 0 0 0 0 564 20 MovingPartBase const 0 8832 20 MovingPartBase const 20 MovingPartBase const 0 0 460 0 0 0 0 0 0 0 0 0 0 565 40 MovingPart< ACMatrixSwitchType > const * 0 8576 40 MovingPart< ACMatrixSwitchType > const * 40 MovingPart< ACMatrixSwitchType > const * 0 0 566 0 0 0 0 0 0 0 0 0 0 566 38 MovingPart< ACMatrixSwitchType > const 0 8832 38 MovingPart< ACMatrixSwitchType > const 38 MovingPart< ACMatrixSwitchType > const 0 0 462 0 0 0 0 0 0 0 0 0 0 567 40 MovingPart< ACScalarSwitchType > const * 0 8576 40 MovingPart< ACScalarSwitchType > const * 40 MovingPart< ACScalarSwitchType > const * 0 0 568 0 0 0 0 0 0 0 0 0 0 568 38 MovingPart< ACScalarSwitchType > const 0 8832 38 MovingPart< ACScalarSwitchType > const 38 MovingPart< ACScalarSwitchType > const 0 0 464 0 0 0 0 0 0 0 0 0 0 569 18 PartBundleHandle * 0 8576 18 PartBundleHandle * 18 PartBundleHandle * 0 0 465 0 0 0 0 0 0 0 0 0 0 570 22 PartBundleNode const * 0 8576 22 PartBundleNode const * 22 PartBundleNode const * 0 0 571 0 0 0 0 0 0 0 0 0 0 571 20 PartBundleNode const 0 8832 20 PartBundleNode const 20 PartBundleNode const 0 0 467 0 0 0 0 0 0 0 0 0 0 572 6 string 0 2048 20 basic_string< char > 20 basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 573 0 0 1 12 get_children 16 get_num_children 9 get_child 574 0 0 32 12 get_children 16 get_num_children 9 get_child 575 0 0 132 9 get_anims 13 get_num_anims 8 get_anim 576 0 0 132 14 get_anim_names 13 get_num_anims 13 get_anim_name 577 0 0 188 9 get_nodes 13 get_num_nodes 8 get_node 578 0 0 247 11 get_bundles 15 get_num_bundles 10 get_bundle 579 0 0 247 18 get_bundle_handles 15 get_num_bundles 17 get_bundle_handle 580 0 0 366 8 get_rows 4 size 7 get_row 581 0 0 366 8 get_cols 4 size 7 get_col 582 0 0 366 9 get_row3s 4 size 8 get_row3