37 INLINE
explicit EggNode(
const std::string &name =
"");
42 INLINE
int get_depth()
const;
43 INLINE
bool is_under_instance()
const;
44 INLINE
bool is_under_transform()
const;
45 INLINE
bool is_local_coord()
const;
47 MAKE_PROPERTY(parent, get_parent);
48 MAKE_PROPERTY(depth, get_depth);
50 INLINE
const LMatrix4d &get_vertex_frame()
const;
51 INLINE
const LMatrix4d &get_node_frame()
const;
52 INLINE
const LMatrix4d &get_vertex_frame_inv()
const;
53 INLINE
const LMatrix4d &get_node_frame_inv()
const;
54 INLINE
const LMatrix4d &get_vertex_to_node()
const;
55 INLINE
const LMatrix4d &get_node_to_vertex()
const;
57 INLINE
const LMatrix4d *get_vertex_frame_ptr()
const;
58 INLINE
const LMatrix4d *get_node_frame_ptr()
const;
59 INLINE
const LMatrix4d *get_vertex_frame_inv_ptr()
const;
60 INLINE
const LMatrix4d *get_node_frame_inv_ptr()
const;
61 INLINE
const LMatrix4d *get_vertex_to_node_ptr()
const;
62 INLINE
const LMatrix4d *get_node_to_vertex_ptr()
const;
64 INLINE
void transform(
const LMatrix4d &mat);
65 INLINE
void transform_vertices_only(
const LMatrix4d &mat);
66 INLINE
void flatten_transforms();
69 int rename_node(vector_string strip_prefix);
71 virtual bool is_joint()
const;
72 virtual bool is_anim_matrix()
const;
81 virtual bool determine_indexed();
82 virtual bool determine_decal();
84 virtual void write(std::ostream &out,
int indent_level)
const=0;
85 bool parse_egg(
const std::string &egg_syntax);
88 void test_under_integrity()
const;
90 void test_under_integrity()
const { }
96 UF_under_instance = 0x001,
97 UF_under_transform = 0x002,
98 UF_local_coord = 0x004,
101 virtual bool egg_start_parse_body();
103 virtual void update_under(
int depth_offset);
104 virtual void adjust_under();
105 virtual bool has_primitives()
const;
106 virtual bool joint_has_primitives()
const;
107 virtual bool has_normals()
const;
109 virtual void r_transform(
const LMatrix4d &mat,
const LMatrix4d &inv,
110 CoordinateSystem to_cs);
111 virtual void r_transform_vertices(
const LMatrix4d &mat);
112 virtual void r_mark_coordsys(CoordinateSystem cs);
113 virtual void r_flatten_transforms();
126 PT(MatrixFrame) _vertex_frame;
127 PT(MatrixFrame) _node_frame;
128 PT(MatrixFrame) _vertex_frame_inv;
129 PT(MatrixFrame) _node_frame_inv;
130 PT(MatrixFrame) _vertex_to_node;
131 PT(MatrixFrame) _node_to_vertex;
139 static void init_type() {
140 EggNamedObject::init_type();
142 EggNamedObject::get_class_type());
143 MatrixFrame::init_type();
146 return get_class_type();
148 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}