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

EggTransform3d Class Reference

#include <eggTransform3d.h>

Inheritance diagram for EggTransform3d:

EggGroup EggBin List of all members.

Public Types

enum  ComponentType {
  CT_invalid, CT_translate, CT_rotx, CT_roty,
  CT_rotz, CT_rotate, CT_scale, CT_uniform_scale,
  CT_matrix
}

Public Member Functions

 EggTransform3d ()
 EggTransform3d (const EggTransform3d &copy)
EggTransform3d & operator= (const EggTransform3d &copy)
virtual ~EggTransform3d ()
INLINE void clear_transform ()
void add_translate (const LVector3d &translate)
void add_rotx (double angle)
void add_roty (double angle)
void add_rotz (double angle)
void add_rotate (double angle, const LVector3d &axis)
void add_rotate (const LQuaterniond &quat)
void add_scale (const LVecBase3d &scale)
void add_uniform_scale (double scale)
INLINE void add_matrix (const LMatrix4d &mat)
INLINE bool has_transform () const
INLINE void set_transform (const LMatrix4d &mat)
INLINE const LMatrix4d & get_transform () const
INLINE bool transform_is_identity () const
INLINE int get_num_components () const
INLINE ComponentType get_component_type (int n) const
INLINE double get_component_number (int n) const
INLINE const LVector3d & get_component_vector (int n) const
INLINE const LMatrix4d & get_component_matrix (int n) const
void write (ostream &out, int indent_level) const

Protected Member Functions

void internal_clear_transform ()
void internal_add_matrix (const LMatrix4d &mat)
INLINE void internal_set_transform (const LMatrix4d &mat)
virtual void transform_changed ()

Private Types

typedef pvector< ComponentComponents

Private Attributes

Components _components
LMatrix4d _transform

Member Typedef Documentation

typedef pvector<Component> EggTransform3d::Components [private]
 

Definition at line 98 of file eggTransform3d.h.


Member Enumeration Documentation

enum EggTransform3d::ComponentType
 

Enumeration values:
CT_invalid 
CT_translate 
CT_rotx 
CT_roty 
CT_rotz 
CT_rotate 
CT_scale 
CT_uniform_scale 
CT_matrix 

Definition at line 57 of file eggTransform3d.h.


Constructor & Destructor Documentation

EggTransform3d::EggTransform3d  ) 
 

Definition at line 28 of file eggTransform3d.cxx.

EggTransform3d::EggTransform3d const EggTransform3d &  copy  ) 
 

Definition at line 39 of file eggTransform3d.cxx.

EggTransform3d::~EggTransform3d  )  [virtual]
 

Definition at line 63 of file eggTransform3d.cxx.


Member Function Documentation

INLINE void EggTransform3d::add_matrix const LMatrix4d &  mat  ) 
 

void EggTransform3d::add_rotate const LQuaterniond &  quat  ) 
 

Definition at line 146 of file eggTransform3d.cxx.

References add_rotate(), and transform_changed().

void EggTransform3d::add_rotate double  angle,
const LVector3d &  axis
 

Definition at line 130 of file eggTransform3d.cxx.

References _components, _transform, CT_rotate, and transform_changed().

Referenced by add_rotate().

void EggTransform3d::add_rotx double  angle  ) 
 

Definition at line 88 of file eggTransform3d.cxx.

References _components, _transform, CT_rotx, and transform_changed().

void EggTransform3d::add_roty double  angle  ) 
 

Definition at line 102 of file eggTransform3d.cxx.

References _components, _transform, CT_roty, and transform_changed().

void EggTransform3d::add_rotz double  angle  ) 
 

Definition at line 116 of file eggTransform3d.cxx.

References _components, _transform, CT_rotz, and transform_changed().

void EggTransform3d::add_scale const LVecBase3d &  scale  ) 
 

Definition at line 158 of file eggTransform3d.cxx.

References _components, _transform, CT_scale, scale, and transform_changed().

void EggTransform3d::add_translate const LVector3d &  translate  ) 
 

Definition at line 73 of file eggTransform3d.cxx.

References _components, _transform, CT_translate, and transform_changed().

void EggTransform3d::add_uniform_scale double  scale  ) 
 

Definition at line 171 of file eggTransform3d.cxx.

References _components, _transform, CT_uniform_scale, scale, and transform_changed().

INLINE void EggTransform3d::clear_transform  ) 
 

INLINE const LMatrix4d& EggTransform3d::get_component_matrix int  n  )  const
 

Referenced by CPT(), and write().

INLINE double EggTransform3d::get_component_number int  n  )  const
 

Referenced by CPT(), and write().

INLINE ComponentType EggTransform3d::get_component_type int  n  )  const
 

Referenced by CPT(), and write().

INLINE const LVector3d& EggTransform3d::get_component_vector int  n  )  const
 

Referenced by CPT(), and write().

INLINE int EggTransform3d::get_num_components  )  const
 

Referenced by CPT(), and write().

INLINE const LMatrix4d& EggTransform3d::get_transform  )  const
 

Referenced by EggGroup::adjust_under(), CharacterMaker::build_joint_hierarchy(), and EggGroup::r_transform().

INLINE bool EggTransform3d::has_transform  )  const
 

Referenced by EggGroup::adjust_under(), CharacterMaker::build_joint_hierarchy(), EggLoader::create_group_arc(), and EggGroup::write().

void EggTransform3d::internal_add_matrix const LMatrix4d &  mat  )  [protected]
 

Definition at line 260 of file eggTransform3d.cxx.

References _components, _transform, and CT_matrix.

void EggTransform3d::internal_clear_transform  )  [protected]
 

Definition at line 248 of file eggTransform3d.cxx.

References _components, and _transform.

Referenced by EggGroup::r_flatten_transforms().

INLINE void EggTransform3d::internal_set_transform const LMatrix4d &  mat  )  [protected]
 

Referenced by EggGroup::r_transform().

EggTransform3d & EggTransform3d::operator= const EggTransform3d &  copy  ) 
 

Definition at line 51 of file eggTransform3d.cxx.

References _components, and _transform.

Referenced by EggGroup::operator=().

INLINE void EggTransform3d::set_transform const LMatrix4d &  mat  ) 
 

void EggTransform3d::transform_changed  )  [protected, virtual]
 

Reimplemented in EggGroup.

Definition at line 275 of file eggTransform3d.cxx.

Referenced by add_rotate(), add_rotx(), add_roty(), add_rotz(), add_scale(), add_translate(), and add_uniform_scale().

INLINE bool EggTransform3d::transform_is_identity  )  const
 

Referenced by EggGroup::r_transform().

void EggTransform3d::write ostream &  out,
int  indent_level
const
 

Reimplemented in EggGroup.

Definition at line 184 of file eggTransform3d.cxx.

References CT_invalid, CT_matrix, CT_rotate, CT_rotx, CT_roty, CT_rotz, CT_scale, CT_translate, CT_uniform_scale, get_component_matrix(), get_component_number(), get_component_type(), get_component_vector(), get_num_components(), and indent().

Referenced by EggGroup::write().


Member Data Documentation

Components EggTransform3d::_components [private]
 

Definition at line 99 of file eggTransform3d.h.

Referenced by add_rotate(), add_rotx(), add_roty(), add_rotz(), add_scale(), add_translate(), add_uniform_scale(), internal_add_matrix(), internal_clear_transform(), and operator=().

LMatrix4d EggTransform3d::_transform [private]
 

Definition at line 100 of file eggTransform3d.h.

Referenced by add_rotate(), add_rotx(), add_roty(), add_rotz(), add_scale(), add_translate(), add_uniform_scale(), internal_add_matrix(), internal_clear_transform(), and operator=().


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