30 INLINE
explicit EggXfmSAnim(
const std::string &name =
"",
31 CoordinateSystem cs = CS_default);
37 INLINE
void set_fps(
double fps);
38 INLINE
void clear_fps();
39 INLINE
bool has_fps()
const;
40 INLINE
double get_fps()
const;
42 INLINE
void set_order(
const std::string &order);
43 INLINE
void clear_order();
44 INLINE
bool has_order()
const;
45 INLINE
const std::string &get_order()
const;
46 INLINE
static const std::string &get_standard_order();
48 INLINE CoordinateSystem get_coordinate_system()
const;
51 void optimize_to_standard_order();
54 int get_num_rows()
const;
55 void get_value(
int row, LMatrix4d &mat)
const;
56 bool set_value(
int row,
const LMatrix4d &mat);
58 INLINE
void clear_data();
59 bool add_data(
const LMatrix4d &mat);
60 void add_component_data(
const std::string &component_name,
double value);
61 void add_component_data(
int component,
double value);
64 virtual void write(std::ostream &out,
int indent_level)
const;
66 static void compose_with_order(LMatrix4d &mat,
67 const LVecBase3d &scale,
68 const LVecBase3d &shear,
69 const LVecBase3d &hpr,
70 const LVecBase3d &trans,
71 const std::string &order,
75 virtual void r_transform(
const LMatrix4d &mat,
const LMatrix4d &inv,
76 CoordinateSystem to_cs);
77 virtual void r_mark_coordsys(CoordinateSystem cs);
80 void normalize_by_rebuilding();
81 void normalize_by_expanding();
88 CoordinateSystem _coordsys;
90 static const std::string _standard_order;
97 static void init_type() {
98 EggGroupNode::init_type();
100 EggGroupNode::get_class_type());
103 return get_class_type();
105 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A base class for nodes in the hierarchy that are not leaf nodes.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual void write(std::ostream &out, int indent_level) const
Writes the group and all of its children to the indicated output stream in Egg format.
virtual bool is_anim_matrix() const
Returns true if this node represents a table of animation transformation data, false otherwise.
This corresponds to an <Xfm$Anim_S$> entry, which is a collection of up to nine <S$Anim> entries that...
Corresponding to an <Xfm$Anim> entry, this stores a two-dimensional table with up to nine columns,...
TypeHandle is the identifier used to differentiate C++ class types.