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

CharacterMaker Class Reference

#include <characterMaker.h>

List of all members.

Public Member Functions

 CharacterMaker (EggGroup *root, EggLoader &loader)
Charactermake_node ()
PartGroupegg_to_part (EggNode *egg_node) const
int egg_to_index (EggNode *egg_node) const
PandaNodepart_to_node (PartGroup *part) const
int create_slider (const string &name)

Private Types

typedef pmap< EggNode *, int > NodeMap
typedef vector_PartGroupStar Parts

Private Member Functions

CharacterJointBundlemake_bundle ()
void build_joint_hierarchy (EggNode *egg_node, PartGroup *part)
void parent_joint_nodes (PartGroup *part)
void make_geometry (EggNode *egg_node)
void make_static_primitive (EggPrimitive *egg_primitive, EggGroupNode *prim_home)
void make_dynamic_primitive (EggPrimitive *egg_primitive, EggGroupNode *prim_home)
EggGroupNodedetermine_primitive_home (EggPrimitive *egg_primitive)

Private Attributes

NodeMap _node_map
Parts _parts
EggLoader_loader
EggGroup_egg_root
Character_character_node
CharacterJointBundle_bundle
ComputedVerticesMaker _comp_verts_maker
PartGroup_morph_root
PartGroup_skeleton_root


Member Typedef Documentation

typedef pmap<EggNode *, int> CharacterMaker::NodeMap [private]
 

Definition at line 73 of file characterMaker.h.

typedef vector_PartGroupStar CharacterMaker::Parts [private]
 

Definition at line 76 of file characterMaker.h.


Constructor & Destructor Documentation

CharacterMaker::CharacterMaker EggGroup root,
EggLoader loader
 

Definition at line 39 of file characterMaker.cxx.

References _bundle, _character_node, _egg_root, _morph_root, _skeleton_root, loader, NULL, and root.


Member Function Documentation

void CharacterMaker::build_joint_hierarchy EggNode egg_node,
PartGroup part
[private]
 

Definition at line 163 of file characterMaker.cxx.

References _node_map, _parts, EggGroupNode::begin(), EggGroupNode::const_iterator, EggGroup::DC_none, DCAST, EggGroupNode::end(), EggGroup::get_class_type(), EggGroup::get_dcs_type(), EggGroup::get_group_type(), EggTransform3d::get_transform(), EggGroup::GT_joint, EggTransform3d::has_transform(), index, TypedObject::is_of_type(), and LCAST.

Referenced by make_bundle().

int CharacterMaker::create_slider const string &  name  ) 
 

Definition at line 127 of file characterMaker.cxx.

References _bundle, _morph_root, _parts, index, and NULL.

Referenced by ComputedVerticesMaker::make_computed_vertices().

EggGroupNode * CharacterMaker::determine_primitive_home EggPrimitive egg_primitive  )  [private]
 

Definition at line 306 of file characterMaker.cxx.

References EggPrimitive::begin(), EggPrimitive::const_iterator, EggGroup::DC_none, DCAST, EggGroup::DT_none, EggPrimitive::end(), EggGroup::get_class_type(), EggGroup::get_dart_type(), EggGroup::get_dcs_type(), EggGroup::get_group_type(), EggNode::get_parent(), EggVertex::gref_begin(), EggVertex::gref_size(), EggGroup::GT_joint, TypedObject::is_of_type(), and NULL.

Referenced by make_geometry().

int CharacterMaker::egg_to_index EggNode egg_node  )  const
 

Definition at line 89 of file characterMaker.cxx.

References _node_map.

Referenced by egg_to_part(), and ComputedVerticesMaker::make_computed_vertices().

PartGroup * CharacterMaker::egg_to_part EggNode egg_node  )  const
 

Definition at line 71 of file characterMaker.cxx.

References _bundle, _parts, egg_to_index(), index, and NULL.

Referenced by make_dynamic_primitive(), and make_static_primitive().

CharacterJointBundle * CharacterMaker::make_bundle  )  [private]
 

Definition at line 144 of file characterMaker.cxx.

References _bundle, _character_node, _comp_verts_maker, _egg_root, _skeleton_root, build_joint_hierarchy(), ComputedVerticesMaker::make_computed_vertices(), make_geometry(), parent_joint_nodes(), and PartGroup::sort_descendants().

Referenced by make_node().

void CharacterMaker::make_dynamic_primitive EggPrimitive egg_primitive,
EggGroupNode prim_home
[private]
 

Definition at line 289 of file characterMaker.cxx.

References _comp_verts_maker, _loader, egg_to_part(), EggNode::get_node_frame_inv(), EggNode::get_vertex_frame(), EggLoader::make_indexed_primitive(), part_to_node(), and transform.

Referenced by make_geometry().

void CharacterMaker::make_geometry EggNode egg_node  )  [private]
 

Definition at line 236 of file characterMaker.cxx.

References _egg_root, EggGroupNode::begin(), EggGroupNode::const_iterator, DCAST, determine_primitive_home(), EggPrimitive::empty(), EggGroupNode::end(), EggGroupNode::get_class_type(), EggPrimitive::get_class_type(), TypedObject::is_of_type(), make_dynamic_primitive(), make_static_primitive(), and NULL.

Referenced by make_bundle().

Character * CharacterMaker::make_node  ) 
 

Definition at line 55 of file characterMaker.cxx.

References _character_node, _parts, Character::_parts, and make_bundle().

Referenced by EggLoader::make_node().

void CharacterMaker::make_static_primitive EggPrimitive egg_primitive,
EggGroupNode prim_home
[private]
 

Definition at line 271 of file characterMaker.cxx.

References _loader, egg_to_part(), EggNode::get_node_frame_inv(), EggNode::get_vertex_frame(), EggLoader::make_nonindexed_primitive(), part_to_node(), and transform.

Referenced by make_geometry().

void CharacterMaker::parent_joint_nodes PartGroup part  )  [private]
 

Definition at line 214 of file characterMaker.cxx.

References _character_node, CharacterJoint::_net_transform, PandaNode::add_child(), DCAST, PartGroup::get_child(), CharacterJoint::get_class_type(), TypedObject::is_of_type(), NULL, and PandaNode::set_transform().

Referenced by make_bundle().

PandaNode * CharacterMaker::part_to_node PartGroup part  )  const
 

Definition at line 106 of file characterMaker.cxx.

References _character_node, DCAST, CharacterJoint::get_class_type(), TypedObject::is_of_type(), and NULL.

Referenced by make_dynamic_primitive(), and make_static_primitive().


Member Data Documentation

CharacterJointBundle* CharacterMaker::_bundle [private]
 

Definition at line 82 of file characterMaker.h.

Referenced by CharacterMaker(), create_slider(), egg_to_part(), and make_bundle().

Character* CharacterMaker::_character_node [private]
 

Definition at line 81 of file characterMaker.h.

Referenced by CharacterMaker(), make_bundle(), make_node(), parent_joint_nodes(), and part_to_node().

ComputedVerticesMaker CharacterMaker::_comp_verts_maker [private]
 

Definition at line 83 of file characterMaker.h.

Referenced by make_bundle(), and make_dynamic_primitive().

EggGroup* CharacterMaker::_egg_root [private]
 

Definition at line 80 of file characterMaker.h.

Referenced by CharacterMaker(), make_bundle(), and make_geometry().

EggLoader& CharacterMaker::_loader [private]
 

Definition at line 79 of file characterMaker.h.

Referenced by make_dynamic_primitive(), and make_static_primitive().

PartGroup* CharacterMaker::_morph_root [private]
 

Definition at line 84 of file characterMaker.h.

Referenced by CharacterMaker(), and create_slider().

NodeMap CharacterMaker::_node_map [private]
 

Definition at line 74 of file characterMaker.h.

Referenced by build_joint_hierarchy(), and egg_to_index().

Parts CharacterMaker::_parts [private]
 

Definition at line 77 of file characterMaker.h.

Referenced by build_joint_hierarchy(), create_slider(), egg_to_part(), and make_node().

PartGroup* CharacterMaker::_skeleton_root [private]
 

Definition at line 85 of file characterMaker.h.

Referenced by CharacterMaker(), and make_bundle().


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