#include <eggNode.h>
Inheritance diagram for EggNode:
Public Member Functions | |
INLINE | EggNode (const string &name="") |
INLINE | EggNode (const EggNode ©) |
INLINE EggNode & | operator= (const EggNode ©) |
INLINE EggGroupNode * | get_parent () const |
INLINE int | get_depth () const |
INLINE bool | is_under_instance () const |
INLINE bool | is_under_transform () const |
INLINE bool | is_local_coord () const |
INLINE const LMatrix4d & | get_vertex_frame () const |
INLINE const LMatrix4d & | get_node_frame () const |
INLINE const LMatrix4d & | get_vertex_frame_inv () const |
INLINE const LMatrix4d & | get_node_frame_inv () const |
INLINE const LMatrix4d & | get_vertex_to_node () const |
INLINE const LMatrix4d & | get_node_to_vertex () const |
INLINE void | transform (const LMatrix4d &mat) |
INLINE void | transform_vertices_only (const LMatrix4d &mat) |
INLINE void | flatten_transforms () |
void | apply_texmats () |
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 () |
virtual void | write (ostream &out, int indent_level) const=0 |
bool | parse_egg (const string &egg_syntax) |
void | test_under_integrity () const |
virtual TypeHandle | get_type () const |
virtual TypeHandle | force_init_type () |
Static Public Member Functions | |
TypeHandle | get_class_type () |
void | init_type () |
Protected Types | |
typedef RefCountObj< LMatrix4d > | MatrixFrame |
enum | UnderFlags { UF_under_instance = 0x001, UF_under_transform = 0x002, UF_local_coord = 0x004 } |
Protected Member Functions | |
virtual bool | egg_start_parse_body () |
virtual void | update_under (int depth_offset) |
virtual void | adjust_under () |
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) |
PT (MatrixFrame) _vertex_frame | |
PT (MatrixFrame) _node_frame | |
PT (MatrixFrame) _vertex_frame_inv | |
PT (MatrixFrame) _node_frame_inv | |
PT (MatrixFrame) _vertex_to_node | |
PT (MatrixFrame) _node_to_vertex | |
Protected Attributes | |
EggGroupNode * | _parent |
int | _depth |
int | _under_flags |
Static Private Attributes | |
TypeHandle | _type_handle |
Friends | |
class | EggGroupNode |
|
Definition at line 109 of file eggNode.h. Referenced by EggGroup::adjust_under(). |
|
|
|
|
|
|
|
Reimplemented in EggGroup. Definition at line 279 of file eggNode.cxx. Referenced by update_under(). |
|
Definition at line 41 of file eggNode.cxx. References r_apply_texmats(), and textures. |
|
Reimplemented in EggGroup, and EggPrimitive. Definition at line 57 of file eggNode.cxx. Referenced by EggPrimitive::determine_alpha_mode(), and EggGroup::determine_alpha_mode(). |
|
Reimplemented in EggGroup, and EggPrimitive. Definition at line 129 of file eggNode.cxx. Referenced by EggPrimitive::determine_bin(), and EggGroup::determine_bin(). |
|
Reimplemented in EggGroup, and EggPrimitive. Definition at line 93 of file eggNode.cxx. Referenced by EggPrimitive::determine_depth_test_mode(), and EggGroup::determine_depth_test_mode(). |
|
Reimplemented in EggGroup, and EggPrimitive. Definition at line 75 of file eggNode.cxx. Referenced by EggPrimitive::determine_depth_write_mode(), and EggGroup::determine_depth_write_mode(). |
|
Reimplemented in EggGroup, and EggPrimitive. Definition at line 111 of file eggNode.cxx. Referenced by EggPrimitive::determine_draw_order(), and EggGroup::determine_draw_order(). |
|
Reimplemented in EggGroup, EggPrimitive, and EggTexture. Definition at line 219 of file eggNode.cxx. Referenced by parse_egg(). |
|
|
|
Reimplemented from EggNamedObject. Reimplemented in EggAnimData, EggBin, EggComment, EggCoordinateSystem, EggCurve, EggData, EggExternalReference, EggFilenameNode, EggGroup, EggGroupNode, EggMaterial, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggPrimitive, EggSAnimData, EggSurface, EggTable, EggTexture, EggVertexPool, EggXfmAnimData, and EggXfmSAnim. Definition at line 132 of file eggNode.h. References EggNamedObject::get_class_type(), and EggNamedObject::init_type(). |
|
|
Referenced by EggGroupNode::prepare_add_child(), and EggGroupNode::prepare_remove_child(). |
|
Referenced by EggGroup::adjust_under(). |
|
Referenced by EggGroup::adjust_under(), CharacterMaker::make_dynamic_primitive(), and CharacterMaker::make_static_primitive(). |
|
|
|
|
Reimplemented from EggNamedObject. Reimplemented in EggAnimData, EggBin, EggComment, EggCoordinateSystem, EggCurve, EggData, EggExternalReference, EggFilenameNode, EggGroup, EggGroupNode, EggMaterial, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggPrimitive, EggSAnimData, EggSurface, EggTable, EggTexture, EggVertexPool, EggXfmAnimData, and EggXfmSAnim. Definition at line 129 of file eggNode.h. References EggNamedObject::get_class_type(). |
|
Referenced by EggGroup::adjust_under(), CharacterMaker::make_dynamic_primitive(), CharacterMaker::make_static_primitive(), EggPrimitive::r_flatten_transforms(), and EggGroup::r_flatten_transforms(). |
|
Referenced by EggGroup::adjust_under(). |
|
|
|
Referenced by EggVertex::get_num_global_coord(), EggVertex::get_num_local_coord(), IsLocalVertexSplitter::operator()(), EggPrimitive::r_flatten_transforms(), and EggGroup::r_flatten_transforms(). |
|
Referenced by EggGroupNode::r_collect_vertex_normals(). |
|
|
|
Referenced by EggGroupNode::operator=(). |
|
Definition at line 149 of file eggNode.cxx. References DCAST_INTO_R, egg_cleanup_parser(), egg_error_count(), egg_init_parser(), egg_start_parse_body(), eggyyparse(), EggGroupNode::get_class_type(), get_parent(), and TypedObject::is_of_type(). Referenced by EggLoader::do_expand_object_type(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in EggGroupNode, EggNurbsSurface, and EggPrimitive. Definition at line 341 of file eggNode.cxx. Referenced by apply_texmats(). |
|
Reimplemented in EggGroup, EggGroupNode, and EggPrimitive. Definition at line 332 of file eggNode.cxx. |
|
Reimplemented in EggGroupNode, EggXfmAnimData, and EggXfmSAnim. Definition at line 323 of file eggNode.cxx. |
|
Reimplemented in EggGroup, EggGroupNode, EggPrimitive, EggVertexPool, EggXfmAnimData, and EggXfmSAnim. Definition at line 297 of file eggNode.cxx. |
|
Reimplemented in EggGroupNode, and EggVertexPool. Definition at line 310 of file eggNode.cxx. |
|
Definition at line 179 of file eggNode.cxx. References _depth, _parent, _under_flags, EggGroupNode::begin(), EggGroupNode::end(), EggGroupNode::iterator, NULL, and ReferenceCount::test_ref_count_integrity(). Referenced by EggXfmSAnim::write(), EggTable::write(), and EggGroup::write(). |
|
Reimplemented in EggVertexPool. |
|
|
|
Reimplemented in EggGroupNode. Definition at line 237 of file eggNode.cxx. References _depth, _parent, _under_flags, adjust_under(), depth, and NULL. Referenced by EggGroupNode::prepare_add_child(), EggGroupNode::prepare_remove_child(), and EggGroupNode::update_under(). |
|
Implemented in EggComment, EggCoordinateSystem, EggData, EggExternalReference, EggGroup, EggGroupNode, EggMaterial, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggSAnimData, EggTable, EggTexture, EggVertexPool, EggXfmAnimData, and EggXfmSAnim. |
|
|
|
Definition at line 106 of file eggNode.h. Referenced by test_under_integrity(), and update_under(). |
|
Definition at line 105 of file eggNode.h. Referenced by determine_alpha_mode(), determine_bin(), determine_depth_test_mode(), determine_depth_write_mode(), determine_draw_order(), EggGroupNode::prepare_add_child(), EggGroupNode::prepare_remove_child(), PT(), test_under_integrity(), and update_under(). |
|
Reimplemented from EggNamedObject. Reimplemented in EggAnimData, EggBin, EggComment, EggCoordinateSystem, EggCurve, EggData, EggExternalReference, EggFilenameNode, EggGroup, EggGroupNode, EggMaterial, EggNurbsCurve, EggNurbsSurface, EggPoint, EggPolygon, EggPrimitive, EggSAnimData, EggSurface, EggTable, EggTexture, EggVertexPool, EggXfmAnimData, and EggXfmSAnim. Definition at line 30 of file eggNode.cxx. |
|
Definition at line 107 of file eggNode.h. Referenced by EggGroup::adjust_under(), test_under_integrity(), and update_under(). |