19 #include "pandabase.h" 20 #include "eggGroupNode.h" 21 #include "config_linmath.h" 36 CoordinateSystem cs = CS_default);
39 INLINE EggXfmSAnim(
const EggXfmSAnim ©);
40 INLINE EggXfmSAnim &operator = (
const EggXfmSAnim ©);
42 INLINE
void set_fps(
double fps);
43 INLINE
void clear_fps();
44 INLINE
bool has_fps()
const;
45 INLINE
double get_fps()
const;
47 INLINE
void set_order(
const string &order);
48 INLINE
void clear_order();
49 INLINE
bool has_order()
const;
50 INLINE
const string &get_order()
const;
51 INLINE
static const string &get_standard_order();
53 INLINE CoordinateSystem get_coordinate_system()
const;
56 void optimize_to_standard_order();
59 int get_num_rows()
const;
60 void get_value(
int row,
LMatrix4d &mat)
const;
61 bool set_value(
int row,
const LMatrix4d &mat);
63 INLINE
void clear_data();
65 void add_component_data(
const string &component_name,
double value);
66 void add_component_data(
int component,
double value);
69 virtual void write(ostream &out,
int indent_level)
const;
71 static void compose_with_order(
LMatrix4d &mat,
81 CoordinateSystem to_cs);
82 virtual void r_mark_coordsys(CoordinateSystem cs);
85 void normalize_by_rebuilding();
86 void normalize_by_expanding();
93 CoordinateSystem _coordsys;
95 static const string _standard_order_legacy;
96 static const string _standard_order_hpr_fix;
103 static void init_type() {
104 EggGroupNode::init_type();
105 register_type(_type_handle,
"EggXfmSAnim",
106 EggGroupNode::get_class_type());
109 return get_class_type();
111 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
117 #include "eggXfmSAnim.I" virtual void write(ostream &out, int indent_level) const
Writes the group and all of its children to the indicated output stream in Egg format.
This is a 4-by-4 transform matrix.
A base class for nodes in the hierarchy that are not leaf nodes.
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...
This is the base class for all three-component vectors and points.
TypeHandle is the identifier used to differentiate C++ class types.