#include <eggGroupNode.h>
Inheritance diagram for EggGroupNode:
Public Types | |
typedef Children::const_pointer | pointer |
typedef Children::const_pointer | const_pointer |
typedef Children::const_reference | reference |
typedef Children::const_reference | const_reference |
typedef Children::const_iterator | iterator |
typedef Children::const_iterator | const_iterator |
typedef Children::const_reverse_iterator | reverse_iterator |
typedef Children::const_reverse_iterator | const_reverse_iterator |
typedef Children::size_type | size_type |
typedef Children::difference_type | difference_type |
Public Member Functions | |
EggGroupNode (const string &name="") | |
EggGroupNode (const EggGroupNode ©) | |
EggGroupNode & | operator= (const EggGroupNode ©) |
virtual | ~EggGroupNode () |
virtual void | write (ostream &out, int indent_level) const |
iterator | begin () const |
iterator | end () const |
reverse_iterator | rbegin () const |
reverse_iterator | rend () const |
bool | empty () const |
size_type | size () const |
iterator | insert (iterator position, PT(EggNode) x) |
iterator | erase (iterator position) |
iterator | erase (iterator first, iterator last) |
void | replace (iterator position, PT(EggNode) x) |
void | clear () |
PT (EggNode) add_child(PT(EggNode) node) | |
PT (EggNode) remove_child(PT(EggNode) node) | |
void | steal_children (EggGroupNode &other) |
void | resolve_filenames (const DSearchPath &searchpath) |
void | reverse_vertex_ordering () |
void | recompute_vertex_normals (double threshold, CoordinateSystem cs=CS_default) |
void | recompute_polygon_normals (CoordinateSystem cs=CS_default) |
void | strip_normals () |
int | triangulate_polygons (bool convex_also) |
int | remove_unused_vertices () |
int | remove_invalid_primitives () |
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 | update_under (int depth_offset) |
virtual void | r_transform (const LMatrix4d &mat, const LMatrix4d &inv, CoordinateSystem to_cs) |
virtual void | r_transform_vertices (const LMatrix4d &mat) |
virtual void | r_mark_coordsys (CoordinateSystem cs) |
virtual void | r_flatten_transforms () |
virtual void | r_apply_texmats (EggTextureCollection &textures) |
CoordinateSystem | find_coordsys_entry () |
int | find_textures (EggTextureCollection *collection) |
int | find_materials (EggMaterialCollection *collection) |
bool | r_load_externals (const DSearchPath &searchpath, CoordinateSystem coordsys) |
Private Types | |
typedef plist< PT(EggNode) | Children ) |
typedef pvector< NVertexReference > | NVertexGroup |
typedef pmap< Vertexd, NVertexGroup > | NVertexCollection |
Private Member Functions | |
void | prepare_add_child (EggNode *node) |
void | prepare_remove_child (EggNode *node) |
void | r_collect_vertex_normals (NVertexCollection &collection, double threshold, CoordinateSystem cs) |
void | do_compute_vertex_normals (const NVertexGroup &group) |
Private Attributes | |
Children | _children |
Static Private Attributes | |
TypeHandle | _type_handle |
Friends | |
class | EggTextureCollection |
class | EggMaterialCollection |
|
Definition at line 62 of file eggGroupNode.h. Referenced by triangulate_polygons(). |
|
|
Definition at line 84 of file eggGroupNode.h. |
|
Definition at line 87 of file eggGroupNode.h. |
|
Definition at line 91 of file eggGroupNode.h. |
|
Definition at line 93 of file eggGroupNode.h. |
|
|
Definition at line 158 of file eggGroupNode.h. Referenced by recompute_vertex_normals(). |
|
Definition at line 157 of file eggGroupNode.h. Referenced by recompute_vertex_normals(). |
|
Definition at line 83 of file eggGroupNode.h. |
|
Definition at line 86 of file eggGroupNode.h. |
|
Definition at line 90 of file eggGroupNode.h. |
|
Definition at line 92 of file eggGroupNode.h. |
|
Definition at line 67 of file eggGroupNode.h. Referenced by r_load_externals(). |
|
Definition at line 48 of file eggGroupNode.cxx. |
|
Definition at line 76 of file eggGroupNode.cxx. |
|
|
Definition at line 213 of file eggGroupNode.cxx. References begin(), end(), and erase(). Referenced by EggData::read(). |
|
Definition at line 1086 of file eggGroupNode.cxx. References EggVertex::copy_grefs_from(), EggVertexPool::create_unique_vertex(), EggVertex::get_pool(), Normald, ref, ReferenceCount::ref(), and EggAttributes::set_normal(). Referenced by recompute_vertex_normals(). |
|
Definition at line 140 of file eggGroupNode.cxx. References _children. Referenced by EggXfmSAnim::add_data(), EggBinMaker::make_bins_for_group(), and operator=(). |
|
|
Definition at line 182 of file eggGroupNode.cxx. References _children, first, iterator, and prepare_remove_child(). |
|
Definition at line 171 of file eggGroupNode.cxx. References _children, and prepare_remove_child(). Referenced by clear(), EggBinMaker::collect_nodes(), and EggXfmSAnim::optimize(). |
|
Definition at line 768 of file eggGroupNode.cxx. References _children, CoordinateSystem, CS_default, CS_invalid, DCAST, get_class_type(), EggCoordinateSystem::get_class_type(), TypedObject::is_of_type(), and prepare_remove_child(). Referenced by EggData::post_read(). |
|
Definition at line 872 of file eggGroupNode.cxx. References _children, EggMaterialCollection::add_material(), DCAST, get_class_type(), EggMaterial::get_class_type(), TypedObject::is_of_type(), prepare_remove_child(), and tex. Referenced by EggMaterialCollection::extract_materials(). |
|
Definition at line 826 of file eggGroupNode.cxx. References _children, EggTextureCollection::add_texture(), DCAST, get_class_type(), EggTexture::get_class_type(), TypedObject::is_of_type(), prepare_remove_child(), and tex. Referenced by EggTextureCollection::extract_textures(). |
|
Reimplemented from EggNode. Reimplemented in EggBin, EggData, EggGroup, EggTable, and EggXfmSAnim. Definition at line 176 of file eggGroupNode.h. References EggNode::get_class_type(), and EggNode::init_type(). |
|
|
Reimplemented from EggNode. Reimplemented in EggBin, EggData, EggGroup, EggTable, and EggXfmSAnim. Definition at line 173 of file eggGroupNode.h. References EggNode::get_class_type(). |
|
Reimplemented from EggNode. Reimplemented in EggBin, EggData, EggGroup, EggTable, and EggXfmSAnim. Definition at line 168 of file eggGroupNode.h. References EggNode::get_class_type(), EggNode::init_type(), and register_type(). Referenced by EggXfmSAnim::force_init_type(), EggTable::force_init_type(), EggGroup::force_init_type(), EggData::force_init_type(), init_libegg(), EggXfmSAnim::init_type(), EggTable::init_type(), EggGroup::init_type(), and EggData::init_type(). |
|
Definition at line 160 of file eggGroupNode.cxx. References _children, prepare_add_child(), and x. Referenced by EggMaterialCollection::insert_materials(), and EggTextureCollection::insert_textures(). |
|
Definition at line 61 of file eggGroupNode.cxx. References empty(), and EggNode::operator=(). Referenced by EggGroup::operator=(). |
|
Definition at line 980 of file eggGroupNode.cxx. References EggNode::_parent, EggNode::get_depth(), EggNode::get_parent(), NULL, and EggNode::update_under(). Referenced by insert(), replace(), and steal_children(). |
|
Definition at line 1003 of file eggGroupNode.cxx. References EggNode::_parent, EggNode::get_depth(), EggNode::get_parent(), NULL, and EggNode::update_under(). Referenced by erase(), find_coordsys_entry(), find_materials(), find_textures(), r_collect_vertex_normals(), recompute_polygon_normals(), replace(), and steal_children(). |
|
|
|
Referenced by r_load_externals(), and EggData::read(). |
|
Reimplemented from EggNode. Definition at line 750 of file eggGroupNode.cxx. |
|
Definition at line 1024 of file eggGroupNode.cxx. References _children, EggPolygon::calculate_normal(), EggAttributes::clear_normal(), cs, DCAST, get_class_type(), EggPolygon::get_class_type(), EggVertex::get_pos3(), EggPrimitive::get_vertex(), TypedObject::is_of_type(), EggNode::is_under_instance(), prepare_remove_child(), recompute_vertex_normals(), ref, ReferenceCount::ref(), and EggPrimitive::size(). Referenced by recompute_vertex_normals(). |
|
Reimplemented from EggNode. Reimplemented in EggGroup. Definition at line 735 of file eggGroupNode.cxx. References _children. Referenced by EggGroup::r_flatten_transforms(). |
|
Definition at line 919 of file eggGroupNode.cxx. References _children, DCAST, EggGroupNode(), get_class_type(), EggExternalReference::get_class_type(), TypedObject::is_of_type(), EggData::load_externals(), PT(), EggData::read(), ReferenceCount::ref(), replace(), EggData::resolve_egg_filename(), EggData::set_auto_resolve_externals(), EggData::set_coordinate_system(), and steal_children(). Referenced by EggData::load_externals(). |
|
Reimplemented from EggNode. Reimplemented in EggXfmSAnim. Definition at line 720 of file eggGroupNode.cxx. Referenced by EggData::post_read(). |
|
Reimplemented from EggNode. Reimplemented in EggGroup, and EggXfmSAnim. Definition at line 681 of file eggGroupNode.cxx. References _children. Referenced by EggGroup::r_transform(), and EggData::set_coordinate_system(). |
|
Reimplemented from EggNode. Definition at line 701 of file eggGroupNode.cxx. References _children. |
|
Definition at line 120 of file eggGroupNode.cxx. References _children. |
|
|
Definition at line 360 of file eggGroupNode.cxx. References EggGroupNode::NVertexReference::_normal, cs, deg_2_rad(), do_compute_vertex_normals(), dot(), NVertexCollection, NVertexGroup, r_collect_vertex_normals(), ref, and ReferenceCount::ref(). Referenced by r_collect_vertex_normals(). |
|
Definition at line 614 of file eggGroupNode.cxx. References _children, EggPrimitive::cleanup(), DCAST, get_class_type(), EggPrimitive::get_class_type(), and TypedObject::is_of_type(). |
|
Definition at line 575 of file eggGroupNode.cxx. References _children, DCAST, EggVertexPool::empty(), get_class_type(), EggVertexPool::get_class_type(), TypedObject::is_of_type(), and EggVertexPool::remove_unused_vertices(). |
|
Definition at line 130 of file eggGroupNode.cxx. References _children. |
|
Definition at line 199 of file eggGroupNode.cxx. References end(), prepare_add_child(), prepare_remove_child(), and x. Referenced by r_load_externals(). |
|
|
Definition at line 323 of file eggGroupNode.cxx. References _children, DCAST, get_class_type(), EggPrimitive::get_class_type(), TypedObject::is_of_type(), and EggPrimitive::reverse_vertex_ordering(). |
|
Definition at line 150 of file eggGroupNode.cxx. References _children. |
|
Definition at line 263 of file eggGroupNode.cxx. References _children, prepare_add_child(), and prepare_remove_child(). Referenced by load_egg_data(), EggData::merge(), EggXfmSAnim::normalize_by_rebuilding(), r_load_externals(), EggXfmSAnim::r_transform(), and EggData::read(). |
|
Reimplemented in EggData. Definition at line 487 of file eggGroupNode.cxx. References _children, EggAttributes::clear_normal(), EggVertex::copy_grefs_from(), EggVertexPool::create_unique_vertex(), DCAST, get_class_type(), EggPrimitive::get_class_type(), EggVertex::get_pool(), EggPrimitive::get_vertex(), EggAttributes::has_normal(), TypedObject::is_of_type(), EggPrimitive::set_vertex(), and EggPrimitive::size(). |
|
Definition at line 532 of file eggGroupNode.cxx. References _children, Children, DCAST, get_class_type(), EggPolygon::get_class_type(), and TypedObject::is_of_type(). |
|
Reimplemented from EggNode. Definition at line 655 of file eggGroupNode.cxx. References _children, and EggNode::update_under(). Referenced by EggData::set_coordinate_system(), EggGroup::set_group_type(), and EggGroup::transform_changed(). |
|
Implements EggNode. Reimplemented in EggData, EggGroup, EggTable, and EggXfmSAnim. Definition at line 87 of file eggGroupNode.cxx. References begin(), end(), and iterator. Referenced by EggXfmSAnim::write(), EggTable::write(), EggGroup::write(), and EggData::write(). |
|
Definition at line 182 of file eggGroupNode.h. |
|
Definition at line 181 of file eggGroupNode.h. |
|
|
Reimplemented from EggNode. Reimplemented in EggBin, EggData, EggGroup, EggTable, and EggXfmSAnim. Definition at line 39 of file eggGroupNode.cxx. |