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

AnimBundleMaker Class Reference

Converts an EggTable hierarchy, beginning with a entry, into an AnimBundle hierarchy. More...

#include <animBundleMaker.h>

List of all members.

Public Member Functions

 AnimBundleMaker (EggTable *root)
AnimBundleNodemake_node ()

Private Member Functions

AnimBundlemake_bundle ()
void inspect_tree (EggNode *node)
 Walks the egg tree, getting out the fps and the number of frames.

void build_hierarchy (EggTable *egg_table, AnimGroup *parent)
 Walks the egg tree again, creating the AnimChannels as appropriate.

AnimChannelScalarTablecreate_s_channel (EggSAnimData *egg_anim, const string &name, AnimGroup *parent)
 Creates an AnimChannelScalarTable corresponding to the given EggSAnimData structure.

AnimChannelMatrixXfmTablecreate_xfm_channel (EggNode *egg_node, const string &name, AnimGroup *parent)
 Creates an AnimChannelMatrixXfmTable corresponding to the given EggNode structure, if possible.

AnimChannelMatrixXfmTablecreate_xfm_channel (EggXfmSAnim *egg_anim, const string &name, AnimGroup *parent)
 Creates an AnimChannelMatrixXfmTable corresponding to the given EggXfmSAnim structure.


Private Attributes

float _fps
int _num_frames
bool _ok_fps
bool _ok_num_frames
EggTable_root


Detailed Description

Converts an EggTable hierarchy, beginning with a entry, into an AnimBundle hierarchy.

Definition at line 48 of file animBundleMaker.h.


Constructor & Destructor Documentation

AnimBundleMaker::AnimBundleMaker EggTable root  ) 
 

Definition at line 44 of file animBundleMaker.cxx.


Member Function Documentation

void AnimBundleMaker::build_hierarchy EggTable egg_table,
AnimGroup parent
[private]
 

Walks the egg tree again, creating the AnimChannels as appropriate.

Definition at line 203 of file animBundleMaker.cxx.

Referenced by make_node().

AnimChannelScalarTable * AnimBundleMaker::create_s_channel EggSAnimData egg_anim,
const string &  name,
AnimGroup parent
[private]
 

Creates an AnimChannelScalarTable corresponding to the given EggSAnimData structure.

Definition at line 257 of file animBundleMaker.cxx.

References create_xfm_channel(), DCAST, EggXfmSAnim::get_class_type(), EggXfmAnimData::get_class_type(), TypedObject::is_of_type(), and NULL.

AnimChannelMatrixXfmTable * AnimBundleMaker::create_xfm_channel EggXfmSAnim egg_anim,
const string &  name,
AnimGroup parent
[private]
 

Creates an AnimChannelMatrixXfmTable corresponding to the given EggXfmSAnim structure.

Definition at line 317 of file animBundleMaker.cxx.

AnimChannelMatrixXfmTable * AnimBundleMaker::create_xfm_channel EggNode egg_node,
const string &  name,
AnimGroup parent
[private]
 

Creates an AnimChannelMatrixXfmTable corresponding to the given EggNode structure, if possible.

Definition at line 287 of file animBundleMaker.cxx.

References AnimChannelMatrixXfmTable(), EggGroupNode::begin(), EggGroupNode::const_iterator, DCAST, EggGroupNode::end(), EggSAnimData::get_class_type(), Namable::get_name(), AnimChannelMatrixXfmTable::is_valid_id(), and EggXfmSAnim::optimize_to_standard_order().

Referenced by create_s_channel().

void AnimBundleMaker::inspect_tree EggNode node  )  [private]
 

Walks the egg tree, getting out the fps and the number of frames.

Definition at line 120 of file animBundleMaker.cxx.

AnimBundle * AnimBundleMaker::make_bundle  )  [private]
 

Definition at line 92 of file animBundleMaker.cxx.

AnimBundleNode * AnimBundleMaker::make_node  ) 
 

Definition at line 80 of file animBundleMaker.cxx.

References _fps, _num_frames, _root, EggGroupNode::begin(), build_hierarchy(), EggGroupNode::const_iterator, DCAST, EggGroupNode::end(), EggTable::get_class_type(), and Namable::get_name().


Member Data Documentation

float AnimBundleMaker::_fps [private]
 

Definition at line 70 of file animBundleMaker.h.

Referenced by make_node().

int AnimBundleMaker::_num_frames [private]
 

Definition at line 71 of file animBundleMaker.h.

Referenced by make_node().

bool AnimBundleMaker::_ok_fps [private]
 

Definition at line 72 of file animBundleMaker.h.

bool AnimBundleMaker::_ok_num_frames [private]
 

Definition at line 73 of file animBundleMaker.h.

EggTable* AnimBundleMaker::_root [private]
 

Definition at line 75 of file animBundleMaker.h.

Referenced by make_node().


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:47:20 2003 for Panda by doxygen1.3