38 INLINE
explicit EggNode(
const std::string &name =
"");
43 INLINE
int get_depth()
const;
44 INLINE
bool is_under_instance()
const;
45 INLINE
bool is_under_transform()
const;
46 INLINE
bool is_local_coord()
const;
48 MAKE_PROPERTY(parent, get_parent);
49 MAKE_PROPERTY(depth, get_depth);
51 INLINE
const LMatrix4d &get_vertex_frame()
const;
52 INLINE
const LMatrix4d &get_node_frame()
const;
53 INLINE
const LMatrix4d &get_vertex_frame_inv()
const;
54 INLINE
const LMatrix4d &get_node_frame_inv()
const;
55 INLINE
const LMatrix4d &get_vertex_to_node()
const;
56 INLINE
const LMatrix4d &get_node_to_vertex()
const;
58 INLINE
const LMatrix4d *get_vertex_frame_ptr()
const;
59 INLINE
const LMatrix4d *get_node_frame_ptr()
const;
60 INLINE
const LMatrix4d *get_vertex_frame_inv_ptr()
const;
61 INLINE
const LMatrix4d *get_node_frame_inv_ptr()
const;
62 INLINE
const LMatrix4d *get_vertex_to_node_ptr()
const;
63 INLINE
const LMatrix4d *get_node_to_vertex_ptr()
const;
65 INLINE
void transform(
const LMatrix4d &mat);
66 INLINE
void transform_vertices_only(
const LMatrix4d &mat);
67 INLINE
void flatten_transforms();
70 int rename_node(vector_string strip_prefix);
72 virtual bool is_joint()
const;
73 virtual bool is_anim_matrix()
const;
82 virtual bool determine_indexed();
83 virtual bool determine_decal();
85 virtual void write(std::ostream &out,
int indent_level)
const=0;
86 bool parse_egg(
const std::string &egg_syntax);
89 void test_under_integrity()
const;
91 void test_under_integrity()
const { }
94 EXTENSION(PyObject *__reduce__()
const);
98 UF_under_instance = 0x001,
99 UF_under_transform = 0x002,
100 UF_local_coord = 0x004,
103 virtual bool egg_start_parse_body();
105 virtual void update_under(
int depth_offset);
106 virtual void adjust_under();
107 virtual bool has_primitives()
const;
108 virtual bool joint_has_primitives()
const;
109 virtual bool has_normals()
const;
111 virtual void r_transform(
const LMatrix4d &mat,
const LMatrix4d &inv,
112 CoordinateSystem to_cs);
113 virtual void r_transform_vertices(
const LMatrix4d &mat);
114 virtual void r_mark_coordsys(CoordinateSystem cs);
115 virtual void r_flatten_transforms();
128 PT(MatrixFrame) _vertex_frame;
129 PT(MatrixFrame) _node_frame;
130 PT(MatrixFrame) _vertex_frame_inv;
131 PT(MatrixFrame) _node_frame_inv;
132 PT(MatrixFrame) _vertex_to_node;
133 PT(MatrixFrame) _node_to_vertex;
141 static void init_type() {
142 EggNamedObject::init_type();
144 EggNamedObject::get_class_type());
145 MatrixFrame::init_type();
148 return get_class_type();
150 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
A base class for nodes in the hierarchy that are not leaf nodes.
This is a fairly low-level base class–any egg object that has a name.
A base class for things that may be directly added into the egg hierarchy.
This class stores miscellaneous rendering properties that is associated with geometry,...
This is a collection of textures by TRef name.
Another kind of proxy, similar to RefCountProxy.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.