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

EggXfmSAnim Class Reference

#include <eggXfmSAnim.h>

Inheritance diagram for EggXfmSAnim:

EggGroupNode EggNode EggNamedObject EggObject Namable TypedReferenceCount TypedObject ReferenceCount List of all members.

Public Member Functions

INLINE EggXfmSAnim (const string &name="", CoordinateSystem cs=CS_default)
 EggXfmSAnim (const EggXfmAnimData &convert_from)
INLINE EggXfmSAnim (const EggXfmSAnim &copy)
INLINE EggXfmSAnim & operator= (const EggXfmSAnim &copy)
INLINE void set_fps (double type)
INLINE void clear_fps ()
INLINE bool has_fps () const
INLINE double get_fps () const
INLINE void set_order (const string &order)
INLINE void clear_order ()
INLINE bool has_order () const
INLINE const string & get_order () const
INLINE CoordinateSystem get_coordinate_system () const
void optimize ()
void optimize_to_standard_order ()
void normalize ()
int get_num_rows () const
void get_value (int row, LMatrix4d &mat) const
bool set_value (int row, const LMatrix4d &mat)
INLINE void clear_data ()
bool add_data (const LMatrix4d &mat)
virtual void write (ostream &out, int indent_level) const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

INLINE const string & get_standard_order ()
void compose_with_order (LMatrix4d &mat, const LVecBase3d &scale, const LVecBase3d &hpr, const LVecBase3d &trans, const string &order, CoordinateSystem cs)
TypeHandle get_class_type ()
void init_type ()

Protected Member Functions

virtual void r_transform (const LMatrix4d &mat, const LMatrix4d &inv, CoordinateSystem to_cs)
virtual void r_mark_coordsys (CoordinateSystem cs)

Private Member Functions

void normalize_by_rebuilding ()
void normalize_by_expanding ()

Private Attributes

double _fps
bool _has_fps
string _order
CoordinateSystem _coordsys

Static Private Attributes

string _standard_order = "sphrt"
TypeHandle _type_handle

Constructor & Destructor Documentation

INLINE EggXfmSAnim::EggXfmSAnim const string &  name = "",
CoordinateSystem  cs = CS_default
 

EggXfmSAnim::EggXfmSAnim const EggXfmAnimData convert_from  ) 
 

Definition at line 48 of file eggXfmSAnim.cxx.

References _coordsys, _has_fps, EggAnimData::add_data(), row, set_fps(), and set_order().

INLINE EggXfmSAnim::EggXfmSAnim const EggXfmSAnim &  copy  ) 
 


Member Function Documentation

bool EggXfmSAnim::add_data const LMatrix4d &  mat  ) 
 

Definition at line 489 of file eggXfmSAnim.cxx.

References _coordsys, EggAnimData::add_data(), EggGroupNode::begin(), EggGroupNode::const_iterator, DCAST, decompose_matrix(), EggGroupNode::empty(), EggGroupNode::end(), EggSAnimData::get_class_type(), EggSAnimData::get_num_rows(), get_order(), get_standard_order(), p, scale, and set_order().

Referenced by normalize_by_rebuilding(), r_transform(), and EggXfmAnimData::r_transform().

INLINE void EggXfmSAnim::clear_data  ) 
 

INLINE void EggXfmSAnim::clear_fps  ) 
 

INLINE void EggXfmSAnim::clear_order  ) 
 

void EggXfmSAnim::compose_with_order LMatrix4d &  mat,
const LVecBase3d &  scale,
const LVecBase3d &  hpr,
const LVecBase3d &  trans,
const string &  order,
CoordinateSystem  cs
[static]
 

Definition at line 188 of file eggXfmSAnim.cxx.

References cs, egg_support_old_anims, and scale.

Referenced by get_value(), and EggXfmAnimData::get_value().

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

Reimplemented from EggGroupNode.

Definition at line 110 of file eggXfmSAnim.h.

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

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

Reimplemented from EggGroupNode.

Definition at line 99 of file eggXfmSAnim.h.

Referenced by AnimBundleMaker::create_xfm_channel(), and AnimBundleMaker::inspect_tree().

INLINE CoordinateSystem EggXfmSAnim::get_coordinate_system  )  const
 

INLINE double EggXfmSAnim::get_fps  )  const
 

Referenced by AnimBundleMaker::inspect_tree(), and write().

int EggXfmSAnim::get_num_rows  )  const
 

Definition at line 250 of file eggXfmSAnim.cxx.

References EggGroupNode::begin(), EggGroupNode::const_iterator, DCAST, EggGroupNode::end(), EggSAnimData::get_class_type(), and EggSAnimData::get_num_rows().

Referenced by get_value(), normalize_by_rebuilding(), and r_transform().

INLINE const string& EggXfmSAnim::get_order  )  const
 

Referenced by add_data(), get_value(), normalize(), optimize_to_standard_order(), set_value(), and write().

INLINE const string& EggXfmSAnim::get_standard_order  )  [static]
 

Referenced by add_data(), normalize(), optimize_to_standard_order(), and set_value().

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

Reimplemented from EggGroupNode.

Definition at line 107 of file eggXfmSAnim.h.

References EggGroupNode::get_class_type().

void EggXfmSAnim::get_value int  row,
LMatrix4d &  mat
const
 

Definition at line 284 of file eggXfmSAnim.cxx.

References _coordsys, EggGroupNode::begin(), compose_with_order(), EggGroupNode::const_iterator, DCAST, EggGroupNode::end(), EggSAnimData::get_class_type(), get_num_rows(), EggSAnimData::get_num_rows(), get_order(), EggSAnimData::get_value(), row, and scale.

Referenced by normalize_by_rebuilding(), and r_transform().

INLINE bool EggXfmSAnim::has_fps  )  const
 

Referenced by AnimBundleMaker::inspect_tree(), and write().

INLINE bool EggXfmSAnim::has_order  )  const
 

Referenced by write().

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

Reimplemented from EggGroupNode.

Definition at line 102 of file eggXfmSAnim.h.

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

Referenced by init_libegg().

void EggXfmSAnim::normalize  ) 
 

Definition at line 138 of file eggXfmSAnim.cxx.

References get_order(), get_standard_order(), normalize_by_expanding(), and normalize_by_rebuilding().

void EggXfmSAnim::normalize_by_expanding  )  [private]
 

Definition at line 680 of file eggXfmSAnim.cxx.

References EggAnimData::add_data(), EggGroupNode::begin(), DCAST, EggGroupNode::end(), EggSAnimData::get_class_type(), EggSAnimData::get_num_rows(), EggSAnimData::get_value(), EggGroupNode::iterator, and p.

Referenced by normalize().

void EggXfmSAnim::normalize_by_rebuilding  )  [private]
 

Definition at line 649 of file eggXfmSAnim.cxx.

References add_data(), get_num_rows(), get_value(), r, and EggGroupNode::steal_children().

Referenced by normalize(), and optimize_to_standard_order().

INLINE EggXfmSAnim& EggXfmSAnim::operator= const EggXfmSAnim &  copy  ) 
 

void EggXfmSAnim::optimize  ) 
 

Definition at line 78 of file eggXfmSAnim.cxx.

References EggParameters::_table_threshold, EggGroupNode::begin(), DCAST, egg_parameters, EggGroupNode::end(), EggGroupNode::erase(), EggSAnimData::get_class_type(), EggSAnimData::get_num_rows(), EggSAnimData::get_value(), EggGroupNode::iterator, NULL, and EggSAnimData::optimize().

Referenced by optimize_to_standard_order(), r_transform(), and EggXfmAnimData::r_transform().

void EggXfmSAnim::optimize_to_standard_order  ) 
 

Definition at line 121 of file eggXfmSAnim.cxx.

References get_order(), get_standard_order(), normalize_by_rebuilding(), and optimize().

Referenced by AnimBundleMaker::create_xfm_channel().

void EggXfmSAnim::r_mark_coordsys CoordinateSystem  cs  )  [protected, virtual]
 

Reimplemented from EggGroupNode.

Definition at line 634 of file eggXfmSAnim.cxx.

References _coordsys, and cs.

void EggXfmSAnim::r_transform const LMatrix4d &  mat,
const LMatrix4d &  inv,
CoordinateSystem  to_cs
[protected, virtual]
 

Reimplemented from EggGroupNode.

Definition at line 591 of file eggXfmSAnim.cxx.

References _coordsys, add_data(), CS_default, get_num_rows(), get_value(), optimize(), r, and EggGroupNode::steal_children().

INLINE void EggXfmSAnim::set_fps double  type  ) 
 

Referenced by EggXfmSAnim(), and EggXfmAnimData::r_transform().

INLINE void EggXfmSAnim::set_order const string &  order  ) 
 

Referenced by add_data(), EggXfmSAnim(), and EggXfmAnimData::r_transform().

bool EggXfmSAnim::set_value int  row,
const LMatrix4d &  mat
 

Definition at line 374 of file eggXfmSAnim.cxx.

References _coordsys, EggGroupNode::begin(), EggGroupNode::const_iterator, DCAST, decompose_matrix(), EggGroupNode::end(), EggSAnimData::get_class_type(), EggSAnimData::get_num_rows(), get_order(), get_standard_order(), row, scale, and EggSAnimData::set_value().

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

Reimplemented from EggGroupNode.

Definition at line 160 of file eggXfmSAnim.cxx.

References get_fps(), get_order(), has_fps(), has_order(), indent(), EggNode::test_under_integrity(), EggGroupNode::write(), and EggNamedObject::write_header().


Member Data Documentation

CoordinateSystem EggXfmSAnim::_coordsys [private]
 

Definition at line 93 of file eggXfmSAnim.h.

Referenced by add_data(), EggXfmSAnim(), get_value(), r_mark_coordsys(), r_transform(), and set_value().

double EggXfmSAnim::_fps [private]
 

Definition at line 90 of file eggXfmSAnim.h.

bool EggXfmSAnim::_has_fps [private]
 

Definition at line 91 of file eggXfmSAnim.h.

Referenced by EggXfmSAnim().

string EggXfmSAnim::_order [private]
 

Definition at line 92 of file eggXfmSAnim.h.

string EggXfmSAnim::_standard_order = "sphrt" [static, private]
 

Definition at line 38 of file eggXfmSAnim.cxx.

TypeHandle EggXfmSAnim::_type_handle [static, private]
 

Reimplemented from EggGroupNode.

Definition at line 30 of file eggXfmSAnim.cxx.


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