#include <eggGroup.h>
Inheritance diagram for EggGroup:

| Public Types | |
| typedef pmap< PT_EggVertex, double > | VertexRef | 
| enum | GroupType { GT_invalid = -1, GT_group = 0x00000000, GT_instance = 0x00000001, GT_joint = 0x00000002 } | 
| enum | DartType { DT_none = 0x00000000, DT_sync = 0x00000004, DT_nosync = 0x00000008, DT_default = 0x0000000c } | 
| enum | DCSType { DC_none = 0x00000000, DC_local = 0x00000010, DC_net = 0x00000020, DC_default = 0x00000030 } | 
| enum | BillboardType { BT_none = 0x00000000, BT_axis = 0x00000020, BT_point_camera_relative = 0x00000040, BT_point_world_relative = 0x00000080 } | 
| enum | CollisionSolidType { CST_none = 0x00000000, CST_plane = 0x00010000, CST_polygon = 0x00020000, CST_polyset = 0x00030000, CST_sphere = 0x00040000, CST_inverse_sphere = 0x00050000, CST_geode = 0x00060000 } | 
| enum | CollideFlags { CF_none = 0x00000000, CF_intangible = 0x00080000, CF_descend = 0x00100000, CF_event = 0x00200000, CF_keep = 0x00400000, CF_solid = 0x00800000, CF_center = 0x01000000, CF_turnstile = 0x02000000 } | 
| Public Member Functions | |
| EggGroup (const string &name="") | |
| EggGroup (const EggGroup ©) | |
| EggGroup & | operator= (const EggGroup ©) | 
| ~EggGroup () | |
| virtual void | write (ostream &out, int indent_level) const | 
| 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 () | 
| void | set_group_type (GroupType type) | 
| INLINE GroupType | get_group_type () const | 
| INLINE bool | is_instance_type () const | 
| INLINE void | set_billboard_type (BillboardType type) | 
| INLINE BillboardType | get_billboard_type () const | 
| INLINE void | set_billboard_center (const LPoint3d &billboard_center) | 
| INLINE void | clear_billboard_center () | 
| INLINE bool | has_billboard_center () const | 
| INLINE const LPoint3d & | get_billboard_center () const | 
| INLINE void | set_cs_type (CollisionSolidType type) | 
| INLINE CollisionSolidType | get_cs_type () const | 
| INLINE void | set_collide_flags (int flags) | 
| INLINE CollideFlags | get_collide_flags () const | 
| INLINE void | set_collision_name (const string &collision_name) | 
| INLINE void | clear_collision_name () | 
| INLINE bool | has_collision_name () const | 
| INLINE const string & | get_collision_name () const | 
| INLINE void | set_dcs_type (DCSType type) | 
| INLINE DCSType | get_dcs_type () const | 
| INLINE void | set_dart_type (DartType type) | 
| INLINE DartType | get_dart_type () const | 
| INLINE void | set_switch_flag (bool flag) | 
| INLINE bool | get_switch_flag () const | 
| INLINE void | set_switch_fps (double fps) | 
| INLINE double | get_switch_fps () const | 
| INLINE void | add_object_type (const string &object_type) | 
| INLINE void | clear_object_types () | 
| INLINE int | get_num_object_types () const | 
| INLINE string | get_object_type (int index) const | 
| bool | has_object_type (const string &object_type) const | 
| bool | remove_object_type (const string &object_type) | 
| INLINE void | set_model_flag (bool flag) | 
| INLINE bool | get_model_flag () const | 
| INLINE void | set_texlist_flag (bool flag) | 
| INLINE bool | get_texlist_flag () const | 
| INLINE void | set_nofog_flag (bool flag) | 
| INLINE bool | get_nofog_flag () const | 
| INLINE void | set_decal_flag (bool flag) | 
| INLINE bool | get_decal_flag () const | 
| INLINE void | set_direct_flag (bool flag) | 
| INLINE bool | get_direct_flag () const | 
| INLINE void | set_collide_mask (CollideMask mask) | 
| INLINE void | clear_collide_mask () | 
| INLINE bool | has_collide_mask () const | 
| INLINE CollideMask | get_collide_mask () const | 
| INLINE void | set_from_collide_mask (CollideMask mask) | 
| INLINE void | clear_from_collide_mask () | 
| INLINE bool | has_from_collide_mask () const | 
| INLINE CollideMask | get_from_collide_mask () const | 
| INLINE void | set_into_collide_mask (CollideMask mask) | 
| INLINE void | clear_into_collide_mask () | 
| INLINE bool | has_into_collide_mask () const | 
| INLINE CollideMask | get_into_collide_mask () const | 
| INLINE void | set_lod (const EggSwitchCondition &lod) | 
| INLINE void | clear_lod () | 
| INLINE bool | has_lod () const | 
| INLINE const EggSwitchCondition & | get_lod () const | 
| void | ref_vertex (EggVertex *vert, double membership=1.0) | 
| void | unref_vertex (EggVertex *vert) | 
| void | unref_all_vertices () | 
| double | get_vertex_membership (const EggVertex *vert) const | 
| INLINE VertexRef::const_iterator | vref_begin () const | 
| INLINE VertexRef::const_iterator | vref_end () const | 
| INLINE VertexRef::size_type | vref_size () const | 
| void | test_vref_integrity () const | 
| virtual TypeHandle | get_type () const | 
| virtual TypeHandle | force_init_type () | 
| Static Public Member Functions | |
| GroupType | string_group_type (const string &string) | 
| DartType | string_dart_type (const string &string) | 
| DCSType | string_dcs_type (const string &string) | 
| BillboardType | string_billboard_type (const string &string) | 
| CollisionSolidType | string_cs_type (const string &string) | 
| CollideFlags | string_collide_flags (const string &string) | 
| TypeHandle | get_class_type () | 
| void | init_type () | 
| Protected Member Functions | |
| void | write_vertex_ref (ostream &out, int indent_level) const | 
| virtual bool | egg_start_parse_body () | 
| virtual void | adjust_under () | 
| virtual void | r_transform (const LMatrix4d &mat, const LMatrix4d &inv, CoordinateSystem to_cs) | 
| virtual void | r_flatten_transforms () | 
| virtual void | transform_changed () | 
| Private Types | |
| enum | Flags { F_group_type = 0x00000003, F_dart_type = 0x0000000c, F_billboard_type = 0x000000e0, F_switch_flag = 0x00000100, F_model_flag = 0x00000400, F_texlist_flag = 0x00000800, F_nofog_flag = 0x00001000, F_decal_flag = 0x00002000, F_direct_flag = 0x00004000, F_cs_type = 0x00070000, F_collide_flags = 0x03f80000 } | 
| enum | Flags2 { F2_collide_mask = 0x00000001, F2_from_collide_mask = 0x00000002, F2_into_collide_mask = 0x00000004, F2_billboard_center = 0x00000008, F2_dcs_type = 0x00000030 } | 
| Private Member Functions | |
| PT (EggSwitchCondition) _lod | |
| Private Attributes | |
| int | _flags | 
| int | _flags2 | 
| CollideMask | _collide_mask | 
| CollideMask | _from_collide_mask | 
| CollideMask | _into_collide_mask | 
| LPoint3d | _billboard_center | 
| vector_string | _object_types | 
| string | _collision_name | 
| double | _fps | 
| VertexRef | _vref | 
| Static Private Attributes | |
| TypeHandle | _type_handle | 
| 
 | 
| 
 Definition at line 42 of file eggGroup.h. | 
| 
 | 
| 
 Definition at line 66 of file eggGroup.h. | 
| 
 | 
| 
 
 Definition at line 83 of file eggGroup.h. | 
| 
 | 
| 
 
 Definition at line 73 of file eggGroup.h. | 
| 
 | 
| 
 Definition at line 52 of file eggGroup.h. | 
| 
 | 
| 
 Definition at line 59 of file eggGroup.h. | 
| 
 | 
| 
 
 Definition at line 219 of file eggGroup.h. | 
| 
 | 
| 
 
 Definition at line 233 of file eggGroup.h. | 
| 
 | 
| 
 Definition at line 45 of file eggGroup.h. | 
| 
 | 
| 
 Definition at line 38 of file eggGroup.cxx. | 
| 
 | 
| 
 Definition at line 50 of file eggGroup.cxx. | 
| 
 | 
| 
 Definition at line 100 of file eggGroup.cxx. References unref_all_vertices(). | 
| 
 | 
| 
 | 
| 
 | 
| 
 Reimplemented from EggNode. Definition at line 740 of file eggGroup.cxx. References EggNode::_under_flags, EggNode::get_node_frame(), EggNode::get_node_frame_inv(), EggTransform3d::get_transform(), EggNode::get_vertex_frame(), EggNode::get_vertex_frame_inv(), EggTransform3d::has_transform(), invert, is_instance_type(), EggNode::MatrixFrame, NULL, EggNode::UF_local_coord, EggNode::UF_under_instance, and EggNode::UF_under_transform. | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 Referenced by EggLoader::expand_object_types(). | 
| 
 | 
| 
 Reimplemented from EggNode. Definition at line 307 of file eggGroup.cxx. References EggRenderMode::AM_unspecified, EggNode::determine_alpha_mode(), and EggRenderMode::get_alpha_mode(). | 
| 
 | 
| 
 Reimplemented from EggNode. Definition at line 375 of file eggGroup.cxx. References EggNode::determine_bin(), and EggRenderMode::has_bin(). | 
| 
 | 
| 
 Reimplemented from EggNode. Definition at line 341 of file eggGroup.cxx. References EggNode::determine_depth_test_mode(), EggRenderMode::DTM_unspecified, and EggRenderMode::get_depth_test_mode(). | 
| 
 | 
| 
 Reimplemented from EggNode. Definition at line 324 of file eggGroup.cxx. References EggNode::determine_depth_write_mode(), EggRenderMode::DWM_unspecified, and EggRenderMode::get_depth_write_mode(). | 
| 
 | 
| 
 Reimplemented from EggNode. Definition at line 358 of file eggGroup.cxx. References EggNode::determine_draw_order(), and EggRenderMode::has_draw_order(). | 
| 
 | 
| 
 Reimplemented from EggNode. Definition at line 724 of file eggGroup.cxx. References egg_start_group_body(). | 
| 
 | 
| 
 Reimplemented from EggGroupNode. Reimplemented in EggBin. Definition at line 268 of file eggGroup.h. References EggGroupNode::get_class_type(), and EggGroupNode::init_type(). | 
| 
 | 
| 
 Referenced by write(). | 
| 
 | 
| 
 Referenced by EggLoader::create_group_arc(), r_flatten_transforms(), and write(). | 
| 
 | 
| 
 Reimplemented from EggGroupNode. Reimplemented in EggBin. Definition at line 255 of file eggGroup.h. Referenced by ComputedVerticesMaker::add_vertex_joints(), CharacterMaker::build_joint_hierarchy(), CharacterMaker::determine_primitive_home(), EggLoader::find_collision_geometry(), EggBin::force_init_type(), EggBinner::get_bin_number(), EggGroupUniquifier::get_category(), EggBin::get_type(), EggBin::init_type(), EggBinMaker::make_bins_for_group(), EggLoader::make_collision_solids(), and EggLoader::make_node(). | 
| 
 | 
| 
 Referenced by EggLoader::find_collision_geometry(), EggLoader::make_collision_solids(), EggLoader::make_node(), and write(). | 
| 
 | 
| 
 Referenced by EggLoader::create_group_arc(), and write(). | 
| 
 | 
| 
 Referenced by write(). | 
| 
 | 
| 
 Referenced by EggLoader::find_collision_geometry(), EggLoader::make_collision_solids(), EggLoader::make_node(), and write(). | 
| 
 | 
| 
 Referenced by ComputedVerticesMaker::add_vertex_joints(), EggBinner::collapse_group(), CharacterMaker::determine_primitive_home(), EggLoader::make_node(), and write(). | 
| 
 | 
| 
 Referenced by CharacterMaker::build_joint_hierarchy(), CharacterMaker::determine_primitive_home(), EggLoader::make_node(), and write(). | 
| 
 | 
| 
 Referenced by EggLoader::create_group_arc(), and write(). | 
| 
 | 
| 
 Referenced by write(). | 
| 
 | 
| 
 Referenced by EggLoader::create_group_arc(), and write(). | 
| 
 | 
| 
 Referenced by ComputedVerticesMaker::add_vertex_joints(), CharacterMaker::build_joint_hierarchy(), CharacterMaker::determine_primitive_home(), r_flatten_transforms(), set_group_type(), and write(). | 
| 
 | 
| 
 Referenced by EggLoader::create_group_arc(), and write(). | 
| 
 | 
| 
 Referenced by LODInstance::LODInstance(), EggBinner::sorts_less(), and write(). | 
| 
 | 
| 
 Referenced by EggLoader::make_node(), and write(). | 
| 
 | 
| 
 Referenced by write(). | 
| 
 | 
| 
 Referenced by EggLoader::do_expand_object_type(), EggLoader::expand_object_types(), and EggLoader::make_node(). | 
| 
 | 
| 
 Referenced by EggLoader::expand_object_types(). | 
| 
 | 
| 
 Referenced by EggLoader::make_node(), and write(). | 
| 
 | 
| 
 Referenced by EggLoader::make_node(), and write(). | 
| 
 | 
| 
 Referenced by write(). | 
| 
 | 
| 
 Reimplemented from EggGroupNode. Reimplemented in EggBin. Definition at line 265 of file eggGroup.h. References EggGroupNode::get_class_type(). | 
| 
 | 
| 
 Definition at line 469 of file eggGroup.cxx. References _vref. Referenced by ComputedVerticesMaker::add_vertex_joints(), EggVertex::copy_grefs_from(), and EggVertex::test_gref_integrity(). | 
| 
 | 
| 
 Referenced by r_flatten_transforms(), r_transform(), and write(). | 
| 
 | 
| 
 Referenced by EggLoader::create_group_arc(), and write(). | 
| 
 | 
| 
 Referenced by write(). | 
| 
 | 
| 
 Referenced by EggLoader::create_group_arc(), and write(). | 
| 
 | 
| 
 Referenced by EggLoader::create_group_arc(), and write(). | 
| 
 | 
| 
 Referenced by EggBinner::get_bin_number(), LODInstance::LODInstance(), r_flatten_transforms(), r_transform(), and write(). | 
| 
 | 
| 
 Definition at line 129 of file eggGroup.cxx. References _object_types, and cmp_nocase_uh(). | 
| 
 | 
| 
 Reimplemented from EggGroupNode. Reimplemented in EggBin. Definition at line 258 of file eggGroup.h. References EggRenderMode::get_class_type(), EggGroupNode::get_class_type(), EggRenderMode::init_type(), EggGroupNode::init_type(), and register_type(). Referenced by EggBin::force_init_type(), init_libegg(), and EggBin::init_type(). | 
| 
 | 
| 
 Referenced by adjust_under(). | 
| 
 | 
| 
 Definition at line 60 of file eggGroup.cxx. References _collision_name, _flags, _flags2, _fps, EggVertex::_gref, _object_types, _vref, EggRenderMode::operator=(), EggGroupNode::operator=(), EggTransform3d::operator=(), and unref_all_vertices(). | 
| 
 | 
| 
 | 
| 
 | 
| 
 Reimplemented from EggGroupNode. Definition at line 835 of file eggGroup.cxx. References _billboard_center, BT_none, get_billboard_type(), get_group_type(), EggNode::get_vertex_frame(), GT_group, GT_instance, GT_joint, has_billboard_center(), has_lod(), EggTransform3d::internal_clear_transform(), EggNode::is_local_coord(), EggGroupNode::r_flatten_transforms(), set_billboard_center(), and set_group_type(). | 
| 
 | ||||||||||||||||
| 
 Reimplemented from EggGroupNode. Definition at line 793 of file eggGroup.cxx. References _billboard_center, EggTransform3d::get_transform(), has_billboard_center(), has_lod(), EggTransform3d::internal_set_transform(), EggGroupNode::r_transform(), and EggTransform3d::transform_is_identity(). | 
| 
 | ||||||||||||
| 
 Definition at line 391 of file eggGroup.cxx. References EggVertex::_gref, _vref, and unref_vertex(). Referenced by EggVertex::copy_grefs_from(). | 
| 
 | 
| 
 Definition at line 148 of file eggGroup.cxx. References _object_types, and cmp_nocase_uh(). | 
| 
 | 
| 
 Referenced by r_flatten_transforms(). | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 Definition at line 110 of file eggGroup.cxx. References _flags, F_group_type, get_group_type(), type, and EggGroupNode::update_under(). Referenced by r_flatten_transforms(). | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 Definition at line 574 of file eggGroup.cxx. References BT_axis, BT_none, BT_point_camera_relative, BT_point_world_relative, and cmp_nocase_uh(). | 
| 
 | 
| 
 Definition at line 624 of file eggGroup.cxx. References CF_center, CF_descend, CF_event, CF_intangible, CF_keep, CF_none, CF_solid, CF_turnstile, and cmp_nocase_uh(). | 
| 
 | 
| 
 Definition at line 596 of file eggGroup.cxx. References cmp_nocase_uh(), CST_geode, CST_inverse_sphere, CST_none, CST_plane, CST_polygon, CST_polyset, and CST_sphere. | 
| 
 | 
| 
 Definition at line 534 of file eggGroup.cxx. References cmp_nocase_uh(), DT_default, DT_none, DT_nosync, and DT_sync. | 
| 
 | 
| 
 Definition at line 554 of file eggGroup.cxx. References cmp_nocase_uh(), DC_default, DC_local, DC_net, and DC_none. | 
| 
 | 
| 
 Definition at line 514 of file eggGroup.cxx. References cmp_nocase_uh(), GT_group, GT_instance, GT_invalid, and GT_joint. | 
| 
 | 
| 
 Definition at line 489 of file eggGroup.cxx. References EggVertex::has_gref(), ReferenceCount::test_ref_count_integrity(), vref_begin(), and vref_end(). | 
| 
 | 
| 
 Reimplemented from EggTransform3d. Definition at line 871 of file eggGroup.cxx. References EggGroupNode::update_under(). | 
| 
 | 
| 
 Definition at line 445 of file eggGroup.cxx. References EggVertex::_gref, _vref, and count. Referenced by operator=(), and ~EggGroup(). | 
| 
 | 
| 
 Definition at line 427 of file eggGroup.cxx. References EggVertex::_gref, _vref, and count. Referenced by EggVertex::clear_grefs(), and ref_vertex(). | 
| 
 | 
| 
 Referenced by test_vref_integrity(). | 
| 
 | 
| 
 Referenced by test_vref_integrity(). | 
| 
 | 
| 
 | 
| 
 | ||||||||||||
| 
 | ||||||||||||
| 
 Definition at line 654 of file eggGroup.cxx. References _vref, EggVertex::get_index(), EggVertex::get_pool(), indent(), indices, NULL, and write_long_list(). Referenced by write(). | 
| 
 | 
| 
 Definition at line 245 of file eggGroup.h. Referenced by r_flatten_transforms(), and r_transform(). | 
| 
 | 
| 
 Definition at line 244 of file eggGroup.h. | 
| 
 | 
| 
 Definition at line 247 of file eggGroup.h. Referenced by operator=(). | 
| 
 | 
| 
 Definition at line 242 of file eggGroup.h. Referenced by EggGroup(), operator=(), and set_group_type(). | 
| 
 | 
| 
 Definition at line 243 of file eggGroup.h. Referenced by EggGroup(), and operator=(). | 
| 
 | 
| 
 Definition at line 248 of file eggGroup.h. Referenced by EggGroup(), and operator=(). | 
| 
 | 
| 
 Definition at line 244 of file eggGroup.h. | 
| 
 | 
| 
 Definition at line 244 of file eggGroup.h. | 
| 
 | 
| 
 Definition at line 246 of file eggGroup.h. Referenced by has_object_type(), operator=(), remove_object_type(), and write(). | 
| 
 | 
| 
 Reimplemented from EggGroupNode. Reimplemented in EggBin. Definition at line 30 of file eggGroup.cxx. | 
| 
 | 
| 
 Definition at line 250 of file eggGroup.h. Referenced by get_vertex_membership(), operator=(), ref_vertex(), unref_all_vertices(), unref_vertex(), and write_vertex_ref(). | 
 1.3
1.3