15 #ifndef EGGTRANSFORM_H
16 #define EGGTRANSFORM_H
18 #include "pandabase.h"
20 #include "eggObject.h"
40 INLINE
void clear_transform();
42 void add_translate2d(
const LVector2d &translate);
43 void add_translate3d(
const LVector3d &translate);
44 void add_rotate2d(
double angle);
45 void add_rotx(
double angle);
46 void add_roty(
double angle);
47 void add_rotz(
double angle);
48 void add_rotate3d(
double angle,
const LVector3d &axis);
52 void add_uniform_scale(
double scale);
53 INLINE
void add_matrix3(
const LMatrix3d &mat);
54 INLINE
void add_matrix4(
const LMatrix4d &mat);
56 INLINE
bool has_transform()
const;
57 INLINE
bool has_transform2d()
const;
58 INLINE
void set_transform2d(
const LMatrix3d &mat);
59 INLINE
bool has_transform3d()
const;
60 INLINE
void set_transform3d(
const LMatrix4d &mat);
62 INLINE
const LMatrix4d &get_transform3d()
const;
63 INLINE
bool transform_is_identity()
const;
81 INLINE
int get_num_components()
const;
82 INLINE ComponentType get_component_type(
int n)
const;
83 INLINE
double get_component_number(
int n)
const;
84 INLINE
const LVecBase2d &get_component_vec2(
int n)
const;
85 INLINE
const LVecBase3d &get_component_vec3(
int n)
const;
86 INLINE
const LMatrix3d &get_component_mat3(
int n)
const;
87 INLINE
const LMatrix4d &get_component_mat4(
int n)
const;
89 void write(ostream &out,
int indent_level,
90 const string &label)
const;
93 void internal_clear_transform();
94 void internal_add_matrix(
const LMatrix3d &mat);
95 void internal_add_matrix(
const LMatrix4d &mat);
96 INLINE
void internal_set_transform(
const LMatrix3d &mat);
97 INLINE
void internal_set_transform(
const LMatrix4d &mat);
99 virtual void transform_changed();
104 INLINE Component(ComponentType type,
double number = 0.0);
105 INLINE Component(
const Component ©);
106 INLINE
void operator = (
const Component ©);
117 bool _is_transform_2d;
123 #include "eggTransform.I"
This is a 4-by-4 transform matrix.
This is a two-component vector offset.
This is the base class for all two-component vectors and points.
This is the base quaternion class.
This is a 3-by-3 transform matrix.
This is the base class for all three-component vectors and points.
This is a three-component vector distance (as opposed to a three-component point, which represents a ...