Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PartBundle Class Reference

#include <partBundle.h>

Inheritance diagram for PartBundle:

PartGroup AnimControlCollection TypedWritableReferenceCount Namable TypedWritable ReferenceCount TypedObject CharacterJointBundle List of all members.

Public Types

typedef pmap< AnimControl *,
float > 
ChannelBlend
typedef first_of_pair_iterator<
ChannelBlend::const_iterator > 
control_iterator
typedef ChannelBlend::size_type control_size_type

Public Member Functions

 PartBundle (const string &name="")
virtual PartGroupmake_copy () const
void set_blend_type (BlendType bt)
INLINE BlendType get_blend_type () const
INLINE PartBundleNodeget_node () const
void clear_control_effects ()
void set_control_effect (AnimControl *control, float effect)
float get_control_effect (AnimControl *control)
virtual void output (ostream &out) const
virtual void write (ostream &out, int indent_level) const
 PT (AnimControl) bind_anim(AnimBundle *anim
bool bind_anim (AnimBundle *anim, const string &name, int hierarchy_match_flags=0)
INLINE control_iterator control_begin () const
INLINE control_iterator control_end () const
INLINE control_size_type control_size () const
INLINE const ChannelBlendget_blend_map () const
void advance_time (double time)
bool update ()
bool force_update ()
virtual void control_activated (AnimControl *control)
virtual void finalize ()
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

void register_with_read_factory (void)
TypedWritablemake_PartBundle (const FactoryParams &params)
TypeHandle get_class_type ()
void init_type ()

Public Attributes

PUBLISHED __pad0__: enum BlendType { BT_single
PUBLISHED BT_linear
PUBLISHED BT_normalized_linear
int hierarchy_match_flags = 0)

Protected Member Functions

 PartBundle (const PartBundle &copy)
void recompute_net_blend ()
void clear_and_stop_except (AnimControl *control)

Protected Attributes

BlendType _blend_type
PartBundleNode_node
AnimControl_last_control_set
ChannelBlend _blend
float _net_blend
bool _anim_changed

Static Private Attributes

TypeHandle _type_handle

Friends

class PartBundleNode

Member Typedef Documentation

typedef pmap<AnimControl *, float> PartBundle::ChannelBlend
 

Definition at line 46 of file partBundle.h.

Referenced by clear_and_stop_except(), MovingPartScalar::get_blend_value(), and MovingPartMatrix::get_blend_value().

typedef first_of_pair_iterator<ChannelBlend::const_iterator> PartBundle::control_iterator
 

Definition at line 48 of file partBundle.h.

typedef ChannelBlend::size_type PartBundle::control_size_type
 

Definition at line 49 of file partBundle.h.


Constructor & Destructor Documentation

PartBundle::PartBundle const PartBundle &  copy  )  [protected]
 

Definition at line 42 of file partBundle.cxx.

References _anim_changed, _last_control_set, _net_blend, and NULL.

Referenced by make_copy().

PartBundle::PartBundle const string &  name = ""  ) 
 

Definition at line 61 of file partBundle.cxx.

References _anim_changed, _blend_type, _last_control_set, _net_blend, and NULL.


Member Function Documentation

void PartBundle::advance_time double  time  ) 
 

Definition at line 336 of file partBundle.cxx.

References _blend, and AnimControl::advance_time().

bool PartBundle::bind_anim AnimBundle anim,
const string &  name,
int  hierarchy_match_flags = 0
 

Definition at line 318 of file partBundle.cxx.

References NULL, PT(), and AnimControlCollection::store_anim().

Referenced by bind_anims().

void PartBundle::clear_and_stop_except AnimControl control  )  [protected]
 

Definition at line 480 of file partBundle.cxx.

References _anim_changed, _blend, _net_blend, ChannelBlend, and AnimControl::stop().

Referenced by set_blend_type(), and set_control_effect().

void PartBundle::clear_control_effects  ) 
 

Definition at line 135 of file partBundle.cxx.

References _anim_changed, _blend, and _net_blend.

void PartBundle::control_activated AnimControl control  )  [virtual]
 

Definition at line 400 of file partBundle.cxx.

References get_blend_type(), AnimControl::get_part(), and set_control_effect().

Referenced by AnimControl::loop(), AnimControl::pingpong(), AnimControl::play(), and AnimControl::pose().

INLINE control_iterator PartBundle::control_begin  )  const
 

INLINE control_iterator PartBundle::control_end  )  const
 

INLINE control_size_type PartBundle::control_size  )  const
 

Referenced by set_blend_type().

void PartBundle::finalize  )  [virtual]
 

Reimplemented from TypedWritable.

Definition at line 436 of file partBundle.cxx.

References PartGroup::do_update(), and NULL.

virtual TypeHandle PartBundle::force_init_type void   )  [inline, virtual]
 

Reimplemented from PartGroup.

Reimplemented in CharacterJointBundle.

Definition at line 154 of file partBundle.h.

References PartGroup::get_class_type(), and PartGroup::init_type().

bool PartBundle::force_update  ) 
 

Definition at line 377 of file partBundle.cxx.

References _anim_changed, _blend, PartGroup::do_update(), AnimControl::mark_channels(), and NULL.

INLINE const ChannelBlend& PartBundle::get_blend_map  )  const
 

INLINE BlendType PartBundle::get_blend_type  )  const
 

Referenced by control_activated(), and set_control_effect().

TypeHandle PartBundle::get_class_type void   )  [inline, static]
 

Reimplemented from PartGroup.

Reimplemented in CharacterJointBundle.

Definition at line 155 of file partBundle.h.

Referenced by CharacterJointBundle::force_init_type(), CharacterJointBundle::get_type(), CharacterJointBundle::init_type(), and register_with_read_factory().

float PartBundle::get_control_effect AnimControl control  ) 
 

Definition at line 200 of file partBundle.cxx.

References _blend, and AnimControl::get_part().

Referenced by set_control_effect().

INLINE PartBundleNode* PartBundle::get_node  )  const
 

virtual TypeHandle PartBundle::get_type void   )  const [inline, virtual]
 

Reimplemented from PartGroup.

Reimplemented in CharacterJointBundle.

Definition at line 151 of file partBundle.h.

References PartGroup::get_class_type().

Referenced by output(), and write().

void PartBundle::init_type void   )  [inline, static]
 

Reimplemented from PartGroup.

Reimplemented in CharacterJointBundle.

Definition at line 158 of file partBundle.h.

References PartGroup::get_class_type(), PartGroup::init_type(), and register_type().

Referenced by ConfigureFn(), CharacterJointBundle::force_init_type(), and CharacterJointBundle::init_type().

PartGroup * PartBundle::make_copy  )  const [virtual]
 

Reimplemented from PartGroup.

Reimplemented in CharacterJointBundle.

Definition at line 76 of file partBundle.cxx.

References PartBundle().

TypedWritable * PartBundle::make_PartBundle const FactoryParams params  )  [static]
 

Definition at line 447 of file partBundle.cxx.

References PartGroup::fillin(), params, parse_params(), and BamReader::register_finalize().

Referenced by register_with_read_factory().

void PartBundle::output ostream &  out  )  const [virtual]
 

Reimplemented from Namable.

Definition at line 220 of file partBundle.cxx.

References Namable::get_name(), and get_type().

Referenced by operator<<().

PartBundle::PT AnimControl   ) 
 

Referenced by bind_anim().

void PartBundle::recompute_net_blend  )  [protected]
 

Definition at line 420 of file partBundle.cxx.

References _blend, and _net_blend.

Referenced by set_control_effect().

void PartBundle::register_with_read_factory void   )  [static]
 

Reimplemented from PartGroup.

Reimplemented in CharacterJointBundle.

Definition at line 465 of file partBundle.cxx.

References get_class_type(), BamReader::get_factory(), make_PartBundle(), and Factory< TypedWritable >::register_factory().

Referenced by ConfigureFn().

void PartBundle::set_blend_type BlendType  bt  ) 
 

Definition at line 102 of file partBundle.cxx.

References _anim_changed, _blend_type, _last_control_set, clear_and_stop_except(), control_size(), and NULL.

void PartBundle::set_control_effect AnimControl control,
float  effect
 

Definition at line 161 of file partBundle.cxx.

References _anim_changed, _blend, _last_control_set, clear_and_stop_except(), get_blend_type(), get_control_effect(), AnimControl::get_part(), and recompute_net_blend().

Referenced by control_activated().

bool PartBundle::update  ) 
 

Definition at line 355 of file partBundle.cxx.

References _anim_changed, _blend, PartGroup::do_update(), AnimControl::mark_channels(), and NULL.

void PartBundle::write ostream &  out,
int  indent_level
const [virtual]
 

Reimplemented from PartGroup.

Definition at line 231 of file partBundle.cxx.

References Namable::get_name(), get_type(), indent(), and PartGroup::write_descendants().


Friends And Related Function Documentation

friend class PartBundleNode [friend]
 

Definition at line 167 of file partBundle.h.


Member Data Documentation

PUBLISHED PartBundle::__pad0__
 

Reimplemented from AnimControlCollection.

Reimplemented in CharacterJointBundle.

Definition at line 73 of file partBundle.h.

bool PartBundle::_anim_changed [protected]
 

Definition at line 141 of file partBundle.h.

Referenced by clear_and_stop_except(), clear_control_effects(), force_update(), PartBundle(), set_blend_type(), set_control_effect(), and update().

ChannelBlend PartBundle::_blend [protected]
 

Definition at line 139 of file partBundle.h.

Referenced by advance_time(), clear_and_stop_except(), clear_control_effects(), force_update(), get_control_effect(), recompute_net_blend(), set_control_effect(), and update().

BlendType PartBundle::_blend_type [protected]
 

Definition at line 135 of file partBundle.h.

Referenced by PartBundle(), and set_blend_type().

AnimControl* PartBundle::_last_control_set [protected]
 

Definition at line 138 of file partBundle.h.

Referenced by PartBundle(), set_blend_type(), and set_control_effect().

float PartBundle::_net_blend [protected]
 

Definition at line 140 of file partBundle.h.

Referenced by clear_and_stop_except(), clear_control_effects(), PartBundle(), and recompute_net_blend().

PartBundleNode* PartBundle::_node [protected]
 

Definition at line 136 of file partBundle.h.

TypeHandle PartBundle::_type_handle [static, private]
 

Reimplemented from PartGroup.

Reimplemented in CharacterJointBundle.

Definition at line 31 of file partBundle.cxx.

PUBLISHED PartBundle::BT_linear
 

Definition at line 73 of file partBundle.h.

Referenced by MovingPartMatrix::get_blend_value().

PUBLISHED PartBundle::BT_normalized_linear
 

Definition at line 73 of file partBundle.h.

Referenced by MovingPartMatrix::get_blend_value().

int PartBundle::hierarchy_match_flags = 0)
 

Definition at line 107 of file partBundle.h.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:13:02 2003 for Panda by doxygen1.3