#include <eggPrimitive.h>
Inheritance diagram for EggPrimitive:
Public Types | |
typedef Vertices::const_pointer | pointer |
typedef Vertices::const_pointer | const_pointer |
typedef Vertices::const_reference | reference |
typedef Vertices::const_reference | const_reference |
typedef Vertices::const_iterator | iterator |
typedef Vertices::const_iterator | const_iterator |
typedef Vertices::const_reverse_iterator | reverse_iterator |
typedef Vertices::const_reverse_iterator | const_reverse_iterator |
typedef Vertices::size_type | size_type |
typedef Vertices::difference_type | difference_type |
Public Member Functions | |
INLINE | EggPrimitive (const string &name="") |
INLINE | EggPrimitive (const EggPrimitive ©) |
INLINE EggPrimitive & | operator= (const EggPrimitive ©) |
INLINE | ~EggPrimitive () |
virtual EggRenderMode * | determine_alpha_mode () |
virtual EggRenderMode * | determine_depth_write_mode () |
virtual EggRenderMode * | determine_depth_test_mode () |
virtual EggRenderMode * | determine_draw_order () |
virtual EggRenderMode * | determine_bin () |
INLINE void | set_texture (EggTexture *texture) |
INLINE void | clear_texture () |
INLINE EggTexture * | get_texture () const |
INLINE bool | has_texture () const |
INLINE void | set_material (EggMaterial *material) |
INLINE void | clear_material () |
INLINE EggMaterial * | get_material () const |
INLINE bool | has_material () const |
INLINE void | set_bface_flag (bool flag) |
INLINE bool | get_bface_flag () const |
bool | has_vertex_normal () const |
bool | has_vertex_color () const |
virtual void | reverse_vertex_ordering () |
virtual bool | cleanup () |
void | remove_doubled_verts (bool closed) |
void | remove_nonunique_verts () |
INLINE iterator | begin () const |
INLINE iterator | end () const |
INLINE reverse_iterator | rbegin () const |
INLINE reverse_iterator | rend () const |
INLINE bool | empty () const |
INLINE size_type | size () const |
INLINE EggVertex * | operator[] (int index) const |
INLINE iterator | insert (iterator position, EggVertex *x) |
INLINE iterator | erase (iterator position) |
iterator | erase (iterator first, iterator last) |
INLINE void | replace (iterator position, EggVertex *vertex) |
INLINE void | clear () |
EggVertex * | add_vertex (EggVertex *vertex) |
EggVertex * | remove_vertex (EggVertex *vertex) |
void | copy_vertices (const EggPrimitive &other) |
INLINE void | set_vertex (int index, EggVertex *vertex) |
INLINE EggVertex * | get_vertex (int index) const |
INLINE EggVertexPool * | get_pool () const |
void | test_vref_integrity () 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 | |
void | write_body (ostream &out, int indent_level) const |
virtual bool | egg_start_parse_body () |
virtual void | r_transform (const LMatrix4d &mat, const LMatrix4d &inv, CoordinateSystem to_cs) |
virtual void | r_flatten_transforms () |
virtual void | r_apply_texmats (EggTextureCollection &textures) |
Private Types | |
typedef vector_PT_EggVertex | Vertices |
Private Member Functions | |
void | prepare_add_vertex (EggVertex *vertex) |
void | prepare_remove_vertex (EggVertex *vertex) |
Private Attributes | |
Vertices | _vertices |
PT_EggTexture | _texture |
PT_EggMaterial | _material |
bool | _bface |
Static Private Attributes | |
TypeHandle | _type_handle |
|
|
Definition at line 110 of file eggPrimitive.h. |
|
Definition at line 113 of file eggPrimitive.h. |
|
Definition at line 117 of file eggPrimitive.h. |
|
Definition at line 119 of file eggPrimitive.h. |
|
Definition at line 114 of file eggPrimitive.h. Referenced by copy_vertices(), erase(), remove_vertex(), EggVertex::test_pref_integrity(), and test_vref_integrity(). |
|
Definition at line 109 of file eggPrimitive.h. |
|
Definition at line 112 of file eggPrimitive.h. |
|
Definition at line 116 of file eggPrimitive.h. |
|
Definition at line 118 of file eggPrimitive.h. |
|
Definition at line 61 of file eggPrimitive.h. Referenced by remove_doubled_verts(), and remove_nonunique_verts(). |
|
|
|
|
|
|
|
Definition at line 324 of file eggPrimitive.cxx. References _vertices, prepare_add_vertex(), EggVertex::test_pref_integrity(), and test_vref_integrity(). Referenced by copy_vertices(). |
|
|
Reimplemented in EggPoint, and EggPolygon. Definition at line 213 of file eggPrimitive.cxx. References empty(). Referenced by EggLoader::make_node(), and EggGroupNode::remove_invalid_primitives(). |
|
Referenced by copy_vertices(). |
|
|
|
|
|
Definition at line 368 of file eggPrimitive.cxx. References _vertices, add_vertex(), begin(), clear(), end(), iterator, size(), and test_vref_integrity(). |
|
Reimplemented from EggNode. Definition at line 41 of file eggPrimitive.cxx. References EggRenderMode::AM_unspecified, EggNode::determine_alpha_mode(), EggRenderMode::get_alpha_mode(), get_texture(), has_texture(), and NULL. Referenced by EggLoader::setup_bucket(). |
|
Reimplemented from EggNode. Definition at line 139 of file eggPrimitive.cxx. References EggNode::determine_bin(), get_texture(), EggRenderMode::has_bin(), has_texture(), and NULL. Referenced by EggLoader::setup_bucket(). |
|
Reimplemented from EggNode. Definition at line 90 of file eggPrimitive.cxx. References EggNode::determine_depth_test_mode(), EggRenderMode::DTM_unspecified, EggRenderMode::get_depth_test_mode(), get_texture(), has_texture(), and NULL. Referenced by EggLoader::setup_bucket(). |
|
Reimplemented from EggNode. Definition at line 65 of file eggPrimitive.cxx. References EggNode::determine_depth_write_mode(), EggRenderMode::DWM_unspecified, EggRenderMode::get_depth_write_mode(), get_texture(), has_texture(), and NULL. Referenced by EggLoader::setup_bucket(). |
|
Reimplemented from EggNode. Definition at line 115 of file eggPrimitive.cxx. References EggNode::determine_draw_order(), get_texture(), EggRenderMode::has_draw_order(), has_texture(), and NULL. Referenced by EggLoader::setup_bucket(). |
|
Reimplemented from EggNode. Definition at line 586 of file eggPrimitive.cxx. References egg_start_primitive_body(). |
|
Referenced by cleanup(), EggPoint::cleanup(), EggLoader::create_collision_plane(), EggLoader::create_collision_polygons(), CharacterMaker::make_geometry(), prepare_add_vertex(), and write_body(). |
|
|
Definition at line 305 of file eggPrimitive.cxx. References _vertices, first, iterator, prepare_remove_vertex(), and test_vref_integrity(). |
|
Referenced by remove_vertex(). |
|
Reimplemented from EggNode. Reimplemented in EggCurve, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, and EggSurface. Definition at line 194 of file eggPrimitive.h. References EggAttributes::get_class_type(), and EggAttributes::init_type(). |
|
Referenced by EggLoader::setup_bucket(), EggPolysetMaker::sorts_less(), and write_body(). |
|
|
Referenced by EggMaterialCollection::find_used_materials(), EggMaterialCollection::replace_materials(), EggLoader::setup_bucket(), EggPolysetMaker::sorts_less(), and write_body(). |
|
Referenced by prepare_add_vertex(), and write_body(). |
|
|
Reimplemented from EggNode. Reimplemented in EggCurve, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, and EggSurface. Definition at line 191 of file eggPrimitive.h. References EggAttributes::get_class_type(). |
|
|
Referenced by EggMaterialCollection::find_used_materials(), EggMaterialCollection::replace_materials(), EggLoader::setup_bucket(), EggPolysetMaker::sorts_less(), and write_body(). |
|
|
Definition at line 177 of file eggPrimitive.cxx. References _vertices. Referenced by EggPolysetMaker::sorts_less(). |
|
Definition at line 160 of file eggPrimitive.cxx. References _vertices. Referenced by EggPolysetMaker::sorts_less(). |
|
Reimplemented from EggAttributes. Reimplemented in EggCurve, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, and EggSurface. Definition at line 182 of file eggPrimitive.h. References EggAttributes::get_class_type(), EggNode::get_class_type(), EggRenderMode::get_class_type(), EggAttributes::init_type(), EggNode::init_type(), and register_type(). Referenced by EggSurface::force_init_type(), EggPolygon::force_init_type(), EggPoint::force_init_type(), EggCurve::force_init_type(), init_libegg(), EggSurface::init_type(), EggPolygon::init_type(), EggPoint::init_type(), EggNurbsSurface::init_type(), EggNurbsCurve::init_type(), and EggCurve::init_type(). |
|
|
|
|
|
|
|
Definition at line 437 of file eggPrimitive.cxx. References EggVertex::_pref, empty(), get_pool(), and EggVertex::get_pool(). Referenced by add_vertex(). |
|
Definition at line 466 of file eggPrimitive.cxx. References EggVertex::_pref. Referenced by erase(), remove_doubled_verts(), and remove_nonunique_verts(). |
|
Reimplemented from EggNode. Reimplemented in EggNurbsSurface. Definition at line 642 of file eggPrimitive.cxx. References EggTexture::clear_transform(), EggVertex::copy_grefs_from(), EggVertexPool::create_unique_vertex(), EggVertex::get_pool(), get_texture(), EggAttributes::get_uv(), get_vertex(), has_texture(), EggAttributes::has_uv(), set_texture(), EggAttributes::set_uv(), set_vertex(), size(), texture, and textures. |
|
Reimplemented from EggNode. Definition at line 615 of file eggPrimitive.cxx. References EggVertex::copy_grefs_from(), EggVertexPool::create_unique_vertex(), EggVertex::get_pool(), get_vertex(), EggNode::get_vertex_frame(), EggNode::is_local_coord(), set_vertex(), size(), EggVertex::transform(), and EggAttributes::transform(). |
|
Reimplemented from EggNode. Definition at line 605 of file eggPrimitive.cxx. References EggAttributes::transform(). |
|
|
|
Definition at line 235 of file eggPrimitive.cxx. References _vertices, prepare_remove_vertex(), and Vertices. Referenced by EggPolygon::cleanup(). |
|
Definition at line 277 of file eggPrimitive.cxx. References _vertices, prepare_remove_vertex(), and Vertices. Referenced by EggPoint::cleanup(). |
|
Definition at line 343 of file eggPrimitive.cxx. References begin(), end(), erase(), iterator, PT_EggVertex, and test_vref_integrity(). |
|
|
|
|
|
Definition at line 196 of file eggPrimitive.cxx. References _vertices. Referenced by EggGroupNode::reverse_vertex_ordering(). |
|
|
|
Referenced by EggMaterialCollection::replace_materials(). |
|
Referenced by r_apply_texmats(), and EggTextureCollection::replace_textures(). |
|
Referenced by r_apply_texmats(), r_flatten_transforms(), EggGroupNode::recompute_polygon_normals(), and EggGroupNode::strip_normals(). |
|
|
Definition at line 390 of file eggPrimitive.cxx. References begin(), count, end(), EggVertex::has_pref(), iterator, and ReferenceCount::test_ref_count_integrity(). Referenced by add_vertex(), copy_vertices(), erase(), remove_vertex(), and write_body(). |
|
Definition at line 492 of file eggPrimitive.cxx. References begin(), const_iterator, empty(), end(), enquote_string(), get_bface_flag(), EggVertex::get_index(), get_material(), EggVertex::get_pool(), get_pool(), get_texture(), has_material(), has_texture(), indent(), indices, NULL, size(), EggVertex::test_pref_integrity(), test_vref_integrity(), texture, EggRenderMode::write(), EggAttributes::write(), and write_long_list(). Referenced by EggPolygon::write(), EggPoint::write(), EggNurbsSurface::write(), and EggNurbsCurve::write(). |
|
Definition at line 175 of file eggPrimitive.h. |
|
Definition at line 174 of file eggPrimitive.h. |
|
Definition at line 173 of file eggPrimitive.h. |
|
Reimplemented from EggAttributes. Reimplemented in EggCurve, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, and EggSurface. Definition at line 28 of file eggPrimitive.cxx. |
|
Definition at line 153 of file eggPrimitive.h. Referenced by add_vertex(), copy_vertices(), erase(), has_vertex_color(), has_vertex_normal(), remove_doubled_verts(), remove_nonunique_verts(), and reverse_vertex_ordering(). |