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

Character Class Reference

#include <character.h>

Inheritance diagram for Character:

PartBundleNode PandaNode TypedWritable Namable BoundedObject ReferenceCount TypedObject List of all members.

Public Member Functions

 Character (const string &name)
virtual ~Character ()
virtual PandaNodemake_copy () const
virtual bool safe_to_transform () const
virtual bool has_cull_callback () const
virtual bool cull_callback (CullTraverser *trav, CullTraverserData &data)
INLINE ComputedVerticesget_computed_vertices () const
INLINE int get_num_parts () const
INLINE PartGroupget_part (int n) const
INLINE void write_parts (ostream &out) const
INLINE void write_part_values (ostream &out) const
void update_to_now ()
void update ()
void force_update ()
virtual void write_datagram (BamWriter *manager, Datagram &dg)
virtual int complete_pointers (TypedWritable **plist, BamReader *manager)
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

void register_with_read_factory ()
TypeHandle get_class_type ()
void init_type ()

Public Attributes

PUBLISHED __pad0__: INLINE CharacterJointBundle *get_bundle() const

Protected Member Functions

 Character (const Character &copy)
void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

TypedWritablemake_from_bam (const FactoryParams &params)

Private Types

typedef pmap< const PandaNode *,
PandaNode * > 
NodeMap
typedef vector_PartGroupStar Parts

Private Member Functions

void copy_joints (PartGroup *copy, PartGroup *orig)
virtual void r_copy_children (const PandaNode *from, InstanceMap &inst_map)
void r_copy_char (PandaNode *dest, const PandaNode *source, const Character *from, NodeMap &node_map)
 PT (Geom) copy_geom(Geom *source
void copy_node_pointers (const Character *from, const NodeMap &node_map)
 PT (ComputedVertices) _computed_vertices

Private Attributes

const Character * from
DynamicVertices _cv
Parts _parts
PStatCollector _char_pcollector

Static Private Attributes

PStatCollector _anim_pcollector
TypeHandle _type_handle

Friends

class CharacterMaker
class ComputedVerticesMaker
class ComputedVertices

Member Typedef Documentation

typedef pmap<const PandaNode *, PandaNode *> Character::NodeMap [private]
 

Definition at line 71 of file character.h.

Referenced by r_copy_children().

typedef vector_PartGroupStar Character::Parts [private]
 

Definition at line 92 of file character.h.


Constructor & Destructor Documentation

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

Definition at line 46 of file character.cxx.

References copy_joints().

Referenced by make_copy(), and make_from_bam().

Character::Character const string &  name  ) 
 

Definition at line 67 of file character.cxx.

Character::~Character  )  [virtual]
 

Definition at line 79 of file character.cxx.


Member Function Documentation

int Character::complete_pointers TypedWritable **  plist,
BamReader manager
[virtual]
 

Reimplemented from PartBundleNode.

Definition at line 482 of file character.cxx.

References _parts, PartBundleNode::complete_pointers(), and DCAST.

void Character::copy_joints PartGroup copy,
PartGroup orig
[private]
 

Definition at line 228 of file character.cxx.

References PartGroup::_children, _parts, PartGroup::get_type(), and PartGroup::make_copy().

Referenced by Character().

void Character::copy_node_pointers const Character *  from,
const NodeMap node_map
[private]
 

Definition at line 395 of file character.cxx.

References CharacterJoint::_local_transform_nodes, CharacterJoint::_net_transform_nodes, _parts, CharacterJoint::add_local_transform(), DCAST_INTO_V, and CharacterJoint::get_class_type().

Referenced by r_copy_children().

bool Character::cull_callback CullTraverser trav,
CullTraverserData data
[virtual]
 

Reimplemented from PandaNode.

Definition at line 145 of file character.cxx.

References update_to_now().

void Character::fillin DatagramIterator scan,
BamReader manager
[protected]
 

Reimplemented from PartBundleNode.

Definition at line 522 of file character.cxx.

References _anim_pcollector, _char_pcollector, _cv, _parts, DynamicVertices::fillin(), PartBundleNode::fillin(), Namable::get_name(), DatagramIterator::get_uint16(), Namable::has_name(), NULL, and BamReader::read_pointer().

Referenced by make_from_bam().

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

Reimplemented from PartBundleNode.

Definition at line 113 of file character.h.

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

void Character::force_update  ) 
 

Definition at line 208 of file character.cxx.

References _char_pcollector, and NULL.

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

Reimplemented from PartBundleNode.

Definition at line 114 of file character.h.

Referenced by r_copy_char(), and register_with_read_factory().

INLINE ComputedVertices* Character::get_computed_vertices  )  const
 

INLINE int Character::get_num_parts  )  const
 

INLINE PartGroup* Character::get_part int  n  )  const
 

Referenced by compute_morphs(), ComputedVertices::update(), and ComputedVertices::write().

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

Reimplemented from PartBundleNode.

Definition at line 110 of file character.h.

References PartBundleNode::get_class_type().

bool Character::has_cull_callback  )  const [virtual]
 

Reimplemented from PandaNode.

Definition at line 121 of file character.cxx.

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

Reimplemented from PartBundleNode.

Definition at line 117 of file character.h.

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

Referenced by init_libchar().

PandaNode * Character::make_copy  )  const [virtual]
 

Reimplemented from PandaNode.

Definition at line 94 of file character.cxx.

References Character().

TypedWritable * Character::make_from_bam const FactoryParams params  )  [static, protected]
 

Reimplemented from PandaNode.

Definition at line 503 of file character.cxx.

References Character(), fillin(), params, and parse_params().

Referenced by register_with_read_factory().

Character::PT ComputedVertices   )  [private]
 

Character::PT Geom   )  [private]
 

void Character::r_copy_char PandaNode dest,
const PandaNode source,
const Character *  from,
NodeMap node_map
[private]
 

Definition at line 289 of file character.cxx.

References PandaNode::add_child(), GeomNode::add_geom(), DCAST_INTO_V, PandaNode::get_child(), PandaNode::get_child_sort(), get_class_type(), GeomNode::get_geom(), GeomNode::get_geom_state(), PandaNode::get_num_children(), PandaNode::is_geom_node(), TypedObject::is_of_type(), PandaNode::make_copy(), and GeomNode::remove_all_geoms().

Referenced by r_copy_children().

void Character::r_copy_children const PandaNode from,
InstanceMap inst_map
[private, virtual]
 

Reimplemented from PandaNode.

Definition at line 264 of file character.cxx.

References copy_node_pointers(), DCAST_INTO_V, NodeMap, and r_copy_char().

void Character::register_with_read_factory  )  [static]
 

Reimplemented from PandaNode.

Definition at line 451 of file character.cxx.

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

Referenced by init_libchar().

bool Character::safe_to_transform  )  const [virtual]
 

Reimplemented from PandaNode.

Definition at line 107 of file character.cxx.

void Character::update  ) 
 

Definition at line 185 of file character.cxx.

References _char_pcollector, even_animation, and NULL.

Referenced by update_to_now().

void Character::update_to_now  ) 
 

Definition at line 165 of file character.cxx.

References ClockObject::get_frame_time(), ClockObject::get_global_clock(), and update().

Referenced by cull_callback().

void Character::write_datagram BamWriter manager,
Datagram dg
[virtual]
 

Reimplemented from PartBundleNode.

Definition at line 462 of file character.cxx.

References _cv, _parts, Datagram::add_uint16(), DynamicVertices::write_datagram(), PartBundleNode::write_datagram(), and BamWriter::write_pointer().

INLINE void Character::write_part_values ostream &  out  )  const
 

INLINE void Character::write_parts ostream &  out  )  const
 


Friends And Related Function Documentation

friend class CharacterMaker [friend]
 

Definition at line 126 of file character.h.

friend class ComputedVertices [friend]
 

Definition at line 128 of file character.h.

friend class ComputedVerticesMaker [friend]
 

Definition at line 127 of file character.h.


Member Data Documentation

PUBLISHED Character::__pad0__
 

Reimplemented from PartBundleNode.

Definition at line 55 of file character.h.

PStatCollector Character::_anim_pcollector [static, private]
 

Referenced by fillin().

PStatCollector Character::_char_pcollector [private]
 

Definition at line 96 of file character.h.

Referenced by fillin(), force_update(), and update().

DynamicVertices Character::_cv [private]
 

Definition at line 84 of file character.h.

Referenced by fillin(), ComputedVerticesMaker::make_computed_vertices(), ComputedVertices::make_orig(), PT(), ComputedVertices::update(), and write_datagram().

Parts Character::_parts [private]
 

Definition at line 93 of file character.h.

Referenced by complete_pointers(), copy_joints(), copy_node_pointers(), fillin(), CharacterMaker::make_node(), and write_datagram().

TypeHandle Character::_type_handle [static, private]
 

Reimplemented from PartBundleNode.

Definition at line 34 of file character.cxx.

const Character* Character::from [private]
 

Definition at line 76 of file character.h.


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