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

EggAttributes Class Reference

#include <eggAttributes.h>

Inheritance diagram for EggAttributes:

EggPrimitive EggVertex EggCurve EggPoint EggPolygon EggSurface EggNurbsCurve EggNurbsSurface List of all members.

Public Member Functions

 EggAttributes ()
 EggAttributes (const EggAttributes &copy)
EggAttributes & operator= (const EggAttributes &copy)
virtual ~EggAttributes ()
INLINE bool has_normal () const
INLINE const Normaldget_normal () const
INLINE void set_normal (const Normald &normal)
INLINE void clear_normal ()
INLINE bool has_uv () const
INLINE const TexCoorddget_uv () const
INLINE void set_uv (const TexCoordd &texCoord)
INLINE void clear_uv ()
INLINE bool has_color () const
INLINE Colorf get_color () const
INLINE void set_color (const Colorf &Color)
INLINE void clear_color ()
void write (ostream &out, int indent_level) const
bool sorts_less_than (const EggAttributes &other) const
void transform (const LMatrix4d &mat)

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Public Attributes

EggMorphNormalList _dnormals
EggMorphTexCoordList _duvs
EggMorphColorList _drgbas

Private Types

enum  Flags { F_has_normal = 0x001, F_has_uv = 0x002, F_has_color = 0x004 }

Private Attributes

int _flags
Normald _normal
TexCoordd _uv
Colorf _color

Static Private Attributes

TypeHandle _type_handle

Member Enumeration Documentation

enum EggAttributes::Flags [private]
 

Enumeration values:
F_has_normal 
F_has_uv 
F_has_color 

Definition at line 72 of file eggAttributes.h.


Constructor & Destructor Documentation

EggAttributes::EggAttributes  ) 
 

Definition at line 36 of file eggAttributes.cxx.

References _flags.

EggAttributes::EggAttributes const EggAttributes &  copy  ) 
 

Definition at line 46 of file eggAttributes.cxx.

EggAttributes::~EggAttributes  )  [virtual]
 

Definition at line 73 of file eggAttributes.cxx.


Member Function Documentation

INLINE void EggAttributes::clear_color  ) 
 

INLINE void EggAttributes::clear_normal  ) 
 

Referenced by EggGroupNode::r_collect_vertex_normals(), EggGroupNode::recompute_polygon_normals(), and EggGroupNode::strip_normals().

INLINE void EggAttributes::clear_uv  ) 
 

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

Reimplemented in EggCurve, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggPrimitive, EggSurface, and EggVertex.

Definition at line 85 of file eggAttributes.h.

Referenced by EggVertex::force_init_type(), EggPrimitive::force_init_type(), EggVertex::get_type(), EggPrimitive::get_type(), EggVertex::init_type(), and EggPrimitive::init_type().

INLINE Colorf EggAttributes::get_color  )  const
 

Referenced by EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), EggLoader::setup_bucket(), EggPolysetMaker::sorts_less(), and write().

INLINE const Normald& EggAttributes::get_normal  )  const
 

Referenced by EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), and write().

INLINE const TexCoordd& EggAttributes::get_uv  )  const
 

Referenced by EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), EggPrimitive::r_apply_texmats(), and write().

INLINE bool EggAttributes::has_color  )  const
 

Referenced by EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), EggLoader::setup_bucket(), EggPolysetMaker::sorts_less(), sorts_less_than(), and write().

INLINE bool EggAttributes::has_normal  )  const
 

Referenced by EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), EggGroupNode::recompute_polygon_normals(), EggPolysetMaker::sorts_less(), sorts_less_than(), EggGroupNode::strip_normals(), transform(), and write().

INLINE bool EggAttributes::has_uv  )  const
 

Referenced by EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), EggPrimitive::r_apply_texmats(), sorts_less_than(), and write().

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

Reimplemented in EggCurve, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggPrimitive, EggSurface, and EggVertex.

Definition at line 88 of file eggAttributes.h.

References register_type().

Referenced by EggVertex::force_init_type(), EggPrimitive::force_init_type(), init_libegg(), EggVertex::init_type(), and EggPrimitive::init_type().

EggAttributes & EggAttributes::operator= const EggAttributes &  copy  ) 
 

Definition at line 56 of file eggAttributes.cxx.

References _color, _dnormals, _drgbas, _duvs, _flags, _normal, and _uv.

Referenced by EggVertex::operator=().

INLINE void EggAttributes::set_color const Colorf Color  ) 
 

INLINE void EggAttributes::set_normal const Normald normal  ) 
 

Referenced by EggGroupNode::do_compute_vertex_normals().

INLINE void EggAttributes::set_uv const TexCoordd texCoord  ) 
 

Referenced by EggPrimitive::r_apply_texmats().

bool EggAttributes::sorts_less_than const EggAttributes &  other  )  const
 

Definition at line 129 of file eggAttributes.cxx.

References _color, EggParameters::_color_threshold, _dnormals, _drgbas, _duvs, _flags, _normal, EggParameters::_normal_threshold, _uv, EggParameters::_uv_threshold, egg_parameters, has_color(), has_normal(), and has_uv().

Referenced by EggVertex::sorts_less_than().

void EggAttributes::transform const LMatrix4d &  mat  ) 
 

Reimplemented in EggVertex.

Definition at line 177 of file eggAttributes.cxx.

References _dnormals, _normal, EggMorphList< EggMorphNormal >::begin(), EggMorphList< EggMorphNormal >::end(), has_normal(), n, and EggMorph< Parameter >::set_offset().

Referenced by EggPrimitive::r_flatten_transforms(), EggPrimitive::r_transform(), and EggVertex::transform().

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

Reimplemented in EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, and EggVertex.

Definition at line 84 of file eggAttributes.cxx.

References _dnormals, _drgbas, _duvs, EggMorphList< EggMorphColor >::empty(), EggMorphList< EggMorphTexCoord >::empty(), EggMorphList< EggMorphNormal >::empty(), get_color(), get_normal(), get_uv(), has_color(), has_normal(), has_uv(), indent(), EggMorphList< EggMorphColor >::write(), EggMorphList< EggMorphTexCoord >::write(), and EggMorphList< EggMorphNormal >::write().

Referenced by EggVertex::write(), and EggPrimitive::write_body().


Member Data Documentation

Colorf EggAttributes::_color [private]
 

Definition at line 81 of file eggAttributes.h.

Referenced by operator=(), and sorts_less_than().

EggMorphNormalList EggAttributes::_dnormals
 

Definition at line 67 of file eggAttributes.h.

Referenced by EggLoader::make_indexed_primitive(), operator=(), sorts_less_than(), transform(), and write().

EggMorphColorList EggAttributes::_drgbas
 

Definition at line 69 of file eggAttributes.h.

Referenced by EggLoader::make_indexed_primitive(), operator=(), sorts_less_than(), and write().

EggMorphTexCoordList EggAttributes::_duvs
 

Definition at line 68 of file eggAttributes.h.

Referenced by EggLoader::make_indexed_primitive(), operator=(), sorts_less_than(), and write().

int EggAttributes::_flags [private]
 

Definition at line 78 of file eggAttributes.h.

Referenced by EggAttributes(), operator=(), and sorts_less_than().

Normald EggAttributes::_normal [private]
 

Definition at line 79 of file eggAttributes.h.

Referenced by operator=(), sorts_less_than(), and transform().

TypeHandle EggAttributes::_type_handle [static, private]
 

Reimplemented in EggCurve, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggPrimitive, EggSurface, and EggVertex.

Definition at line 27 of file eggAttributes.cxx.

TexCoordd EggAttributes::_uv [private]
 

Definition at line 80 of file eggAttributes.h.

Referenced by operator=(), and sorts_less_than().


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