#include <eggVertexPool.h>
Inheritance diagram for EggVertexPool:
Public Types | |
typedef second_of_pair_iterator< IndexVertices::const_iterator > | iterator |
typedef iterator | const_iterator |
typedef IndexVertices::size_type | size_type |
Public Member Functions | |
EggVertexPool (const string &name) | |
EggVertexPool (const EggVertexPool ©) | |
~EggVertexPool () | |
EggVertex * | get_vertex (int index) const |
INLINE EggVertex * | operator[] (int index) const |
int | get_highest_index () const |
iterator | begin () const |
iterator | end () const |
bool | empty () const |
size_type | size () const |
void | add_vertex (EggVertex *vertex, int index=-1) |
INLINE EggVertex * | make_new_vertex () |
INLINE EggVertex * | make_new_vertex (double pos) |
INLINE EggVertex * | make_new_vertex (const LPoint2d &pos) |
INLINE EggVertex * | make_new_vertex (const LPoint3d &pos) |
INLINE EggVertex * | make_new_vertex (const LPoint4d &pos) |
EggVertex * | create_unique_vertex (const EggVertex ©) |
void | remove_vertex (EggVertex *vertex) |
int | remove_unused_vertices () |
void | transform (const LMatrix4d &mat) |
void | write (ostream &out, int indent_level) const |
virtual TypeHandle | get_type () const |
virtual TypeHandle | force_init_type () |
Static Public Member Functions | |
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_transform_vertices (const LMatrix4d &mat) |
Private Types | |
typedef pmap< int, PT_EggVertex > | IndexVertices |
typedef pmultiset< EggVertex *, UniqueEggVertices > | UniqueVertices |
Private Attributes | |
UniqueVertices | _unique_vertices |
IndexVertices | _index_vertices |
Static Private Attributes | |
TypeHandle | _type_handle |
Friends | |
class | EggVertex |
|
Definition at line 70 of file eggVertexPool.h. |
|
Definition at line 59 of file eggVertexPool.h. Referenced by remove_unused_vertices(). |
|
Definition at line 69 of file eggVertexPool.h. Referenced by begin(), EggVertexPool(), end(), transform(), write(), and ~EggVertexPool(). |
|
Definition at line 71 of file eggVertexPool.h. |
|
Definition at line 66 of file eggVertexPool.h. Referenced by remove_unused_vertices(). |
|
Definition at line 33 of file eggVertexPool.cxx. |
|
Definition at line 45 of file eggVertexPool.cxx. References add_vertex(), EggVertex, and iterator. |
|
Definition at line 59 of file eggVertexPool.cxx. References _index_vertices, _unique_vertices, begin(), end(), get_vertex(), iterator, and NULL. |
|
Definition at line 171 of file eggVertexPool.cxx. References _index_vertices, EggVertex::_pool, _unique_vertices, get_highest_index(), index, and NULL. Referenced by create_unique_vertex(), and EggVertexPool(). |
|
Definition at line 121 of file eggVertexPool.cxx. References _index_vertices, _unique_vertices, and iterator. Referenced by transform(), write(), and ~EggVertexPool(). |
|
Definition at line 201 of file eggVertexPool.cxx. References _unique_vertices, add_vertex(), and EggVertex. Referenced by EggGroupNode::do_compute_vertex_normals(), EggPrimitive::r_apply_texmats(), EggPrimitive::r_flatten_transforms(), EggGroupNode::recompute_polygon_normals(), and EggGroupNode::strip_normals(). |
|
Definition at line 144 of file eggVertexPool.cxx. References _index_vertices. Referenced by EggGroupNode::remove_unused_vertices(). |
|
Definition at line 134 of file eggVertexPool.cxx. References _index_vertices, and iterator. Referenced by transform(), write(), and ~EggVertexPool(). |
|
Reimplemented from EggNode. Definition at line 140 of file eggVertexPool.h. References EggNode::get_class_type(), and EggNode::init_type(). |
|
Reimplemented from EggNode. Definition at line 129 of file eggVertexPool.h. Referenced by EggPoolUniquifier::get_category(), and EggGroupNode::remove_unused_vertices(). |
|
Definition at line 105 of file eggVertexPool.cxx. References _index_vertices. Referenced by add_vertex(). |
|
Reimplemented from EggNode. Definition at line 137 of file eggVertexPool.h. References EggNode::get_class_type(). |
|
Definition at line 88 of file eggVertexPool.cxx. References _index_vertices, index, and NULL. Referenced by remove_vertex(), and ~EggVertexPool(). |
|
Reimplemented from EggNode. Definition at line 132 of file eggVertexPool.h. References EggNode::get_class_type(), EggNode::init_type(), and register_type(). Referenced by init_libegg(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented from EggNode. Definition at line 417 of file eggVertexPool.cxx. References transform(). |
|
Reimplemented from EggNode. Definition at line 431 of file eggVertexPool.cxx. References transform(). |
|
Definition at line 265 of file eggVertexPool.cxx. References EggVertex::_index, _index_vertices, EggVertex::_pool, _unique_vertices, EggVertex::clear_grefs(), IndexVertices, NULL, EggVertex::pref_size(), and UniqueVertices. Referenced by EggGroupNode::remove_unused_vertices(). |
|
Definition at line 224 of file eggVertexPool.cxx. References EggVertex::_index, _index_vertices, EggVertex::_pool, _unique_vertices, get_vertex(), and NULL. |
|
Definition at line 154 of file eggVertexPool.cxx. References _index_vertices, and _unique_vertices. Referenced by transform(). |
|
Reimplemented from EggNode. Definition at line 319 of file eggVertexPool.cxx. References begin(), end(), EggVertex::get_num_global_coord(), EggVertex::get_num_local_coord(), iterator, size(), split_vertex(), and EggVertex::transform(). Referenced by r_transform(), and r_transform_vertices(). |
|
Implements EggNode. Definition at line 390 of file eggVertexPool.cxx. References begin(), end(), indent(), iterator, and EggNamedObject::write_header(). |
|
Definition at line 145 of file eggVertexPool.h. Referenced by create_unique_vertex(), and EggVertexPool(). |
|
Definition at line 124 of file eggVertexPool.h. Referenced by add_vertex(), begin(), empty(), end(), get_highest_index(), get_vertex(), remove_unused_vertices(), remove_vertex(), size(), and ~EggVertexPool(). |
|
Reimplemented from EggNode. Definition at line 25 of file eggVertexPool.cxx. |
|
Definition at line 123 of file eggVertexPool.h. Referenced by add_vertex(), begin(), create_unique_vertex(), remove_unused_vertices(), remove_vertex(), size(), and ~EggVertexPool(). |