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

EggVertex Class Reference

#include <eggVertex.h>

Inheritance diagram for EggVertex:

EggObject EggAttributes TypedReferenceCount TypedObject ReferenceCount List of all members.

Public Types

typedef pset< EggGroup * > GroupRef
typedef pmultiset< EggPrimitive * > PrimitiveRef

Public Member Functions

 EggVertex ()
 EggVertex (const EggVertex &copy)
EggVertex & operator= (const EggVertex &copy)
virtual ~EggVertex ()
INLINE EggVertexPoolget_pool () const
INLINE void set_pos (double pos)
INLINE void set_pos (const LPoint2d &pos)
INLINE void set_pos (const LPoint3d &pos)
INLINE void set_pos (const LPoint4d &pos)
INLINE void set_pos4 (const LPoint4d &pos)
INLINE int get_num_dimensions () const
INLINE double get_pos1 () const
INLINE LPoint2d get_pos2 () const
INLINE Vertexd get_pos3 () const
INLINE LPoint4d get_pos4 () const
INLINE int get_index () const
INLINE void set_external_index (int external_index)
INLINE int get_external_index () const
void write (ostream &out, int indent_level) const
bool sorts_less_than (const EggVertex &other) const
int get_num_local_coord () const
int get_num_global_coord () const
void transform (const LMatrix4d &mat)
INLINE GroupRef::const_iterator gref_begin () const
INLINE GroupRef::const_iterator gref_end () const
INLINE GroupRef::size_type gref_size () const
bool has_gref (const EggGroup *group) const
void copy_grefs_from (const EggVertex &other)
void clear_grefs ()
INLINE PrimitiveRef::const_iterator pref_begin () const
INLINE PrimitiveRef::const_iterator pref_end () const
INLINE PrimitiveRef::size_type pref_size () const
int has_pref (const EggPrimitive *prim) const
void test_gref_integrity () const
void test_pref_integrity () const
void output (ostream &out) const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Public Attributes

EggMorphVertexList _dxyzs

Private Attributes

EggVertexPool_pool
int _index
int _external_index
LPoint4d _pos
short _num_dimensions
GroupRef _gref
PrimitiveRef _pref

Static Private Attributes

TypeHandle _type_handle

Friends

class EggVertexPool
class EggGroup
class EggPrimitive

Member Typedef Documentation

typedef pset<EggGroup *> EggVertex::GroupRef
 

Definition at line 44 of file eggVertex.h.

Referenced by clear_grefs().

typedef pmultiset<EggPrimitive *> EggVertex::PrimitiveRef
 

Definition at line 45 of file eggVertex.h.


Constructor & Destructor Documentation

EggVertex::EggVertex  ) 
 

Definition at line 43 of file eggVertex.cxx.

References _external_index, _index, _pool, NULL, set_pos(), test_gref_integrity(), and test_pref_integrity().

EggVertex::EggVertex const EggVertex &  copy  ) 
 

Definition at line 59 of file eggVertex.cxx.

References _index, _pool, NULL, test_gref_integrity(), and test_pref_integrity().

EggVertex::~EggVertex  )  [virtual]
 

Definition at line 100 of file eggVertex.cxx.

References _gref, _pool, _pref, and NULL.


Member Function Documentation

void EggVertex::clear_grefs  ) 
 

Definition at line 349 of file eggVertex.cxx.

References _gref, GroupRef, NULL, and EggGroup::unref_vertex().

Referenced by copy_grefs_from(), and EggVertexPool::remove_unused_vertices().

void EggVertex::copy_grefs_from const EggVertex &  other  ) 
 

Definition at line 322 of file eggVertex.cxx.

References clear_grefs(), EggGroup::get_vertex_membership(), gref_begin(), gref_end(), NULL, EggGroup::ref_vertex(), and test_gref_integrity().

Referenced by EggGroupNode::do_compute_vertex_normals(), EggPrimitive::r_apply_texmats(), EggPrimitive::r_flatten_transforms(), EggGroupNode::recompute_polygon_normals(), and EggGroupNode::strip_normals().

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

Reimplemented from EggObject.

Definition at line 135 of file eggVertex.h.

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

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

Reimplemented from EggAttributes.

Definition at line 122 of file eggVertex.h.

INLINE int EggVertex::get_external_index  )  const
 

INLINE int EggVertex::get_index  )  const
 

Referenced by EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), output(), EggPrimitive::write_body(), and EggGroup::write_vertex_ref().

INLINE int EggVertex::get_num_dimensions  )  const
 

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

int EggVertex::get_num_global_coord  )  const
 

Definition at line 259 of file eggVertex.cxx.

References count, EggNode::is_local_coord(), pref_begin(), pref_end(), and test_pref_integrity().

Referenced by EggVertexPool::transform().

int EggVertex::get_num_local_coord  )  const
 

Definition at line 238 of file eggVertex.cxx.

References count, EggNode::is_local_coord(), pref_begin(), pref_end(), and test_pref_integrity().

Referenced by EggVertexPool::transform().

INLINE EggVertexPool* EggVertex::get_pool  )  const
 

Referenced by EggGroupNode::do_compute_vertex_normals(), EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), output(), EggPrimitive::prepare_add_vertex(), EggPrimitive::r_apply_texmats(), EggPrimitive::r_flatten_transforms(), EggGroupNode::recompute_polygon_normals(), EggGroupNode::strip_normals(), EggPrimitive::write_body(), and EggGroup::write_vertex_ref().

INLINE double EggVertex::get_pos1  )  const
 

INLINE LPoint2d EggVertex::get_pos2  )  const
 

INLINE Vertexd EggVertex::get_pos3  )  const
 

Referenced by EggPolygon::calculate_normal(), EggPolygon::decomp_concave(), EggLoader::make_collision_sphere(), EggLoader::make_indexed_primitive(), EggLoader::make_nonindexed_primitive(), EggGroupNode::r_collect_vertex_normals(), and EggPolygon::triangulate_poly().

INLINE LPoint4d EggVertex::get_pos4  )  const
 

Referenced by EggLoader::make_collision_sphere().

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

Reimplemented from EggObject.

Definition at line 132 of file eggVertex.h.

References EggAttributes::get_class_type().

INLINE GroupRef::const_iterator EggVertex::gref_begin  )  const
 

Referenced by ComputedVerticesMaker::add_vertex_joints(), copy_grefs_from(), CharacterMaker::determine_primitive_home(), and test_gref_integrity().

INLINE GroupRef::const_iterator EggVertex::gref_end  )  const
 

Referenced by ComputedVerticesMaker::add_vertex_joints(), copy_grefs_from(), and test_gref_integrity().

INLINE GroupRef::size_type EggVertex::gref_size  )  const
 

Referenced by ComputedVerticesMaker::add_vertex_joints(), and CharacterMaker::determine_primitive_home().

bool EggVertex::has_gref const EggGroup group  )  const
 

Definition at line 304 of file eggVertex.cxx.

References _gref.

Referenced by EggGroup::test_vref_integrity().

int EggVertex::has_pref const EggPrimitive prim  )  const
 

Definition at line 369 of file eggVertex.cxx.

References _pref.

Referenced by EggPrimitive::test_vref_integrity().

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

Reimplemented from EggAttributes.

Definition at line 125 of file eggVertex.h.

References EggAttributes::get_class_type(), EggObject::get_class_type(), EggAttributes::init_type(), EggObject::init_type(), and register_type().

Referenced by init_libegg().

EggVertex & EggVertex::operator= const EggVertex &  copy  ) 
 

Definition at line 80 of file eggVertex.cxx.

References _dxyzs, _external_index, _num_dimensions, _pos, EggAttributes::operator=(), EggObject::operator=(), test_gref_integrity(), and test_pref_integrity().

void EggVertex::output ostream &  out  )  const
 

Definition at line 430 of file eggVertex.cxx.

References get_index(), get_pool(), and NULL.

Referenced by operator<<().

INLINE PrimitiveRef::const_iterator EggVertex::pref_begin  )  const
 

Referenced by get_num_global_coord(), get_num_local_coord(), and test_pref_integrity().

INLINE PrimitiveRef::const_iterator EggVertex::pref_end  )  const
 

Referenced by get_num_global_coord(), get_num_local_coord(), and test_pref_integrity().

INLINE PrimitiveRef::size_type EggVertex::pref_size  )  const
 

Referenced by EggVertexPool::remove_unused_vertices().

INLINE void EggVertex::set_external_index int  external_index  ) 
 

INLINE void EggVertex::set_pos const LPoint4d &  pos  ) 
 

INLINE void EggVertex::set_pos const LPoint3d &  pos  ) 
 

INLINE void EggVertex::set_pos const LPoint2d &  pos  ) 
 

INLINE void EggVertex::set_pos double  pos  ) 
 

Referenced by EggVertex().

INLINE void EggVertex::set_pos4 const LPoint4d &  pos  ) 
 

bool EggVertex::sorts_less_than const EggVertex &  other  )  const
 

Definition at line 210 of file eggVertex.cxx.

References _dxyzs, _external_index, _num_dimensions, _pos, EggParameters::_pos_threshold, egg_parameters, and EggAttributes::sorts_less_than().

void EggVertex::test_gref_integrity  )  const
 

Definition at line 383 of file eggVertex.cxx.

References EggGroup::get_vertex_membership(), gref_begin(), gref_end(), NULL, and ReferenceCount::test_ref_count_integrity().

Referenced by copy_grefs_from(), EggVertex(), operator=(), and write().

void EggVertex::test_pref_integrity  )  const
 

Definition at line 406 of file eggVertex.cxx.

References EggPrimitive::begin(), EggPrimitive::end(), EggPrimitive::iterator, NULL, pref_begin(), pref_end(), and ReferenceCount::test_ref_count_integrity().

Referenced by EggPrimitive::add_vertex(), EggVertex(), get_num_global_coord(), get_num_local_coord(), operator=(), write(), and EggPrimitive::write_body().

void EggVertex::transform const LMatrix4d &  mat  ) 
 

Reimplemented from EggAttributes.

Definition at line 280 of file eggVertex.cxx.

References _dxyzs, _pos, EggMorphList< EggMorphVertex >::begin(), EggMorphList< EggMorphVertex >::end(), EggMorph< Parameter >::set_offset(), and EggAttributes::transform().

Referenced by EggPrimitive::r_flatten_transforms(), and EggVertexPool::transform().

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

Reimplemented from EggAttributes.

Definition at line 148 of file eggVertex.cxx.

References _dxyzs, _gref, _index, _num_dimensions, _pos, indent(), test_gref_integrity(), test_pref_integrity(), EggMorphList< EggMorphVertex >::write(), EggAttributes::write(), and write_long_list().


Friends And Related Function Documentation

friend class EggGroup [friend]
 

Definition at line 141 of file eggVertex.h.

friend class EggPrimitive [friend]
 

Definition at line 142 of file eggVertex.h.

friend class EggVertexPool [friend]
 

Definition at line 140 of file eggVertex.h.


Member Data Documentation

EggMorphVertexList EggVertex::_dxyzs
 

Definition at line 110 of file eggVertex.h.

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

int EggVertex::_external_index [private]
 

Definition at line 115 of file eggVertex.h.

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

GroupRef EggVertex::_gref [private]
 

Definition at line 118 of file eggVertex.h.

Referenced by clear_grefs(), has_gref(), EggGroup::operator=(), EggGroup::ref_vertex(), EggGroup::unref_all_vertices(), EggGroup::unref_vertex(), write(), and ~EggVertex().

int EggVertex::_index [private]
 

Definition at line 114 of file eggVertex.h.

Referenced by EggVertex(), EggVertexPool::remove_unused_vertices(), EggVertexPool::remove_vertex(), and write().

short EggVertex::_num_dimensions [private]
 

Definition at line 117 of file eggVertex.h.

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

EggVertexPool* EggVertex::_pool [private]
 

Definition at line 113 of file eggVertex.h.

Referenced by EggVertexPool::add_vertex(), EggVertex(), EggVertexPool::remove_unused_vertices(), EggVertexPool::remove_vertex(), and ~EggVertex().

LPoint4d EggVertex::_pos [private]
 

Definition at line 116 of file eggVertex.h.

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

PrimitiveRef EggVertex::_pref [private]
 

Definition at line 119 of file eggVertex.h.

Referenced by has_pref(), EggPrimitive::prepare_add_vertex(), EggPrimitive::prepare_remove_vertex(), and ~EggVertex().

TypeHandle EggVertex::_type_handle [static, private]
 

Reimplemented from EggAttributes.

Definition at line 34 of file eggVertex.cxx.


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