1302895895 2 2 7 libchan 4 n9gM 5 panda 216 214 37 upcast_to_TypedWritableReferenceCount 12 430 48 AnimGroup::upcast_to_TypedWritableReferenceCount 0 1 9 52 upcast from AnimGroup to TypedWritableReferenceCount 84 TypedWritableReferenceCount *AnimGroup::upcast_to_TypedWritableReferenceCount(void); 215 21 downcast_to_AnimGroup 12 431 50 TypedWritableReferenceCount::downcast_to_AnimGroup 0 1 10 54 downcast from TypedWritableReferenceCount to AnimGroup 68 AnimGroup *TypedWritableReferenceCount::downcast_to_AnimGroup(void); 216 17 upcast_to_Namable 12 430 28 AnimGroup::upcast_to_Namable 0 1 11 32 upcast from AnimGroup to Namable 44 Namable *AnimGroup::upcast_to_Namable(void); 217 21 downcast_to_AnimGroup 12 432 30 Namable::downcast_to_AnimGroup 0 1 12 34 downcast from Namable to AnimGroup 48 AnimGroup *Namable::downcast_to_AnimGroup(void); 218 9 AnimGroup 4 430 20 AnimGroup::AnimGroup 0 1 1 1389 // 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: Public // 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); 219 10 ~AnimGroup 4 430 21 AnimGroup::~AnimGroup 0 0 273 // This is the normal AnimGroup constructor. //////////////////////////////////////////////////////////////////// // Function: AnimGroup::Destructor // Access: Public, Virtual // Description: //////////////////////////////////////////////////////////////////// 36 virtual AnimGroup::~AnimGroup(void); 220 16 get_num_children 4 430 27 AnimGroup::get_num_children 0 1 2 271 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_num_children // Access: Public // Description: Returns the number of child nodes of the group. //////////////////////////////////////////////////////////////////// 44 int AnimGroup::get_num_children(void) const; 221 9 get_child 4 430 20 AnimGroup::get_child 0 1 3 252 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_child // Access: Public // Description: Returns the nth child of the group. //////////////////////////////////////////////////////////////////// 45 AnimGroup *AnimGroup::get_child(int n) const; 222 15 get_child_named 4 430 26 AnimGroup::get_child_named 0 1 4 521 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_child_named // Access: Public // 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; 223 10 find_child 4 430 21 AnimGroup::find_child 0 1 5 462 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::find_child // Access: Public // 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; 224 6 output 4 430 17 AnimGroup::output 0 1 6 266 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::output // Access: Public, Virtual // Description: Writes a one-line description of the group. //////////////////////////////////////////////////////////////////// 51 virtual void AnimGroup::output(ostream &out) const; 225 5 write 4 430 16 AnimGroup::write 0 1 7 306 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::write // Access: Public, 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; 226 14 get_class_type 4 430 25 AnimGroup::get_class_type 0 1 8 0 50 static TypeHandle AnimGroup::get_class_type(void); 227 10 AnimBundle 4 433 22 AnimBundle::AnimBundle 0 1 13 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); 228 11 copy_bundle 4 433 23 AnimBundle::copy_bundle 0 1 14 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; 229 19 get_base_frame_rate 4 433 31 AnimBundle::get_base_frame_rate 0 1 15 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; 230 14 get_num_frames 4 433 26 AnimBundle::get_num_frames 0 1 16 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; 231 14 get_class_type 4 433 26 AnimBundle::get_class_type 0 1 17 0 51 static TypeHandle AnimBundle::get_class_type(void); 232 11 ~AnimBundle 4 433 23 AnimBundle::~AnimBundle 0 0 0 30 AnimBundle::~AnimBundle(void); 233 14 AnimBundleNode 4 434 30 AnimBundleNode::AnimBundleNode 0 1 18 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); 234 10 get_bundle 4 434 26 AnimBundleNode::get_bundle 0 1 19 222 //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::get_bundle // Access: Public // Description: //////////////////////////////////////////////////////////////////// 58 inline AnimBundle *AnimBundleNode::get_bundle(void) const; 235 16 find_anim_bundle 4 434 32 AnimBundleNode::find_anim_bundle 0 1 20 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); 236 14 get_class_type 4 434 30 AnimBundleNode::get_class_type 0 1 21 0 55 static TypeHandle AnimBundleNode::get_class_type(void); 237 15 ~AnimBundleNode 4 434 31 AnimBundleNode::~AnimBundleNode 0 0 0 38 AnimBundleNode::~AnimBundleNode(void); 238 37 upcast_to_TypedWritableReferenceCount 12 436 48 PartGroup::upcast_to_TypedWritableReferenceCount 0 1 39 52 upcast from PartGroup to TypedWritableReferenceCount 84 TypedWritableReferenceCount *PartGroup::upcast_to_TypedWritableReferenceCount(void); 239 21 downcast_to_PartGroup 12 431 50 TypedWritableReferenceCount::downcast_to_PartGroup 0 1 40 54 downcast from TypedWritableReferenceCount to PartGroup 68 PartGroup *TypedWritableReferenceCount::downcast_to_PartGroup(void); 240 17 upcast_to_Namable 12 436 28 PartGroup::upcast_to_Namable 0 1 41 32 upcast from PartGroup to Namable 44 Namable *PartGroup::upcast_to_Namable(void); 241 21 downcast_to_PartGroup 12 432 30 Namable::downcast_to_PartGroup 0 1 42 34 downcast from Namable to PartGroup 48 PartGroup *Namable::downcast_to_PartGroup(void); 242 9 PartGroup 4 436 20 PartGroup::PartGroup 0 1 22 1724 // 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: Public // 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); 243 10 ~PartGroup 4 436 21 PartGroup::~PartGroup 0 0 263 // This is the normal PartGroup constructor. //////////////////////////////////////////////////////////////////// // Function: PartGroup::Destructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 36 virtual PartGroup::~PartGroup(void); 244 18 is_character_joint 4 436 29 PartGroup::is_character_joint 0 1 23 411 //////////////////////////////////////////////////////////////////// // Function: PartGroup::is_character_joint // Access: Public, 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; 245 9 make_copy 4 436 20 PartGroup::make_copy 0 1 24 338 //////////////////////////////////////////////////////////////////// // Function: PartGroup::make_copy // Access: Public, 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; 246 13 copy_subgraph 4 436 24 PartGroup::copy_subgraph 0 1 25 311 //////////////////////////////////////////////////////////////////// // Function: PartGroup::copy_subgraph // Access: Public // Description: Allocates and returns a new copy of this node and of // all of its children. //////////////////////////////////////////////////////////////////// 48 PartGroup *PartGroup::copy_subgraph(void) const; 247 16 get_num_children 4 436 27 PartGroup::get_num_children 0 1 26 271 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_num_children // Access: Public // Description: Returns the number of child nodes of the group. //////////////////////////////////////////////////////////////////// 44 int PartGroup::get_num_children(void) const; 248 9 get_child 4 436 20 PartGroup::get_child 0 1 27 252 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_child // Access: Public // Description: Returns the nth child of the group. //////////////////////////////////////////////////////////////////// 45 PartGroup *PartGroup::get_child(int n) const; 249 15 get_child_named 4 436 26 PartGroup::get_child_named 0 1 28 521 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_child_named // Access: Public // 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; 250 10 find_child 4 436 21 PartGroup::find_child 0 1 29 462 //////////////////////////////////////////////////////////////////// // Function: PartGroup::find_child // Access: Public // 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; 251 12 apply_freeze 4 436 23 PartGroup::apply_freeze 0 1 30 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); 252 19 apply_freeze_matrix 4 436 30 PartGroup::apply_freeze_matrix 0 1 31 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); 253 19 apply_freeze_scalar 4 436 30 PartGroup::apply_freeze_scalar 0 1 32 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); 254 13 apply_control 4 436 24 PartGroup::apply_control 0 1 33 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); 255 20 clear_forced_channel 4 436 31 PartGroup::clear_forced_channel 0 1 34 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); 256 18 get_forced_channel 4 436 29 PartGroup::get_forced_channel 0 1 35 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; 257 5 write 4 436 16 PartGroup::write 0 1 36 306 //////////////////////////////////////////////////////////////////// // Function: PartGroup::write // Access: Public, 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; 258 16 write_with_value 4 436 27 PartGroup::write_with_value 0 1 37 353 //////////////////////////////////////////////////////////////////// // Function: PartGroup::write_with_value // Access: Public, 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; 259 14 get_class_type 4 436 25 PartGroup::get_class_type 0 1 38 0 50 static TypeHandle PartGroup::get_class_type(void); 260 29 upcast_to_TypedReferenceCount 12 437 42 AnimControl::upcast_to_TypedReferenceCount 0 1 56 46 upcast from AnimControl to TypedReferenceCount 70 TypedReferenceCount *AnimControl::upcast_to_TypedReferenceCount(void); 261 23 downcast_to_AnimControl 12 438 44 TypedReferenceCount::downcast_to_AnimControl 0 1 57 48 downcast from TypedReferenceCount to AnimControl 64 AnimControl *TypedReferenceCount::downcast_to_AnimControl(void); 262 23 upcast_to_AnimInterface 12 437 36 AnimControl::upcast_to_AnimInterface 0 1 58 40 upcast from AnimControl to AnimInterface 58 AnimInterface *AnimControl::upcast_to_AnimInterface(void); 263 23 downcast_to_AnimControl 12 439 38 AnimInterface::downcast_to_AnimControl 0 1 59 42 downcast from AnimInterface to AnimControl 58 AnimControl *AnimInterface::downcast_to_AnimControl(void); 264 17 upcast_to_Namable 12 437 30 AnimControl::upcast_to_Namable 0 1 60 34 upcast from AnimControl to Namable 46 Namable *AnimControl::upcast_to_Namable(void); 265 23 downcast_to_AnimControl 12 432 32 Namable::downcast_to_AnimControl 0 1 61 36 downcast from Namable to AnimControl 52 AnimControl *Namable::downcast_to_AnimControl(void); 266 12 ~AnimControl 4 437 25 AnimControl::~AnimControl 0 0 231 //////////////////////////////////////////////////////////////////// // Function: AnimControl::Destructor // Access: Published, Virtual // Description: //////////////////////////////////////////////////////////////////// 40 virtual AnimControl::~AnimControl(void); 267 10 is_pending 4 437 23 AnimControl::is_pending 0 1 43 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; 268 12 wait_pending 4 437 25 AnimControl::wait_pending 0 1 44 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); 269 8 has_anim 4 437 21 AnimControl::has_anim 0 1 45 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; 270 22 set_pending_done_event 4 437 35 AnimControl::set_pending_done_event 0 1 46 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); 271 22 get_pending_done_event 4 437 35 AnimControl::get_pending_done_event 0 1 47 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; 272 8 get_part 4 437 21 AnimControl::get_part 0 1 48 292 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_part // Access: Published // Description: Returns the PartBundle bound in with this // AnimControl. //////////////////////////////////////////////////////////////////// 46 PartBundle *AnimControl::get_part(void) const; 273 8 get_anim 4 437 21 AnimControl::get_anim 0 1 49 292 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_anim // Access: Published // Description: Returns the AnimBundle bound in with this // AnimControl. //////////////////////////////////////////////////////////////////// 53 inline AnimBundle *AnimControl::get_anim(void) const; 274 17 get_channel_index 4 437 30 AnimControl::get_channel_index 0 1 50 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; 275 16 get_bound_joints 4 437 29 AnimControl::get_bound_joints 0 1 51 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; 276 14 set_anim_model 4 437 27 AnimControl::set_anim_model 0 1 52 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); 277 14 get_anim_model 4 437 27 AnimControl::get_anim_model 0 1 53 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; 278 6 output 4 437 19 AnimControl::output 0 1 54 218 //////////////////////////////////////////////////////////////////// // Function: AnimControl::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 53 virtual void AnimControl::output(ostream &out) const; 279 14 get_class_type 4 437 27 AnimControl::get_class_type 0 1 55 0 52 static TypeHandle AnimControl::get_class_type(void); 280 8 get_type 4 440 25 AnimChannelBase::get_type 0 1 62 0 57 virtual TypeHandle AnimChannelBase::get_type(void) const; 281 14 get_class_type 4 440 31 AnimChannelBase::get_class_type 0 1 63 0 56 static TypeHandle AnimChannelBase::get_class_type(void); 282 16 ~AnimChannelBase 4 440 33 AnimChannelBase::~AnimChannelBase 0 0 0 40 AnimChannelBase::~AnimChannelBase(void); 283 9 get_value 4 441 44 AnimChannel< ACMatrixSwitchType >::get_value 0 1 64 0 93 virtual void ::AnimChannel< ACMatrixSwitchType >::get_value(int frame, LMatrix4f &value) = 0; 284 24 get_value_no_scale_shear 4 441 59 AnimChannel< ACMatrixSwitchType >::get_value_no_scale_shear 0 1 65 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); 285 9 get_scale 4 441 44 AnimChannel< ACMatrixSwitchType >::get_scale 0 1 66 72 // These transform-component methods only have meaning for matrix types. 90 virtual void ::AnimChannel< ACMatrixSwitchType >::get_scale(int frame, LVecBase3f &scale); 286 7 get_hpr 4 441 42 AnimChannel< ACMatrixSwitchType >::get_hpr 0 1 67 0 86 virtual void ::AnimChannel< ACMatrixSwitchType >::get_hpr(int frame, LVecBase3f &hpr); 287 8 get_quat 4 441 43 AnimChannel< ACMatrixSwitchType >::get_quat 0 1 68 0 90 virtual void ::AnimChannel< ACMatrixSwitchType >::get_quat(int frame, LQuaternionf &quat); 288 7 get_pos 4 441 42 AnimChannel< ACMatrixSwitchType >::get_pos 0 1 69 0 86 virtual void ::AnimChannel< ACMatrixSwitchType >::get_pos(int frame, LVecBase3f &pos); 289 9 get_shear 4 441 44 AnimChannel< ACMatrixSwitchType >::get_shear 0 1 70 0 90 virtual void ::AnimChannel< ACMatrixSwitchType >::get_shear(int frame, LVecBase3f &shear); 290 14 get_value_type 4 441 49 AnimChannel< ACMatrixSwitchType >::get_value_type 0 1 71 0 83 virtual TypeHandle ::AnimChannel< ACMatrixSwitchType >::get_value_type(void) const; 291 14 get_class_type 4 441 49 AnimChannel< ACMatrixSwitchType >::get_class_type 0 1 72 0 76 static TypeHandle ::AnimChannel< ACMatrixSwitchType >::get_class_type(void); 292 9 get_value 4 442 44 AnimChannel< ACScalarSwitchType >::get_value 0 0 0 89 virtual void ::AnimChannel< ACScalarSwitchType >::get_value(int frame, float &value) = 0; 293 24 get_value_no_scale_shear 4 442 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); 294 9 get_scale 4 442 44 AnimChannel< ACScalarSwitchType >::get_scale 0 1 73 72 // These transform-component methods only have meaning for matrix types. 90 virtual void ::AnimChannel< ACScalarSwitchType >::get_scale(int frame, LVecBase3f &scale); 295 7 get_hpr 4 442 42 AnimChannel< ACScalarSwitchType >::get_hpr 0 1 74 0 86 virtual void ::AnimChannel< ACScalarSwitchType >::get_hpr(int frame, LVecBase3f &hpr); 296 8 get_quat 4 442 43 AnimChannel< ACScalarSwitchType >::get_quat 0 1 75 0 90 virtual void ::AnimChannel< ACScalarSwitchType >::get_quat(int frame, LQuaternionf &quat); 297 7 get_pos 4 442 42 AnimChannel< ACScalarSwitchType >::get_pos 0 1 76 0 86 virtual void ::AnimChannel< ACScalarSwitchType >::get_pos(int frame, LVecBase3f &pos); 298 9 get_shear 4 442 44 AnimChannel< ACScalarSwitchType >::get_shear 0 1 77 0 90 virtual void ::AnimChannel< ACScalarSwitchType >::get_shear(int frame, LVecBase3f &shear); 299 14 get_value_type 4 442 49 AnimChannel< ACScalarSwitchType >::get_value_type 0 1 78 0 83 virtual TypeHandle ::AnimChannel< ACScalarSwitchType >::get_value_type(void) const; 300 14 get_class_type 4 442 49 AnimChannel< ACScalarSwitchType >::get_class_type 0 1 79 0 76 static TypeHandle ::AnimChannel< ACScalarSwitchType >::get_class_type(void); 301 9 set_value 4 443 35 AnimChannelMatrixDynamic::set_value 0 2 80 81 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); 302 14 set_value_node 4 443 40 AnimChannelMatrixDynamic::set_value_node 0 1 82 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); 303 19 get_value_transform 4 443 45 AnimChannelMatrixDynamic::get_value_transform 0 1 83 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; 304 14 get_value_node 4 443 40 AnimChannelMatrixDynamic::get_value_node 0 1 84 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; 305 14 get_class_type 4 443 40 AnimChannelMatrixDynamic::get_class_type 0 1 85 0 65 static TypeHandle AnimChannelMatrixDynamic::get_class_type(void); 306 25 ~AnimChannelMatrixDynamic 4 443 51 AnimChannelMatrixDynamic::~AnimChannelMatrixDynamic 0 0 0 58 AnimChannelMatrixDynamic::~AnimChannelMatrixDynamic(void); 307 25 AnimChannelMatrixXfmTable 4 444 52 AnimChannelMatrixXfmTable::AnimChannelMatrixXfmTable 0 1 86 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); 308 11 is_valid_id 4 444 38 AnimChannelMatrixXfmTable::is_valid_id 0 1 87 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); 309 9 set_table 4 444 36 AnimChannelMatrixXfmTable::set_table 0 1 88 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); 310 9 get_table 4 444 36 AnimChannelMatrixXfmTable::get_table 0 1 89 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; 311 16 clear_all_tables 4 444 43 AnimChannelMatrixXfmTable::clear_all_tables 0 1 90 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); 312 9 has_table 4 444 36 AnimChannelMatrixXfmTable::has_table 0 1 91 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; 313 11 clear_table 4 444 38 AnimChannelMatrixXfmTable::clear_table 0 1 92 286 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::clear_table // Access: Published // Description: Removes the indicated table from the definition. //////////////////////////////////////////////////////////////////// 66 inline void AnimChannelMatrixXfmTable::clear_table(char table_id); 314 14 get_class_type 4 444 41 AnimChannelMatrixXfmTable::get_class_type 0 1 93 0 66 static TypeHandle AnimChannelMatrixXfmTable::get_class_type(void); 315 9 set_value 4 445 35 AnimChannelScalarDynamic::set_value 0 1 94 261 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarDynamic::set_value // Access: Published // Description: Explicitly sets the value. //////////////////////////////////////////////////////////////////// 54 void AnimChannelScalarDynamic::set_value(float value); 316 14 set_value_node 4 445 40 AnimChannelScalarDynamic::set_value_node 0 1 95 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); 317 14 get_class_type 4 445 40 AnimChannelScalarDynamic::get_class_type 0 1 96 0 65 static TypeHandle AnimChannelScalarDynamic::get_class_type(void); 318 25 ~AnimChannelScalarDynamic 4 445 51 AnimChannelScalarDynamic::~AnimChannelScalarDynamic 0 0 0 58 AnimChannelScalarDynamic::~AnimChannelScalarDynamic(void); 319 9 set_table 4 446 33 AnimChannelScalarTable::set_table 0 1 97 253 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::set_table // Access: Public // Description: Assigns the data table. //////////////////////////////////////////////////////////////////// 82 void AnimChannelScalarTable::set_table(ConstPointerToArray< float > const &table); 320 9 get_table 4 446 33 AnimChannelScalarTable::get_table 0 1 98 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; 321 9 has_table 4 446 33 AnimChannelScalarTable::has_table 0 1 99 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; 322 11 clear_table 4 446 35 AnimChannelScalarTable::clear_table 0 1 100 258 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::clear_table // Access: Published // Description: Empties the data table. //////////////////////////////////////////////////////////////////// 54 inline void AnimChannelScalarTable::clear_table(void); 323 14 get_class_type 4 446 38 AnimChannelScalarTable::get_class_type 0 1 101 0 63 static TypeHandle AnimChannelScalarTable::get_class_type(void); 324 23 ~AnimChannelScalarTable 4 446 47 AnimChannelScalarTable::~AnimChannelScalarTable 0 0 0 54 AnimChannelScalarTable::~AnimChannelScalarTable(void); 325 21 AnimControlCollection 4 447 44 AnimControlCollection::AnimControlCollection 0 1 102 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); 326 22 ~AnimControlCollection 4 447 45 AnimControlCollection::~AnimControlCollection 0 0 232 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::Destructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 AnimControlCollection::~AnimControlCollection(void); 327 10 store_anim 4 447 33 AnimControlCollection::store_anim 0 1 103 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); 328 9 find_anim 4 447 32 AnimControlCollection::find_anim 0 1 104 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; 329 11 unbind_anim 4 447 34 AnimControlCollection::unbind_anim 0 1 105 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); 330 13 get_num_anims 4 447 36 AnimControlCollection::get_num_anims 0 1 106 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; 331 8 get_anim 4 447 31 AnimControlCollection::get_anim 0 1 107 308 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_anim // Access: Published // Description: Returns the nth AnimControl associated with // this collection. //////////////////////////////////////////////////////////////////// 58 AnimControl *AnimControlCollection::get_anim(int n) const; 332 13 get_anim_name 4 447 36 AnimControlCollection::get_anim_name 0 1 108 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; 333 11 clear_anims 4 447 34 AnimControlCollection::clear_anims 0 1 109 279 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::clear_anims // Access: Published // Description: Disassociates all anims from this collection. //////////////////////////////////////////////////////////////////// 46 void AnimControlCollection::clear_anims(void); 334 4 play 4 447 27 AnimControlCollection::play 0 2 110 111 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); 335 4 loop 4 447 27 AnimControlCollection::loop 0 2 112 113 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); 336 4 stop 4 447 27 AnimControlCollection::stop 0 1 114 250 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::stop // Access: Public // Description: Stops the named animation. //////////////////////////////////////////////////////////////////// 79 inline bool AnimControlCollection::stop(basic_string< char > const &anim_name); 337 4 pose 4 447 27 AnimControlCollection::pose 0 1 115 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); 338 8 play_all 4 447 31 AnimControlCollection::play_all 0 2 116 117 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); 339 8 loop_all 4 447 31 AnimControlCollection::loop_all 0 2 118 119 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); 340 8 stop_all 4 447 31 AnimControlCollection::stop_all 0 1 120 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); 341 8 pose_all 4 447 31 AnimControlCollection::pose_all 0 1 121 274 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::pose_all // Access: Published // Description: Sets all animations to the indicated frame. //////////////////////////////////////////////////////////////////// 48 void AnimControlCollection::pose_all(int frame); 342 9 get_frame 4 447 32 AnimControlCollection::get_frame 0 2 122 123 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; 343 14 get_num_frames 4 447 37 AnimControlCollection::get_num_frames 0 2 124 125 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; 344 10 is_playing 4 447 33 AnimControlCollection::is_playing 0 2 126 127 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; 345 18 which_anim_playing 4 447 41 AnimControlCollection::which_anim_playing 0 1 128 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; 346 6 output 4 447 29 AnimControlCollection::output 0 1 129 229 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 55 void AnimControlCollection::output(ostream &out) const; 347 5 write 4 447 28 AnimControlCollection::write 0 1 130 228 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 54 void AnimControlCollection::write(ostream &out) const; 348 16 AnimPreloadTable 4 448 34 AnimPreloadTable::AnimPreloadTable 0 1 131 229 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 41 AnimPreloadTable::AnimPreloadTable(void); 349 13 get_num_anims 4 448 31 AnimPreloadTable::get_num_anims 0 1 132 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; 350 9 find_anim 4 448 27 AnimPreloadTable::find_anim 0 1 133 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; 351 12 get_basename 4 448 30 AnimPreloadTable::get_basename 0 1 134 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; 352 19 get_base_frame_rate 4 448 37 AnimPreloadTable::get_base_frame_rate 0 1 135 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; 353 14 get_num_frames 4 448 32 AnimPreloadTable::get_num_frames 0 1 136 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; 354 11 clear_anims 4 448 29 AnimPreloadTable::clear_anims 0 1 137 274 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::clear_anims // Access: Published // Description: Removes all animation records from the table. //////////////////////////////////////////////////////////////////// 41 void AnimPreloadTable::clear_anims(void); 355 11 remove_anim 4 448 29 AnimPreloadTable::remove_anim 0 1 138 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); 356 8 add_anim 4 448 26 AnimPreloadTable::add_anim 0 1 139 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); 357 14 add_anims_from 4 448 32 AnimPreloadTable::add_anims_from 0 1 140 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); 358 6 output 4 448 24 AnimPreloadTable::output 0 1 141 224 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 58 virtual void AnimPreloadTable::output(ostream &out) const; 359 5 write 4 448 23 AnimPreloadTable::write 0 1 142 223 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 75 virtual void AnimPreloadTable::write(ostream &out, int indent_level) const; 360 14 get_class_type 4 448 32 AnimPreloadTable::get_class_type 0 1 143 0 57 static TypeHandle AnimPreloadTable::get_class_type(void); 361 9 auto_bind 1 0 9 auto_bind 0 2 212 213 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)); 362 10 PartSubset 4 450 22 PartSubset::PartSubset 0 2 144 145 453 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PartSubset::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 77 PartSubset::PartSubset(void); PartSubset::PartSubset(PartSubset const ©); 363 10 operator = 4 450 22 PartSubset::operator = 0 1 146 236 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 52 void PartSubset::operator =(PartSubset const ©); 364 17 add_include_joint 4 450 29 PartSubset::add_include_joint 0 1 147 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); 365 17 add_exclude_joint 4 450 29 PartSubset::add_exclude_joint 0 1 148 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); 366 6 append 4 450 18 PartSubset::append 0 1 149 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); 367 6 output 4 450 18 PartSubset::output 0 1 150 218 //////////////////////////////////////////////////////////////////// // Function: PartSubset::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 44 void PartSubset::output(ostream &out) const; 368 16 is_include_empty 4 450 28 PartSubset::is_include_empty 0 1 151 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; 369 15 matches_include 4 450 27 PartSubset::matches_include 0 1 152 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; 370 15 matches_exclude 4 450 27 PartSubset::matches_exclude 0 1 153 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; 371 11 ~PartSubset 4 450 23 PartSubset::~PartSubset 0 0 0 30 PartSubset::~PartSubset(void); 372 15 BindAnimRequest 4 451 32 BindAnimRequest::BindAnimRequest 0 1 154 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); 373 14 get_class_type 4 451 31 BindAnimRequest::get_class_type 0 1 155 0 56 static TypeHandle BindAnimRequest::get_class_type(void); 374 16 ~BindAnimRequest 4 451 33 BindAnimRequest::~BindAnimRequest 0 0 0 40 BindAnimRequest::~BindAnimRequest(void); 375 10 PartBundle 4 453 22 PartBundle::PartBundle 0 2 156 157 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 = ("")); 376 16 get_anim_preload 4 453 28 PartBundle::get_anim_preload 0 1 158 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; 377 19 modify_anim_preload 4 453 31 PartBundle::modify_anim_preload 0 1 159 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); 378 16 set_anim_preload 4 453 28 PartBundle::set_anim_preload 0 1 160 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); 379 18 clear_anim_preload 4 453 30 PartBundle::clear_anim_preload 0 1 161 307 //////////////////////////////////////////////////////////////////// // Function: PartBundle::clear_anim_preload // Access: Published // Description: Removes any AnimPreloadTable associated with // the PartBundle. //////////////////////////////////////////////////////////////////// 49 inline void PartBundle::clear_anim_preload(void); 380 19 merge_anim_preloads 4 453 31 PartBundle::merge_anim_preloads 0 1 162 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); 381 14 set_blend_type 4 453 26 PartBundle::set_blend_type 0 1 163 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); 382 14 get_blend_type 4 453 26 PartBundle::get_blend_type 0 1 164 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; 383 19 set_anim_blend_flag 4 453 31 PartBundle::set_anim_blend_flag 0 1 165 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); 384 19 get_anim_blend_flag 4 453 31 PartBundle::get_anim_blend_flag 0 1 166 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; 385 20 set_frame_blend_flag 4 453 32 PartBundle::set_frame_blend_flag 0 1 167 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); 386 20 get_frame_blend_flag 4 453 32 PartBundle::get_frame_blend_flag 0 1 168 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; 387 14 set_root_xform 4 453 26 PartBundle::set_root_xform 0 1 169 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); 388 5 xform 4 453 17 PartBundle::xform 0 1 170 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); 389 14 get_root_xform 4 453 26 PartBundle::get_root_xform 0 1 171 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; 390 15 apply_transform 4 453 27 PartBundle::apply_transform 0 1 172 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); 391 13 get_num_nodes 4 453 25 PartBundle::get_num_nodes 0 1 173 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; 392 8 get_node 4 453 20 PartBundle::get_node 0 1 174 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; 393 21 clear_control_effects 4 453 33 PartBundle::clear_control_effects 0 1 175 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); 394 18 set_control_effect 4 453 30 PartBundle::set_control_effect 0 1 176 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); 395 18 get_control_effect 4 453 30 PartBundle::get_control_effect 0 1 177 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; 396 6 output 4 453 18 PartBundle::output 0 1 178 271 //////////////////////////////////////////////////////////////////// // Function: PartBundle::output // Access: Published, Virtual // Description: Writes a one-line description of the bundle. //////////////////////////////////////////////////////////////////// 52 virtual void PartBundle::output(ostream &out) const; 397 9 bind_anim 4 453 21 PartBundle::bind_anim 0 3 179 180 181 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 = ((()))); 398 14 load_bind_anim 4 453 26 PartBundle::load_bind_anim 0 1 182 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); 399 12 wait_pending 4 453 24 PartBundle::wait_pending 0 1 183 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); 400 12 freeze_joint 4 453 24 PartBundle::freeze_joint 0 3 184 185 186 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); 401 13 control_joint 4 453 25 PartBundle::control_joint 0 1 187 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); 402 13 release_joint 4 453 25 PartBundle::release_joint 0 1 188 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); 403 6 update 4 453 18 PartBundle::update 0 1 189 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); 404 12 force_update 4 453 24 PartBundle::force_update 0 1 190 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); 405 14 get_class_type 4 453 26 PartBundle::get_class_type 0 1 191 0 51 static TypeHandle PartBundle::get_class_type(void); 406 11 ~PartBundle 4 453 23 PartBundle::~PartBundle 0 0 0 30 PartBundle::~PartBundle(void); 407 16 PartBundleHandle 4 455 34 PartBundleHandle::PartBundleHandle 0 1 192 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); 408 10 get_bundle 4 455 28 PartBundleHandle::get_bundle 0 1 193 302 //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::get_bundle // Access: Published // Description: Returns the actual PartBundle embedded within the // handle. //////////////////////////////////////////////////////////////////// 54 inline PartBundle *PartBundleHandle::get_bundle(void); 409 10 set_bundle 4 455 28 PartBundleHandle::set_bundle 0 1 194 302 //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::set_bundle // Access: Published // Description: Changes the actual PartBundle embedded within the // handle. //////////////////////////////////////////////////////////////////// 61 inline void PartBundleHandle::set_bundle(PartBundle *bundle); 410 14 PartBundleNode 4 457 30 PartBundleNode::PartBundleNode 0 1 195 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); 411 15 get_num_bundles 4 457 31 PartBundleNode::get_num_bundles 0 1 196 227 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_num_bundles // Access: Public // Description: //////////////////////////////////////////////////////////////////// 55 inline int PartBundleNode::get_num_bundles(void) const; 412 10 get_bundle 4 457 26 PartBundleNode::get_bundle 0 1 197 222 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_bundle // Access: Public // Description: //////////////////////////////////////////////////////////////////// 59 inline PartBundle *PartBundleNode::get_bundle(int n) const; 413 17 get_bundle_handle 4 457 33 PartBundleNode::get_bundle_handle 0 1 198 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; 414 14 get_class_type 4 457 30 PartBundleNode::get_class_type 0 1 199 0 55 static TypeHandle PartBundleNode::get_class_type(void); 415 13 get_max_bound 4 458 29 MovingPartBase::get_max_bound 0 1 200 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; 416 9 get_bound 4 458 25 MovingPartBase::get_bound 0 1 201 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; 417 12 output_value 4 458 28 MovingPartBase::output_value 0 1 202 0 66 virtual void MovingPartBase::output_value(ostream &out) const = 0; 418 14 get_class_type 4 458 30 MovingPartBase::get_class_type 0 1 203 0 55 static TypeHandle MovingPartBase::get_class_type(void); 419 15 ~MovingPartBase 4 458 31 MovingPartBase::~MovingPartBase 0 0 0 38 MovingPartBase::~MovingPartBase(void); 420 14 get_class_type 4 460 48 MovingPart< ACMatrixSwitchType >::get_class_type 0 1 205 0 75 static TypeHandle ::MovingPart< ACMatrixSwitchType >::get_class_type(void); 421 9 get_value 4 460 43 MovingPart< ACMatrixSwitchType >::get_value 0 1 206 0 75 inline LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_value(void) const; 422 17 get_default_value 4 460 51 MovingPart< ACMatrixSwitchType >::get_default_value 0 1 207 0 83 inline LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_default_value(void) const; 423 11 ~MovingPart 4 460 45 MovingPart< ACMatrixSwitchType >::~MovingPart 0 0 0 54 ::MovingPart< ACMatrixSwitchType >::~MovingPart(void); 424 14 get_class_type 4 459 32 MovingPartMatrix::get_class_type 0 1 204 0 57 static TypeHandle MovingPartMatrix::get_class_type(void); 425 14 get_class_type 4 462 48 MovingPart< ACScalarSwitchType >::get_class_type 0 1 209 0 75 static TypeHandle ::MovingPart< ACScalarSwitchType >::get_class_type(void); 426 9 get_value 4 462 43 MovingPart< ACScalarSwitchType >::get_value 0 1 210 0 71 inline float ::MovingPart< ACScalarSwitchType >::get_value(void) const; 427 17 get_default_value 4 462 51 MovingPart< ACScalarSwitchType >::get_default_value 0 1 211 0 79 inline float ::MovingPart< ACScalarSwitchType >::get_default_value(void) const; 428 11 ~MovingPart 4 462 45 MovingPart< ACScalarSwitchType >::~MovingPart 0 0 0 54 ::MovingPart< ACScalarSwitchType >::~MovingPart(void); 429 14 get_class_type 4 461 32 MovingPartScalar::get_class_type 0 1 208 0 57 static TypeHandle MovingPartScalar::get_class_type(void); 213 1 14 Dtool_n9gMvzKt 7 8 463 219 14 Dtool_n9gMvzKt 387 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::Constructor // Access: Public // 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 463 4 name 1 464 2 14 Dtool_n9gMW3b6 6 10 467 0 14 Dtool_n9gMW3b6 271 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_num_children // Access: Public // Description: Returns the number of child nodes of the group. //////////////////////////////////////////////////////////////////// 1 4 this 3 465 3 14 Dtool_n9gM6J5P 7 11 463 219 14 Dtool_n9gM6J5P 252 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_child // Access: Public // Description: Returns the nth child of the group. //////////////////////////////////////////////////////////////////// 2 4 this 3 465 1 n 1 467 4 14 Dtool_n9gMDdOk 7 12 463 219 14 Dtool_n9gMDdOk 521 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::get_child_named // Access: Public // 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 465 4 name 1 464 5 14 Dtool_n9gMsjDj 7 13 463 219 14 Dtool_n9gMsjDj 462 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::find_child // Access: Public // 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 465 4 name 1 464 6 14 Dtool_n9gM7_Rm 4 14 470 0 14 Dtool_n9gM7_Rm 266 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::output // Access: Public, Virtual // Description: Writes a one-line description of the group. //////////////////////////////////////////////////////////////////// 2 4 this 3 465 3 out 1 468 7 14 Dtool_n9gM5QWd 4 15 470 0 14 Dtool_n9gM5QWd 306 //////////////////////////////////////////////////////////////////// // Function: AnimGroup::write // Access: Public, Virtual // Description: Writes a brief description of the group and all of // its descendants. //////////////////////////////////////////////////////////////////// 3 4 this 3 465 3 out 1 468 12 indent_level 1 467 8 14 Dtool_n9gMXRDS 7 16 472 0 14 Dtool_n9gMXRDS 0 0 9 14 Dtool_n9gMnzi7 7 3 473 0 14 Dtool_n9gMnzi7 0 1 4 this 3 463 10 14 Dtool_n9gMrs9M 7 4 463 219 14 Dtool_n9gMrs9M 0 1 4 this 3 473 11 14 Dtool_n9gMGlFu 6 6 474 0 14 Dtool_n9gMGlFu 0 1 4 this 3 463 12 14 Dtool_n9gM4p9k 7 7 463 219 14 Dtool_n9gM4p9k 0 1 4 this 3 474 13 14 Dtool_n9gM3LBr 7 18 476 232 14 Dtool_n9gM3LBr 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 464 3 fps 1 475 10 num_frames 1 467 14 14 Dtool_n9gM_BG9 7 19 476 232 14 Dtool_n9gM_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 477 15 14 Dtool_n9gM6Ty_ 6 20 479 0 14 Dtool_n9gM6Ty_ 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 477 16 14 Dtool_n9gMRxeQ 6 21 467 0 14 Dtool_n9gMRxeQ 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 477 17 14 Dtool_n9gMzlnG 7 22 472 0 14 Dtool_n9gMzlnG 0 0 18 14 Dtool_n9gM0P9l 7 26 480 237 14 Dtool_n9gM0P9l 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 464 6 bundle 1 476 19 14 Dtool_n9gMwwyB 7 27 476 232 14 Dtool_n9gMwwyB 222 //////////////////////////////////////////////////////////////////// // Function: AnimBundleNode::get_bundle // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 481 20 14 Dtool_n9gMbUiF 7 28 476 232 14 Dtool_n9gMbUiF 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 483 21 14 Dtool_n9gMYNUG 7 29 472 0 14 Dtool_n9gMYNUG 0 0 22 14 Dtool_n9gMpKA7 7 36 484 243 14 Dtool_n9gMpKA7 387 //////////////////////////////////////////////////////////////////// // Function: PartGroup::Constructor // Access: Public // 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 484 4 name 1 464 23 14 Dtool_n9gM7E2m 6 38 487 0 14 Dtool_n9gM7E2m 411 //////////////////////////////////////////////////////////////////// // Function: PartGroup::is_character_joint // Access: Public, 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 485 24 14 Dtool_n9gMd3Bk 7 39 484 243 14 Dtool_n9gMd3Bk 338 //////////////////////////////////////////////////////////////////// // Function: PartGroup::make_copy // Access: Public, Virtual // Description: Allocates and returns a new copy of the node. // Children are not copied, but see copy_subgraph(). //////////////////////////////////////////////////////////////////// 1 4 this 3 485 25 14 Dtool_n9gMqhPC 7 40 484 243 14 Dtool_n9gMqhPC 311 //////////////////////////////////////////////////////////////////// // Function: PartGroup::copy_subgraph // Access: Public // Description: Allocates and returns a new copy of this node and of // all of its children. //////////////////////////////////////////////////////////////////// 1 4 this 3 485 26 14 Dtool_n9gMwfp4 6 41 467 0 14 Dtool_n9gMwfp4 271 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_num_children // Access: Public // Description: Returns the number of child nodes of the group. //////////////////////////////////////////////////////////////////// 1 4 this 3 485 27 14 Dtool_n9gMMhIO 7 42 484 243 14 Dtool_n9gMMhIO 252 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_child // Access: Public // Description: Returns the nth child of the group. //////////////////////////////////////////////////////////////////// 2 4 this 3 485 1 n 1 467 28 14 Dtool_n9gMDwci 7 43 484 243 14 Dtool_n9gMDwci 521 //////////////////////////////////////////////////////////////////// // Function: PartGroup::get_child_named // Access: Public // 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 485 4 name 1 464 29 14 Dtool_n9gM6aSh 7 44 484 243 14 Dtool_n9gM6aSh 462 //////////////////////////////////////////////////////////////////// // Function: PartGroup::find_child // Access: Public // 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 485 4 name 1 464 30 14 Dtool_n9gMC4lG 6 45 487 0 14 Dtool_n9gMC4lG 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 484 9 transform 1 488 31 14 Dtool_n9gMR9o1 6 46 487 0 14 Dtool_n9gMR9o1 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 484 3 pos 1 491 3 hpr 1 491 5 scale 1 491 32 14 Dtool_n9gMSV2B 6 47 487 0 14 Dtool_n9gMSV2B 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 484 5 value 1 475 33 14 Dtool_n9gMDCfX 6 48 487 0 14 Dtool_n9gMDCfX 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 484 4 node 1 483 34 14 Dtool_n9gM_lyG 6 49 487 0 14 Dtool_n9gM_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 484 35 14 Dtool_n9gMO88w 7 50 494 282 14 Dtool_n9gMO88w 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 485 36 14 Dtool_n9gMNFkb 4 51 470 0 14 Dtool_n9gMNFkb 306 //////////////////////////////////////////////////////////////////// // Function: PartGroup::write // Access: Public, Virtual // Description: Writes a brief description of the group and all of // its descendants. //////////////////////////////////////////////////////////////////// 3 4 this 3 485 3 out 1 468 12 indent_level 1 467 37 14 Dtool_n9gM6PSE 4 52 470 0 14 Dtool_n9gM6PSE 353 //////////////////////////////////////////////////////////////////// // Function: PartGroup::write_with_value // Access: Public, Virtual // Description: Writes a brief description of the group, showing its // current value, and that of all of its descendants. //////////////////////////////////////////////////////////////////// 3 4 this 3 485 3 out 1 468 12 indent_level 1 467 38 14 Dtool_n9gMHmRQ 7 53 472 0 14 Dtool_n9gMHmRQ 0 0 39 14 Dtool_n9gMnLw5 7 32 473 0 14 Dtool_n9gMnLw5 0 1 4 this 3 484 40 14 Dtool_n9gM0Te7 7 33 484 243 14 Dtool_n9gM0Te7 0 1 4 this 3 473 41 14 Dtool_n9gMEyTs 6 34 474 0 14 Dtool_n9gMEyTs 0 1 4 this 3 484 42 14 Dtool_n9gMoV3X 7 35 484 243 14 Dtool_n9gMoV3X 0 1 4 this 3 474 43 14 Dtool_n9gMj5H5 6 64 487 0 14 Dtool_n9gMj5H5 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 495 44 14 Dtool_n9gMX93W 4 65 470 0 14 Dtool_n9gMX93W 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 497 45 14 Dtool_n9gMHAER 6 66 487 0 14 Dtool_n9gMHAER 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 495 46 14 Dtool_n9gMxoCU 4 67 470 0 14 Dtool_n9gMxoCU 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 497 10 done_event 1 464 47 14 Dtool_n9gMRLbr 6 68 464 0 14 Dtool_n9gMRLbr 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 495 48 14 Dtool_n9gMinR8 7 69 498 406 14 Dtool_n9gMinR8 292 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_part // Access: Published // Description: Returns the PartBundle bound in with this // AnimControl. //////////////////////////////////////////////////////////////////// 1 4 this 3 495 49 14 Dtool_n9gMfBvN 7 70 476 232 14 Dtool_n9gMfBvN 292 //////////////////////////////////////////////////////////////////// // Function: AnimControl::get_anim // Access: Published // Description: Returns the AnimBundle bound in with this // AnimControl. //////////////////////////////////////////////////////////////////// 1 4 this 3 495 50 14 Dtool_n9gMMgs9 6 71 467 0 14 Dtool_n9gMMgs9 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 495 51 14 Dtool_n9gMmv5w 6 72 499 0 14 Dtool_n9gMmv5w 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 495 52 14 Dtool_n9gMn_I7 4 73 470 0 14 Dtool_n9gMn_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 497 5 model 1 483 53 14 Dtool_n9gMECae 7 74 483 0 14 Dtool_n9gMECae 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 495 54 14 Dtool_n9gMmvA5 4 75 470 0 14 Dtool_n9gMmvA5 218 //////////////////////////////////////////////////////////////////// // Function: AnimControl::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 495 3 out 1 468 55 14 Dtool_n9gMsoch 7 76 472 0 14 Dtool_n9gMsoch 0 0 56 14 Dtool_n9gMajPq 7 56 502 0 14 Dtool_n9gMajPq 0 1 4 this 3 497 57 14 Dtool_n9gMkxia 7 57 497 266 14 Dtool_n9gMkxia 0 1 4 this 3 502 58 14 Dtool_n9gMEgr1 6 59 503 0 14 Dtool_n9gMEgr1 0 1 4 this 3 497 59 14 Dtool_n9gMVM10 7 60 497 266 14 Dtool_n9gMVM10 0 1 4 this 3 503 60 14 Dtool_n9gMqvu2 6 61 474 0 14 Dtool_n9gMqvu2 0 1 4 this 3 497 61 14 Dtool_n9gMGYjo 7 62 497 266 14 Dtool_n9gMGYjo 0 1 4 this 3 474 62 14 Dtool_n9gMP9Rv 7 78 472 0 14 Dtool_n9gMP9Rv 0 1 4 this 3 504 63 14 Dtool_n9gMORV4 7 79 472 0 14 Dtool_n9gMORV4 0 0 64 14 Dtool_n9gMqZzQ 4 82 470 0 14 Dtool_n9gMqZzQ 0 3 4 this 3 506 5 frame 1 467 5 value 1 507 65 14 Dtool_n9gM5C0s 4 83 470 0 14 Dtool_n9gM5C0s 72 // These transform-component methods only have meaning for matrix types. 3 4 this 3 506 5 frame 1 467 5 value 1 507 66 14 Dtool_n9gMz_3E 4 84 470 0 14 Dtool_n9gMz_3E 72 // These transform-component methods only have meaning for matrix types. 3 4 this 3 506 5 frame 1 467 5 scale 1 509 67 14 Dtool_n9gMUEM9 4 85 470 0 14 Dtool_n9gMUEM9 0 3 4 this 3 506 5 frame 1 467 3 hpr 1 509 68 14 Dtool_n9gMOmSj 4 86 470 0 14 Dtool_n9gMOmSj 0 3 4 this 3 506 5 frame 1 467 4 quat 1 510 69 14 Dtool_n9gMqs83 4 87 470 0 14 Dtool_n9gMqs83 0 3 4 this 3 506 5 frame 1 467 3 pos 1 509 70 14 Dtool_n9gMl2ej 4 88 470 0 14 Dtool_n9gMl2ej 0 3 4 this 3 506 5 frame 1 467 5 shear 1 509 71 14 Dtool_n9gMdaSG 7 89 472 0 14 Dtool_n9gMdaSG 0 1 4 this 3 512 72 14 Dtool_n9gM7LXI 7 90 472 0 14 Dtool_n9gM7LXI 0 0 73 14 Dtool_n9gMIOa5 4 94 470 0 14 Dtool_n9gMIOa5 72 // These transform-component methods only have meaning for matrix types. 3 4 this 3 514 5 frame 1 467 5 scale 1 509 74 14 Dtool_n9gMNRwx 4 95 470 0 14 Dtool_n9gMNRwx 0 3 4 this 3 514 5 frame 1 467 3 hpr 1 509 75 14 Dtool_n9gMEl2X 4 96 470 0 14 Dtool_n9gMEl2X 0 3 4 this 3 514 5 frame 1 467 4 quat 1 510 76 14 Dtool_n9gMU_gs 4 97 470 0 14 Dtool_n9gMU_gs 0 3 4 this 3 514 5 frame 1 467 3 pos 1 509 77 14 Dtool_n9gMzYDY 4 98 470 0 14 Dtool_n9gMzYDY 0 3 4 this 3 514 5 frame 1 467 5 shear 1 509 78 14 Dtool_n9gMzf26 7 99 472 0 14 Dtool_n9gMzf26 0 1 4 this 3 515 79 14 Dtool_n9gMdX78 7 100 472 0 14 Dtool_n9gMdX78 0 0 80 14 Dtool_n9gMwi1P 4 102 470 0 14 Dtool_n9gMwi1P 268 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixDynamic::set_value // Access: Published // Description: Explicitly sets the matrix value. //////////////////////////////////////////////////////////////////// 2 4 this 3 517 5 value 1 518 81 14 Dtool_n9gM4XtZ 4 102 470 0 14 Dtool_n9gM4XtZ 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 517 5 value 1 488 82 14 Dtool_n9gMAd6G 4 103 470 0 14 Dtool_n9gMAd6G 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 517 4 node 1 483 83 14 Dtool_n9gMAlQj 7 104 488 0 14 Dtool_n9gMAlQj 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 520 84 14 Dtool_n9gMA0Lo 7 105 483 0 14 Dtool_n9gMA0Lo 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 520 85 14 Dtool_n9gMdU9M 7 106 472 0 14 Dtool_n9gMdU9M 0 0 86 14 Dtool_n9gMeBw0 7 109 522 282 14 Dtool_n9gMeBw0 234 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 6 parent 1 463 4 name 1 464 87 14 Dtool_n9gMKOH5 6 110 487 0 14 Dtool_n9gMKOH5 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 523 88 14 Dtool_n9gMF4Yg 4 111 470 0 14 Dtool_n9gMF4Yg 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 522 8 table_id 1 523 5 table 1 524 89 14 Dtool_n9gM091i 7 112 529 0 14 Dtool_n9gM091i 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 527 8 table_id 1 523 90 14 Dtool_n9gMvh4K 4 113 470 0 14 Dtool_n9gMvh4K 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 522 91 14 Dtool_n9gMZcqj 6 114 487 0 14 Dtool_n9gMZcqj 310 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::has_table // Access: Published // Description: Returns true if the indicated subtable has been // assigned. //////////////////////////////////////////////////////////////////// 2 4 this 3 527 8 table_id 1 523 92 14 Dtool_n9gMO_k0 4 115 470 0 14 Dtool_n9gMO_k0 286 //////////////////////////////////////////////////////////////////// // Function: AnimChannelMatrixXfmTable::clear_table // Access: Published // Description: Removes the indicated table from the definition. //////////////////////////////////////////////////////////////////// 2 4 this 3 522 8 table_id 1 523 93 14 Dtool_n9gMBX4a 7 116 472 0 14 Dtool_n9gMBX4a 0 0 94 14 Dtool_n9gMVD_1 4 118 470 0 14 Dtool_n9gMVD_1 261 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarDynamic::set_value // Access: Published // Description: Explicitly sets the value. //////////////////////////////////////////////////////////////////// 2 4 this 3 530 5 value 1 475 95 14 Dtool_n9gM6Avw 4 119 470 0 14 Dtool_n9gM6Avw 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 530 4 node 1 483 96 14 Dtool_n9gMxwy2 7 120 472 0 14 Dtool_n9gMxwy2 0 0 97 14 Dtool_n9gM8JvW 4 123 470 0 14 Dtool_n9gM8JvW 253 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::set_table // Access: Public // Description: Assigns the data table. //////////////////////////////////////////////////////////////////// 2 4 this 3 531 5 table 1 524 98 14 Dtool_n9gM8IHc 7 124 529 0 14 Dtool_n9gM8IHc 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 532 99 14 Dtool_n9gM1YIG 6 125 487 0 14 Dtool_n9gM1YIG 282 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::has_table // Access: Published // Description: Returns true if the data table has been assigned. //////////////////////////////////////////////////////////////////// 1 4 this 3 532 100 14 Dtool_n9gMPoPB 4 126 470 0 14 Dtool_n9gMPoPB 258 //////////////////////////////////////////////////////////////////// // Function: AnimChannelScalarTable::clear_table // Access: Published // Description: Empties the data table. //////////////////////////////////////////////////////////////////// 1 4 this 3 531 101 14 Dtool_n9gMptvC 7 127 472 0 14 Dtool_n9gMptvC 0 0 102 14 Dtool_n9gMEVyR 7 130 534 326 14 Dtool_n9gMEVyR 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 103 14 Dtool_n9gMJmt2 4 132 470 0 14 Dtool_n9gMJmt2 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 534 7 control 1 497 4 name 1 464 104 14 Dtool_n9gMDivI 7 133 497 266 14 Dtool_n9gMDivI 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 535 4 name 1 464 105 14 Dtool_n9gMe9bu 6 134 487 0 14 Dtool_n9gMe9bu 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 534 4 name 1 464 106 14 Dtool_n9gMoONk 6 135 467 0 14 Dtool_n9gMoONk 320 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_num_anims // Access: Published // Description: Returns the number of AnimControls associated with // this collection. //////////////////////////////////////////////////////////////////// 1 4 this 3 535 107 14 Dtool_n9gMVtrB 7 136 497 266 14 Dtool_n9gMVtrB 308 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_anim // Access: Published // Description: Returns the nth AnimControl associated with // this collection. //////////////////////////////////////////////////////////////////// 2 4 this 3 535 1 n 1 467 108 14 Dtool_n9gMBXsg 6 137 464 0 14 Dtool_n9gMBXsg 325 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_anim_name // Access: Published // Description: Returns the name of the nth AnimControl associated // with this collection. //////////////////////////////////////////////////////////////////// 2 4 this 3 535 1 n 1 467 109 14 Dtool_n9gMNiLN 4 138 470 0 14 Dtool_n9gMNiLN 279 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::clear_anims // Access: Published // Description: Disassociates all anims from this collection. //////////////////////////////////////////////////////////////////// 1 4 this 3 534 110 14 Dtool_n9gMUNjN 6 139 487 0 14 Dtool_n9gMUNjN 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 534 9 anim_name 1 464 111 14 Dtool_n9gM_GRl 6 139 487 0 14 Dtool_n9gM_GRl 259 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play // Access: Public // Description: Starts the named animation playing. //////////////////////////////////////////////////////////////////// 4 4 this 3 534 9 anim_name 1 464 4 from 1 467 2 to 1 467 112 14 Dtool_n9gMBJEH 6 140 487 0 14 Dtool_n9gMBJEH 259 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop // Access: Public // Description: Starts the named animation looping. //////////////////////////////////////////////////////////////////// 3 4 this 3 534 9 anim_name 1 464 7 restart 1 487 113 14 Dtool_n9gMTOG2 6 140 487 0 14 Dtool_n9gMTOG2 259 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop // Access: Public // Description: Starts the named animation looping. //////////////////////////////////////////////////////////////////// 5 4 this 3 534 9 anim_name 1 464 7 restart 1 487 4 from 1 467 2 to 1 467 114 14 Dtool_n9gMunhQ 6 141 487 0 14 Dtool_n9gMunhQ 250 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::stop // Access: Public // Description: Stops the named animation. //////////////////////////////////////////////////////////////////// 2 4 this 3 534 9 anim_name 1 464 115 14 Dtool_n9gMmA9Z 6 142 487 0 14 Dtool_n9gMmA9Z 274 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::pose // Access: Public // Description: Sets to a particular frame in the named animation. //////////////////////////////////////////////////////////////////// 3 4 this 3 534 9 anim_name 1 464 5 frame 1 467 116 14 Dtool_n9gMtiz5 4 143 470 0 14 Dtool_n9gMtiz5 261 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play_all // Access: Published // Description: Starts all animations playing. //////////////////////////////////////////////////////////////////// 1 4 this 3 534 117 14 Dtool_n9gMc5qb 4 143 470 0 14 Dtool_n9gMc5qb 261 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::play_all // Access: Published // Description: Starts all animations playing. //////////////////////////////////////////////////////////////////// 3 4 this 3 534 4 from 1 467 2 to 1 467 118 14 Dtool_n9gMMeO5 4 144 470 0 14 Dtool_n9gMMeO5 261 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop_all // Access: Published // Description: Starts all animations looping. //////////////////////////////////////////////////////////////////// 2 4 this 3 534 7 restart 1 487 119 14 Dtool_n9gMRl09 4 144 470 0 14 Dtool_n9gMRl09 261 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::loop_all // Access: Published // Description: Starts all animations looping. //////////////////////////////////////////////////////////////////// 4 4 this 3 534 7 restart 1 487 4 from 1 467 2 to 1 467 120 14 Dtool_n9gMXUx8 6 145 487 0 14 Dtool_n9gMXUx8 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 534 121 14 Dtool_n9gMJter 4 146 470 0 14 Dtool_n9gMJter 274 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::pose_all // Access: Published // Description: Sets all animations to the indicated frame. //////////////////////////////////////////////////////////////////// 2 4 this 3 534 5 frame 1 467 122 14 Dtool_n9gMhXpY 6 147 467 0 14 Dtool_n9gMhXpY 302 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_frame // Access: Public // Description: Returns the current frame in the last-started // animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 535 123 14 Dtool_n9gM6Cy2 6 147 467 0 14 Dtool_n9gM6Cy2 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 535 9 anim_name 1 464 124 14 Dtool_n9gMfa0S 6 148 467 0 14 Dtool_n9gMfa0S 316 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::get_num_frames // Access: Public // Description: Returns the total number of frames in the // last-started animation. //////////////////////////////////////////////////////////////////// 1 4 this 3 535 125 14 Dtool_n9gMvkKP 6 148 467 0 14 Dtool_n9gMvkKP 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 535 9 anim_name 1 464 126 14 Dtool_n9gM6Fhs 6 149 487 0 14 Dtool_n9gM6Fhs 328 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::is_playing // Access: Public // Description: Returns true if the last-started animation is // currently playing, false otherwise. //////////////////////////////////////////////////////////////////// 1 4 this 3 535 127 14 Dtool_n9gMme5y 6 149 487 0 14 Dtool_n9gMme5y 321 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::is_playing // Access: Public // Description: Returns true if the named animation is currently // playing, false otherwise. //////////////////////////////////////////////////////////////////// 2 4 this 3 535 9 anim_name 1 464 128 14 Dtool_n9gMBIcV 6 150 464 0 14 Dtool_n9gMBIcV 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 535 129 14 Dtool_n9gMV3NB 4 151 470 0 14 Dtool_n9gMV3NB 229 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 535 3 out 1 468 130 14 Dtool_n9gMI5P2 4 152 470 0 14 Dtool_n9gMI5P2 228 //////////////////////////////////////////////////////////////////// // Function: AnimControlCollection::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 535 3 out 1 468 131 14 Dtool_n9gMvxTH 7 155 537 0 14 Dtool_n9gMvxTH 229 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 132 14 Dtool_n9gM9WAE 6 156 467 0 14 Dtool_n9gM9WAE 284 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_num_anims // Access: Published // Description: Returns the number of animation records in the table. //////////////////////////////////////////////////////////////////// 1 4 this 3 538 133 14 Dtool_n9gM_zP2 6 157 467 0 14 Dtool_n9gM_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 538 8 basename 1 464 134 14 Dtool_n9gM_AA_ 6 158 464 0 14 Dtool_n9gM_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 538 1 n 1 467 135 14 Dtool_n9gMFxd3 6 159 475 0 14 Dtool_n9gMFxd3 313 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_base_frame_rate // Access: Published // Description: Returns the frame rate stored for the nth animation // record. //////////////////////////////////////////////////////////////////// 2 4 this 3 538 1 n 1 467 136 14 Dtool_n9gMmhkv 6 160 467 0 14 Dtool_n9gMmhkv 314 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::get_num_frames // Access: Published // Description: Returns the number of frames stored for the nth // animation record. //////////////////////////////////////////////////////////////////// 2 4 this 3 538 1 n 1 467 137 14 Dtool_n9gMheg4 4 161 470 0 14 Dtool_n9gMheg4 274 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::clear_anims // Access: Published // Description: Removes all animation records from the table. //////////////////////////////////////////////////////////////////// 1 4 this 3 537 138 14 Dtool_n9gMSDsJ 4 162 470 0 14 Dtool_n9gMSDsJ 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 537 1 n 1 467 139 14 Dtool_n9gM1l8l 4 163 470 0 14 Dtool_n9gM1l8l 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 537 8 basename 1 464 15 base_frame_rate 1 475 10 num_frames 1 467 140 14 Dtool_n9gM52_x 4 164 470 0 14 Dtool_n9gM52_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 537 5 other 1 538 141 14 Dtool_n9gMlofy 4 165 470 0 14 Dtool_n9gMlofy 224 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 538 3 out 1 468 142 14 Dtool_n9gMhkgD 4 166 470 0 14 Dtool_n9gMhkgD 223 //////////////////////////////////////////////////////////////////// // Function: AnimPreloadTable::write // Access: Published // Description: //////////////////////////////////////////////////////////////////// 3 4 this 3 538 3 out 1 468 12 indent_level 1 467 143 14 Dtool_n9gMAKZD 7 167 472 0 14 Dtool_n9gMAKZD 0 0 144 14 Dtool_n9gMoGGG 7 170 540 371 14 Dtool_n9gMoGGG 223 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 0 145 14 Dtool_n9gM_gKp 7 170 540 371 14 Dtool_n9gM_gKp 228 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Copy Constructor // Access: Published // Description: //////////////////////////////////////////////////////////////////// 1 4 copy 1 541 146 14 Dtool_n9gMxWwX 6 171 540 0 14 Dtool_n9gMxWwX 236 //////////////////////////////////////////////////////////////////// // Function: PartSubset::Copy Assignment Operator // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 540 4 copy 1 541 147 14 Dtool_n9gM0f2j 4 172 470 0 14 Dtool_n9gM0f2j 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 540 4 name 1 543 148 14 Dtool_n9gMMvgq 4 173 470 0 14 Dtool_n9gMMvgq 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 540 4 name 1 543 149 14 Dtool_n9gM69Ls 4 174 470 0 14 Dtool_n9gM69Ls 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 540 5 other 1 541 150 14 Dtool_n9gM80i_ 4 175 470 0 14 Dtool_n9gM80i_ 218 //////////////////////////////////////////////////////////////////// // Function: PartSubset::output // Access: Published // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 541 3 out 1 468 151 14 Dtool_n9gMpRPq 6 176 487 0 14 Dtool_n9gMpRPq 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 541 152 14 Dtool_n9gMFDUF 6 177 487 0 14 Dtool_n9gMFDUF 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 541 10 joint_name 1 464 153 14 Dtool_n9gMEavl 6 178 487 0 14 Dtool_n9gMEavl 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 541 10 joint_name 1 464 154 14 Dtool_n9gMZ6lN 7 182 554 374 14 Dtool_n9gMZ6lN 225 //////////////////////////////////////////////////////////////////// // Function: BindAnimRequest::Constructor // Access: Public // Description: //////////////////////////////////////////////////////////////////// 7 4 name 1 464 8 filename 1 546 7 options 1 549 6 loader 1 552 7 control 1 497 21 hierarchy_match_flags 1 467 6 subset 1 541 155 14 Dtool_n9gMzTZe 7 183 472 0 14 Dtool_n9gMzTZe 0 0 156 14 Dtool_n9gM9LiC 7 186 498 406 14 Dtool_n9gM9LiC 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 464 157 14 Dtool_n9gMDIqj 7 186 498 406 14 Dtool_n9gMDIqj 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 158 14 Dtool_n9gMrxqe 7 187 538 0 14 Dtool_n9gMrxqe 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 555 159 14 Dtool_n9gM2f0z 7 188 537 0 14 Dtool_n9gM2f0z 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 498 160 14 Dtool_n9gMA3Kk 4 189 470 0 14 Dtool_n9gMA3Kk 306 //////////////////////////////////////////////////////////////////// // Function: PartBundle::set_anim_preload // Access: Published // Description: Replaces the AnimPreloadTable associated with // the PartBundle. //////////////////////////////////////////////////////////////////// 2 4 this 3 498 5 table 1 537 161 14 Dtool_n9gMYoFV 4 190 470 0 14 Dtool_n9gMYoFV 307 //////////////////////////////////////////////////////////////////// // Function: PartBundle::clear_anim_preload // Access: Published // Description: Removes any AnimPreloadTable associated with // the PartBundle. //////////////////////////////////////////////////////////////////// 1 4 this 3 498 162 14 Dtool_n9gMtRk3 4 191 470 0 14 Dtool_n9gMtRk3 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 498 5 other 1 555 163 14 Dtool_n9gM0WPI 4 193 470 0 14 Dtool_n9gM0WPI 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 498 2 bt 1 454 164 14 Dtool_n9gMyXKU 6 194 454 0 14 Dtool_n9gMyXKU 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 555 165 14 Dtool_n9gMjAPZ 4 195 470 0 14 Dtool_n9gMjAPZ 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 498 15 anim_blend_flag 1 487 166 14 Dtool_n9gMZe_K 6 196 487 0 14 Dtool_n9gMZe_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 555 167 14 Dtool_n9gMgaSG 4 197 470 0 14 Dtool_n9gMgaSG 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 498 16 frame_blend_flag 1 487 168 14 Dtool_n9gMfbl_ 6 198 487 0 14 Dtool_n9gMfbl_ 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 555 169 14 Dtool_n9gMt3hG 4 199 470 0 14 Dtool_n9gMt3hG 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 498 10 root_xform 1 518 170 14 Dtool_n9gMr7Q9 4 200 470 0 14 Dtool_n9gMr7Q9 304 //////////////////////////////////////////////////////////////////// // Function: PartBundle::xform // Access: Published // Description: Applies the indicated transform to the root of the // animated hierarchy. //////////////////////////////////////////////////////////////////// 2 4 this 3 498 3 mat 1 518 171 14 Dtool_n9gMuoWS 6 201 518 0 14 Dtool_n9gMuoWS 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 555 172 14 Dtool_n9gM_za4 7 202 498 406 14 Dtool_n9gM_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 498 9 transform 1 488 173 14 Dtool_n9gMOYYz 6 203 467 0 14 Dtool_n9gMOYYz 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 555 174 14 Dtool_n9gMAJLi 7 204 557 0 14 Dtool_n9gMAJLi 300 //////////////////////////////////////////////////////////////////// // Function: PartBundle::get_node // Access: Published // Description: Returns the nth PartBundleNode associated with // this PartBundle. //////////////////////////////////////////////////////////////////// 2 4 this 3 555 1 n 1 467 175 14 Dtool_n9gMXSiY 4 205 470 0 14 Dtool_n9gMXSiY 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 498 176 14 Dtool_n9gMc9Oe 4 206 470 0 14 Dtool_n9gMc9Oe 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 498 7 control 1 497 6 effect 1 475 177 14 Dtool_n9gMSOyr 6 207 475 0 14 Dtool_n9gMSOyr 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 555 7 control 1 497 178 14 Dtool_n9gMGRkL 4 208 470 0 14 Dtool_n9gMGRkL 271 //////////////////////////////////////////////////////////////////// // Function: PartBundle::output // Access: Published, Virtual // Description: Writes a one-line description of the bundle. //////////////////////////////////////////////////////////////////// 2 4 this 3 555 3 out 1 468 179 14 Dtool_n9gMfmGJ 7 209 497 266 14 Dtool_n9gMfmGJ 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 498 4 anim 1 476 21 hierarchy_match_flags 1 467 6 subset 1 541 180 14 Dtool_n9gM9D6Q 7 209 497 266 14 Dtool_n9gM9D6Q 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 498 4 anim 1 476 21 hierarchy_match_flags 1 467 181 14 Dtool_n9gMesSx 7 209 497 266 14 Dtool_n9gMesSx 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 498 4 anim 1 476 182 14 Dtool_n9gMq47d 7 210 497 266 14 Dtool_n9gMq47d 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 498 6 loader 1 552 8 filename 1 546 21 hierarchy_match_flags 1 467 6 subset 1 541 11 allow_async 1 487 183 14 Dtool_n9gMZehs 4 211 470 0 14 Dtool_n9gMZehs 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 498 184 14 Dtool_n9gM2fei 6 212 487 0 14 Dtool_n9gM2fei 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 498 10 joint_name 1 464 3 pos 1 491 3 hpr 1 491 5 scale 1 491 185 14 Dtool_n9gMOh7z 6 212 487 0 14 Dtool_n9gMOh7z 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 498 10 joint_name 1 464 9 transform 1 488 186 14 Dtool_n9gMQo4o 6 212 487 0 14 Dtool_n9gMQo4o 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 498 10 joint_name 1 464 5 value 1 475 187 14 Dtool_n9gMoboc 6 213 487 0 14 Dtool_n9gMoboc 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 498 10 joint_name 1 464 4 node 1 483 188 14 Dtool_n9gM_6LW 6 214 487 0 14 Dtool_n9gM_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 498 10 joint_name 1 464 189 14 Dtool_n9gMKsqa 6 215 487 0 14 Dtool_n9gMKsqa 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 498 190 14 Dtool_n9gM6YPx 6 216 487 0 14 Dtool_n9gM6YPx 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 498 191 14 Dtool_n9gM7Q2E 7 217 472 0 14 Dtool_n9gM7Q2E 0 0 192 14 Dtool_n9gMiUxe 7 221 558 0 14 Dtool_n9gMiUxe 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 498 193 14 Dtool_n9gM5Mw5 7 222 498 406 14 Dtool_n9gM5Mw5 302 //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::get_bundle // Access: Published // Description: Returns the actual PartBundle embedded within the // handle. //////////////////////////////////////////////////////////////////// 1 4 this 3 558 194 14 Dtool_n9gMBXx_ 4 223 470 0 14 Dtool_n9gMBXx_ 302 //////////////////////////////////////////////////////////////////// // Function: PartBundleHandle::set_bundle // Access: Published // Description: Changes the actual PartBundle embedded within the // handle. //////////////////////////////////////////////////////////////////// 2 4 this 3 558 6 bundle 1 498 195 14 Dtool_n9gMWbFa 7 225 557 0 14 Dtool_n9gMWbFa 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 464 6 bundle 1 498 196 14 Dtool_n9gMyDbo 6 226 467 0 14 Dtool_n9gMyDbo 227 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_num_bundles // Access: Public // Description: //////////////////////////////////////////////////////////////////// 1 4 this 3 559 197 14 Dtool_n9gMibzW 7 227 498 406 14 Dtool_n9gMibzW 222 //////////////////////////////////////////////////////////////////// // Function: PartBundleNode::get_bundle // Access: Public // Description: //////////////////////////////////////////////////////////////////// 2 4 this 3 559 1 n 1 467 198 14 Dtool_n9gMILd9 7 228 558 0 14 Dtool_n9gMILd9 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 559 1 n 1 467 199 14 Dtool_n9gMGgiE 7 229 472 0 14 Dtool_n9gMGgiE 0 0 200 14 Dtool_n9gMTdB6 6 231 467 0 14 Dtool_n9gMTdB6 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 561 201 14 Dtool_n9gMY4V7 7 232 494 282 14 Dtool_n9gMY4V7 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 561 1 n 1 467 202 14 Dtool_n9gMunKd 4 233 470 0 14 Dtool_n9gMunKd 0 2 4 this 3 561 3 out 1 468 203 14 Dtool_n9gMhPU6 7 234 472 0 14 Dtool_n9gMhPU6 0 0 204 14 Dtool_n9gM56Kh 7 242 472 0 14 Dtool_n9gM56Kh 0 0 205 14 Dtool_n9gM_XwN 7 238 472 0 14 Dtool_n9gM_XwN 0 0 206 14 Dtool_n9gM9Cqq 7 239 507 0 14 Dtool_n9gM9Cqq 0 1 4 this 3 563 207 14 Dtool_n9gMpgNw 7 240 507 0 14 Dtool_n9gMpgNw 0 1 4 this 3 563 208 14 Dtool_n9gMOseE 7 249 472 0 14 Dtool_n9gMOseE 0 0 209 14 Dtool_n9gMaeah 7 245 472 0 14 Dtool_n9gMaeah 0 0 210 14 Dtool_n9gMjrS_ 6 246 475 0 14 Dtool_n9gMjrS_ 0 1 4 this 3 565 211 14 Dtool_n9gMpo2D 6 247 475 0 14 Dtool_n9gMpo2D 0 1 4 this 3 565 212 14 Dtool_n9gMknU_ 4 168 470 0 14 Dtool_n9gMknU_ 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 483 8 controls 1 534 21 hierarchy_match_flags 1 467 213 14 Dtool_n9gMP30i 4 168 470 0 14 Dtool_n9gMP30i 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 483 8 controls 1 534 138 430 9 AnimGroup 26625 9 AnimGroup 9 AnimGroup 0 0 0 1 218 219 0 7 220 221 222 223 224 225 226 1 568 0 2 3 431 214 215 3 432 216 217 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. //////////////////////////////////////////////////////////////////// 431 27 TypedWritableReferenceCount 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. //////////////////////////////////////////////////////////////////// 432 7 Namable 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. //////////////////////////////////////////////////////////////////// 433 10 AnimBundle 141313 10 AnimBundle 10 AnimBundle 0 0 0 1 227 232 0 4 228 229 230 231 0 0 1 0 430 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). //////////////////////////////////////////////////////////////////// 434 14 AnimBundleNode 141313 14 AnimBundleNode 14 AnimBundleNode 0 0 0 1 233 237 0 3 234 235 236 0 0 1 0 435 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. //////////////////////////////////////////////////////////////////// 435 9 PandaNode 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. //////////////////////////////////////////////////////////////////// 436 9 PartGroup 26625 9 PartGroup 9 PartGroup 0 0 0 1 242 243 0 16 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 1 569 0 2 3 431 238 239 3 432 240 241 0 0 290 //////////////////////////////////////////////////////////////////// // Class : PartGroup // Description : This is the base class for PartRoot and // MovingPart. It defines a hierarchy of MovingParts. //////////////////////////////////////////////////////////////////// 437 11 AnimControl 26625 11 AnimControl 11 AnimControl 0 0 0 0 266 0 13 267 268 269 270 271 272 273 274 275 276 277 278 279 0 0 3 3 438 260 261 3 439 262 263 3 432 264 265 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. //////////////////////////////////////////////////////////////////// 438 19 TypedReferenceCount 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. //////////////////////////////////////////////////////////////////// 439 13 AnimInterface 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. //////////////////////////////////////////////////////////////////// 440 15 AnimChannelBase 141313 15 AnimChannelBase 15 AnimChannelBase 0 0 0 0 282 0 2 280 281 0 0 1 0 430 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). //////////////////////////////////////////////////////////////////// 441 33 AnimChannel< ACMatrixSwitchType > 75777 33 AnimChannel< ACMatrixSwitchType > 33 AnimChannel< ACMatrixSwitchType > 0 0 0 0 282 0 9 283 284 285 286 287 288 289 290 291 0 0 1 0 440 0 0 0 0 0 442 33 AnimChannel< ACScalarSwitchType > 75777 33 AnimChannel< ACScalarSwitchType > 33 AnimChannel< ACScalarSwitchType > 0 0 0 0 282 0 9 292 293 294 295 296 297 298 299 300 0 0 1 0 440 0 0 0 0 0 443 24 AnimChannelMatrixDynamic 141313 24 AnimChannelMatrixDynamic 24 AnimChannelMatrixDynamic 0 0 0 0 306 0 5 301 302 303 304 305 0 0 1 0 441 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. //////////////////////////////////////////////////////////////////// 444 25 AnimChannelMatrixXfmTable 75777 25 AnimChannelMatrixXfmTable 25 AnimChannelMatrixXfmTable 0 0 0 1 307 282 0 7 308 309 310 311 312 313 314 0 0 1 0 441 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. //////////////////////////////////////////////////////////////////// 445 24 AnimChannelScalarDynamic 141313 24 AnimChannelScalarDynamic 24 AnimChannelScalarDynamic 0 0 0 0 318 0 3 315 316 317 0 0 1 0 442 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. //////////////////////////////////////////////////////////////////// 446 22 AnimChannelScalarTable 141313 22 AnimChannelScalarTable 22 AnimChannelScalarTable 0 0 0 0 324 0 5 319 320 321 322 323 0 0 1 0 442 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. //////////////////////////////////////////////////////////////////// 447 21 AnimControlCollection 26625 21 AnimControlCollection 21 AnimControlCollection 0 0 0 1 325 326 0 21 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 2 570 571 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). //////////////////////////////////////////////////////////////////// 448 16 AnimPreloadTable 75777 16 AnimPreloadTable 16 AnimPreloadTable 0 0 0 1 348 0 0 12 349 350 351 352 353 354 355 356 357 358 359 360 0 0 1 0 449 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. //////////////////////////////////////////////////////////////////// 449 17 CopyOnWriteObject 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(). //////////////////////////////////////////////////////////////////// 450 10 PartSubset 141313 10 PartSubset 10 PartSubset 0 0 0 1 362 371 0 8 363 364 365 366 367 368 369 370 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. //////////////////////////////////////////////////////////////////// 451 15 BindAnimRequest 141313 15 BindAnimRequest 15 BindAnimRequest 0 0 0 1 372 374 0 1 373 0 0 1 0 452 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(). //////////////////////////////////////////////////////////////////// 452 16 ModelLoadRequest 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. //////////////////////////////////////////////////////////////////// 453 10 PartBundle 141313 10 PartBundle 10 PartBundle 0 0 0 1 375 406 0 30 376 377 378 379 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 1 572 0 1 0 436 0 0 0 1 454 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. //////////////////////////////////////////////////////////////////// 454 9 BlendType 794624 21 PartBundle::BlendType 21 PartBundle::BlendType 453 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. 455 16 PartBundleHandle 75777 16 PartBundleHandle 16 PartBundleHandle 0 0 0 1 407 0 0 2 408 409 0 0 1 0 456 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. //////////////////////////////////////////////////////////////////// 456 14 ReferenceCount 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. //////////////////////////////////////////////////////////////////// 457 14 PartBundleNode 75777 14 PartBundleNode 14 PartBundleNode 0 0 0 1 410 0 0 4 411 412 413 414 2 573 574 0 1 0 435 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.) //////////////////////////////////////////////////////////////////// 458 14 MovingPartBase 141313 14 MovingPartBase 14 MovingPartBase 0 0 0 0 419 0 4 415 416 417 418 0 0 1 0 436 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. //////////////////////////////////////////////////////////////////// 459 16 MovingPartMatrix 75777 16 MovingPartMatrix 16 MovingPartMatrix 0 0 0 0 423 0 1 424 0 0 1 0 460 0 0 0 0 279 //////////////////////////////////////////////////////////////////// // Class : MovingPartMatrix // Description : This is a particular kind of MovingPart that accepts // a matrix each frame. //////////////////////////////////////////////////////////////////// 460 32 MovingPart< ACMatrixSwitchType > 141313 32 MovingPart< ACMatrixSwitchType > 32 MovingPart< ACMatrixSwitchType > 0 0 0 0 423 0 3 420 421 422 0 0 1 0 458 0 0 0 0 0 461 16 MovingPartScalar 75777 16 MovingPartScalar 16 MovingPartScalar 0 0 0 0 428 0 1 429 0 0 1 0 462 0 0 0 0 279 //////////////////////////////////////////////////////////////////// // Class : MovingPartScalar // Description : This is a particular kind of MovingPart that accepts // a scalar each frame. //////////////////////////////////////////////////////////////////// 462 32 MovingPart< ACScalarSwitchType > 141313 32 MovingPart< ACScalarSwitchType > 32 MovingPart< ACScalarSwitchType > 0 0 0 0 428 0 3 425 426 427 0 0 1 0 458 0 0 0 0 0 463 11 AnimGroup * 8576 11 AnimGroup * 11 AnimGroup * 0 0 430 0 0 0 0 0 0 0 0 0 0 464 13 atomic string 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0 465 17 AnimGroup const * 8576 17 AnimGroup const * 17 AnimGroup const * 0 0 466 0 0 0 0 0 0 0 0 0 0 466 15 AnimGroup const 8832 15 AnimGroup const 15 AnimGroup const 0 0 430 0 0 0 0 0 0 0 0 0 0 467 3 int 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 468 9 ostream * 8576 9 ostream * 9 ostream * 0 0 469 0 0 0 0 0 0 0 0 0 0 469 7 ostream 2048 7 ostream 7 ostream 0 0 0 0 0 0 0 0 0 0 0 0 0 470 4 void 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0 471 10 TypeHandle 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. //////////////////////////////////////////////////////////////////// 472 12 TypeHandle * 8576 12 TypeHandle * 12 TypeHandle * 0 0 471 0 0 0 0 0 0 0 0 0 0 473 29 TypedWritableReferenceCount * 8576 29 TypedWritableReferenceCount * 29 TypedWritableReferenceCount * 0 0 431 0 0 0 0 0 0 0 0 0 0 474 9 Namable * 8576 9 Namable * 9 Namable * 0 0 432 0 0 0 0 0 0 0 0 0 0 475 5 float 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 476 12 AnimBundle * 8576 12 AnimBundle * 12 AnimBundle * 0 0 433 0 0 0 0 0 0 0 0 0 0 477 18 AnimBundle const * 8576 18 AnimBundle const * 18 AnimBundle const * 0 0 478 0 0 0 0 0 0 0 0 0 0 478 16 AnimBundle const 8832 16 AnimBundle const 16 AnimBundle const 0 0 433 0 0 0 0 0 0 0 0 0 0 479 6 double 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0 480 16 AnimBundleNode * 8576 16 AnimBundleNode * 16 AnimBundleNode * 0 0 434 0 0 0 0 0 0 0 0 0 0 481 22 AnimBundleNode const * 8576 22 AnimBundleNode const * 22 AnimBundleNode const * 0 0 482 0 0 0 0 0 0 0 0 0 0 482 20 AnimBundleNode const 8832 20 AnimBundleNode const 20 AnimBundleNode const 0 0 434 0 0 0 0 0 0 0 0 0 0 483 11 PandaNode * 8576 11 PandaNode * 11 PandaNode * 0 0 435 0 0 0 0 0 0 0 0 0 0 484 11 PartGroup * 8576 11 PartGroup * 11 PartGroup * 0 0 436 0 0 0 0 0 0 0 0 0 0 485 17 PartGroup const * 8576 17 PartGroup const * 17 PartGroup const * 0 0 486 0 0 0 0 0 0 0 0 0 0 486 15 PartGroup const 8832 15 PartGroup const 15 PartGroup const 0 0 436 0 0 0 0 0 0 0 0 0 0 487 4 bool 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 488 22 TransformState const * 8576 22 TransformState const * 22 TransformState const * 0 0 489 0 0 0 0 0 0 0 0 0 0 489 20 TransformState const 8832 20 TransformState const 20 TransformState const 0 0 490 0 0 0 0 0 0 0 0 0 0 490 14 TransformState 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. //////////////////////////////////////////////////////////////////// 491 18 LVecBase3f const * 8576 18 LVecBase3f const * 18 LVecBase3f const * 0 0 492 0 0 0 0 0 0 0 0 0 0 492 16 LVecBase3f const 8832 16 LVecBase3f const 16 LVecBase3f const 0 0 493 0 0 0 0 0 0 0 0 0 0 493 9 RGBColorf 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. //////////////////////////////////////////////////////////////////// 494 17 AnimChannelBase * 8576 17 AnimChannelBase * 17 AnimChannelBase * 0 0 440 0 0 0 0 0 0 0 0 0 0 495 19 AnimControl const * 8576 19 AnimControl const * 19 AnimControl const * 0 0 496 0 0 0 0 0 0 0 0 0 0 496 17 AnimControl const 8832 17 AnimControl const 17 AnimControl const 0 0 437 0 0 0 0 0 0 0 0 0 0 497 13 AnimControl * 8576 13 AnimControl * 13 AnimControl * 0 0 437 0 0 0 0 0 0 0 0 0 0 498 12 PartBundle * 8576 12 PartBundle * 12 PartBundle * 0 0 453 0 0 0 0 0 0 0 0 0 0 499 16 BitArray const * 8576 16 BitArray const * 16 BitArray const * 0 0 500 0 0 0 0 0 0 0 0 0 0 500 14 BitArray const 8832 14 BitArray const 14 BitArray const 0 0 501 0 0 0 0 0 0 0 0 0 0 501 8 BitArray 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. //////////////////////////////////////////////////////////////////// 502 21 TypedReferenceCount * 8576 21 TypedReferenceCount * 21 TypedReferenceCount * 0 0 438 0 0 0 0 0 0 0 0 0 0 503 15 AnimInterface * 8576 15 AnimInterface * 15 AnimInterface * 0 0 439 0 0 0 0 0 0 0 0 0 0 504 23 AnimChannelBase const * 8576 23 AnimChannelBase const * 23 AnimChannelBase const * 0 0 505 0 0 0 0 0 0 0 0 0 0 505 21 AnimChannelBase const 8832 21 AnimChannelBase const 21 AnimChannelBase const 0 0 440 0 0 0 0 0 0 0 0 0 0 506 35 AnimChannel< ACMatrixSwitchType > * 8576 35 AnimChannel< ACMatrixSwitchType > * 35 AnimChannel< ACMatrixSwitchType > * 0 0 441 0 0 0 0 0 0 0 0 0 0 507 11 LMatrix4f * 8576 11 LMatrix4f * 11 LMatrix4f * 0 0 508 0 0 0 0 0 0 0 0 0 0 508 9 LMatrix4f 2048 9 LMatrix4f 9 LMatrix4f 0 0 0 0 0 0 0 3 575 576 577 0 0 0 0 703 // Filename: lmatrix4_src.h // Created by: drose (15Jan99) // //////////////////////////////////////////////////////////////////// // // 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 : LMatrix4 // Description : This is a 4-by-4 transform matrix. //////////////////////////////////////////////////////////////////// 509 12 LVecBase3f * 8576 12 LVecBase3f * 12 LVecBase3f * 0 0 493 0 0 0 0 0 0 0 0 0 0 510 14 LQuaternionf * 8576 14 LQuaternionf * 14 LQuaternionf * 0 0 511 0 0 0 0 0 0 0 0 0 0 511 12 LQuaternionf 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 //////////////////////////////////////////////////////////////////// 512 41 AnimChannel< ACMatrixSwitchType > const * 8576 41 AnimChannel< ACMatrixSwitchType > const * 41 AnimChannel< ACMatrixSwitchType > const * 0 0 513 0 0 0 0 0 0 0 0 0 0 513 39 AnimChannel< ACMatrixSwitchType > const 8832 39 AnimChannel< ACMatrixSwitchType > const 39 AnimChannel< ACMatrixSwitchType > const 0 0 441 0 0 0 0 0 0 0 0 0 0 514 35 AnimChannel< ACScalarSwitchType > * 8576 35 AnimChannel< ACScalarSwitchType > * 35 AnimChannel< ACScalarSwitchType > * 0 0 442 0 0 0 0 0 0 0 0 0 0 515 41 AnimChannel< ACScalarSwitchType > const * 8576 41 AnimChannel< ACScalarSwitchType > const * 41 AnimChannel< ACScalarSwitchType > const * 0 0 516 0 0 0 0 0 0 0 0 0 0 516 39 AnimChannel< ACScalarSwitchType > const 8832 39 AnimChannel< ACScalarSwitchType > const 39 AnimChannel< ACScalarSwitchType > const 0 0 442 0 0 0 0 0 0 0 0 0 0 517 26 AnimChannelMatrixDynamic * 8576 26 AnimChannelMatrixDynamic * 26 AnimChannelMatrixDynamic * 0 0 443 0 0 0 0 0 0 0 0 0 0 518 17 LMatrix4f const * 8576 17 LMatrix4f const * 17 LMatrix4f const * 0 0 519 0 0 0 0 0 0 0 0 0 0 519 15 LMatrix4f const 8832 15 LMatrix4f const 15 LMatrix4f const 0 0 508 0 0 0 0 0 0 0 0 0 0 520 32 AnimChannelMatrixDynamic const * 8576 32 AnimChannelMatrixDynamic const * 32 AnimChannelMatrixDynamic const * 0 0 521 0 0 0 0 0 0 0 0 0 0 521 30 AnimChannelMatrixDynamic const 8832 30 AnimChannelMatrixDynamic const 30 AnimChannelMatrixDynamic const 0 0 443 0 0 0 0 0 0 0 0 0 0 522 27 AnimChannelMatrixXfmTable * 8576 27 AnimChannelMatrixXfmTable * 27 AnimChannelMatrixXfmTable * 0 0 444 0 0 0 0 0 0 0 0 0 0 523 4 char 8194 4 char 4 char 0 5 0 0 0 0 0 0 0 0 0 0 0 524 36 ConstPointerToArray< float > const * 8576 36 ConstPointerToArray< float > const * 36 ConstPointerToArray< float > const * 0 0 525 0 0 0 0 0 0 0 0 0 0 525 34 ConstPointerToArray< float > const 8832 34 ConstPointerToArray< float > const 34 ConstPointerToArray< float > const 0 0 526 0 0 0 0 0 0 0 0 0 0 526 10 CPTA_float 2048 28 ConstPointerToArray< float > 28 ConstPointerToArray< float > 0 0 0 0 0 0 0 0 0 0 0 0 0 527 33 AnimChannelMatrixXfmTable const * 8576 33 AnimChannelMatrixXfmTable const * 33 AnimChannelMatrixXfmTable const * 0 0 528 0 0 0 0 0 0 0 0 0 0 528 31 AnimChannelMatrixXfmTable const 8832 31 AnimChannelMatrixXfmTable const 31 AnimChannelMatrixXfmTable const 0 0 444 0 0 0 0 0 0 0 0 0 0 529 30 ConstPointerToArray< float > * 8576 30 ConstPointerToArray< float > * 30 ConstPointerToArray< float > * 0 0 526 0 0 0 0 0 0 0 0 0 0 530 26 AnimChannelScalarDynamic * 8576 26 AnimChannelScalarDynamic * 26 AnimChannelScalarDynamic * 0 0 445 0 0 0 0 0 0 0 0 0 0 531 24 AnimChannelScalarTable * 8576 24 AnimChannelScalarTable * 24 AnimChannelScalarTable * 0 0 446 0 0 0 0 0 0 0 0 0 0 532 30 AnimChannelScalarTable const * 8576 30 AnimChannelScalarTable const * 30 AnimChannelScalarTable const * 0 0 533 0 0 0 0 0 0 0 0 0 0 533 28 AnimChannelScalarTable const 8832 28 AnimChannelScalarTable const 28 AnimChannelScalarTable const 0 0 446 0 0 0 0 0 0 0 0 0 0 534 23 AnimControlCollection * 8576 23 AnimControlCollection * 23 AnimControlCollection * 0 0 447 0 0 0 0 0 0 0 0 0 0 535 29 AnimControlCollection const * 8576 29 AnimControlCollection const * 29 AnimControlCollection const * 0 0 536 0 0 0 0 0 0 0 0 0 0 536 27 AnimControlCollection const 8832 27 AnimControlCollection const 27 AnimControlCollection const 0 0 447 0 0 0 0 0 0 0 0 0 0 537 18 AnimPreloadTable * 8576 18 AnimPreloadTable * 18 AnimPreloadTable * 0 0 448 0 0 0 0 0 0 0 0 0 0 538 24 AnimPreloadTable const * 8576 24 AnimPreloadTable const * 24 AnimPreloadTable const * 0 0 539 0 0 0 0 0 0 0 0 0 0 539 22 AnimPreloadTable const 8832 22 AnimPreloadTable const 22 AnimPreloadTable const 0 0 448 0 0 0 0 0 0 0 0 0 0 540 12 PartSubset * 8576 12 PartSubset * 12 PartSubset * 0 0 450 0 0 0 0 0 0 0 0 0 0 541 18 PartSubset const * 8576 18 PartSubset const * 18 PartSubset const * 0 0 542 0 0 0 0 0 0 0 0 0 0 542 16 PartSubset const 8832 16 PartSubset const 16 PartSubset const 0 0 450 0 0 0 0 0 0 0 0 0 0 543 19 GlobPattern const * 8576 19 GlobPattern const * 19 GlobPattern const * 0 0 544 0 0 0 0 0 0 0 0 0 0 544 17 GlobPattern const 8832 17 GlobPattern const 17 GlobPattern const 0 0 545 0 0 0 0 0 0 0 0 0 0 545 11 GlobPattern 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. //////////////////////////////////////////////////////////////////// 546 16 Filename const * 8576 16 Filename const * 16 Filename const * 0 0 547 0 0 0 0 0 0 0 0 0 0 547 14 Filename const 8832 14 Filename const 14 Filename const 0 0 548 0 0 0 0 0 0 0 0 0 0 548 8 Filename 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. //////////////////////////////////////////////////////////////////// 549 21 LoaderOptions const * 8576 21 LoaderOptions const * 21 LoaderOptions const * 0 0 550 0 0 0 0 0 0 0 0 0 0 550 19 LoaderOptions const 8832 19 LoaderOptions const 19 LoaderOptions const 0 0 551 0 0 0 0 0 0 0 0 0 0 551 13 LoaderOptions 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. //////////////////////////////////////////////////////////////////// 552 8 Loader * 8576 8 Loader * 8 Loader * 0 0 553 0 0 0 0 0 0 0 0 0 0 553 6 Loader 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. //////////////////////////////////////////////////////////////////// 554 17 BindAnimRequest * 8576 17 BindAnimRequest * 17 BindAnimRequest * 0 0 451 0 0 0 0 0 0 0 0 0 0 555 18 PartBundle const * 8576 18 PartBundle const * 18 PartBundle const * 0 0 556 0 0 0 0 0 0 0 0 0 0 556 16 PartBundle const 8832 16 PartBundle const 16 PartBundle const 0 0 453 0 0 0 0 0 0 0 0 0 0 557 16 PartBundleNode * 8576 16 PartBundleNode * 16 PartBundleNode * 0 0 457 0 0 0 0 0 0 0 0 0 0 558 18 PartBundleHandle * 8576 18 PartBundleHandle * 18 PartBundleHandle * 0 0 455 0 0 0 0 0 0 0 0 0 0 559 22 PartBundleNode const * 8576 22 PartBundleNode const * 22 PartBundleNode const * 0 0 560 0 0 0 0 0 0 0 0 0 0 560 20 PartBundleNode const 8832 20 PartBundleNode const 20 PartBundleNode const 0 0 457 0 0 0 0 0 0 0 0 0 0 561 22 MovingPartBase const * 8576 22 MovingPartBase const * 22 MovingPartBase const * 0 0 562 0 0 0 0 0 0 0 0 0 0 562 20 MovingPartBase const 8832 20 MovingPartBase const 20 MovingPartBase const 0 0 458 0 0 0 0 0 0 0 0 0 0 563 40 MovingPart< ACMatrixSwitchType > const * 8576 40 MovingPart< ACMatrixSwitchType > const * 40 MovingPart< ACMatrixSwitchType > const * 0 0 564 0 0 0 0 0 0 0 0 0 0 564 38 MovingPart< ACMatrixSwitchType > const 8832 38 MovingPart< ACMatrixSwitchType > const 38 MovingPart< ACMatrixSwitchType > const 0 0 460 0 0 0 0 0 0 0 0 0 0 565 40 MovingPart< ACScalarSwitchType > const * 8576 40 MovingPart< ACScalarSwitchType > const * 40 MovingPart< ACScalarSwitchType > const * 0 0 566 0 0 0 0 0 0 0 0 0 0 566 38 MovingPart< ACScalarSwitchType > const 8832 38 MovingPart< ACScalarSwitchType > const 38 MovingPart< ACScalarSwitchType > const 0 0 462 0 0 0 0 0 0 0 0 0 0 567 6 string 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 568 0 1 12 get_children 16 get_num_children 9 get_child 569 0 31 12 get_children 16 get_num_children 9 get_child 570 0 129 9 get_anims 13 get_num_anims 8 get_anim 571 0 129 14 get_anim_names 13 get_num_anims 13 get_anim_name 572 0 185 9 get_nodes 13 get_num_nodes 8 get_node 573 0 224 11 get_bundles 15 get_num_bundles 10 get_bundle 574 0 224 18 get_bundle_handles 15 get_num_bundles 17 get_bundle_handle 575 0 361 8 get_rows 4 size 7 get_row 576 0 361 8 get_cols 4 size 7 get_col 577 0 361 9 get_row3s 4 size 8 get_row3