14 #ifndef EGGTRANSFORM_H 15 #define EGGTRANSFORM_H 36 INLINE
void clear_transform();
38 void add_translate2d(
const LVector2d &translate);
39 void add_translate3d(
const LVector3d &translate);
40 void add_rotate2d(
double angle);
41 void add_rotx(
double angle);
42 void add_roty(
double angle);
43 void add_rotz(
double angle);
44 void add_rotate3d(
double angle,
const LVector3d &axis);
45 void add_rotate3d(
const LQuaterniond &quat);
46 void add_scale2d(
const LVecBase2d &scale);
47 void add_scale3d(
const LVecBase3d &scale);
48 void add_uniform_scale(
double scale);
49 INLINE
void add_matrix3(
const LMatrix3d &mat);
50 INLINE
void add_matrix4(
const LMatrix4d &mat);
52 INLINE
bool has_transform()
const;
53 INLINE
bool has_transform2d()
const;
54 INLINE
void set_transform2d(
const LMatrix3d &mat);
55 INLINE
bool has_transform3d()
const;
56 INLINE
void set_transform3d(
const LMatrix4d &mat);
57 INLINE LMatrix3d get_transform2d()
const;
58 INLINE
const LMatrix4d &get_transform3d()
const;
59 INLINE
bool transform_is_identity()
const;
77 INLINE
int get_num_components()
const;
78 INLINE ComponentType get_component_type(
int n)
const;
79 INLINE
double get_component_number(
int n)
const;
80 INLINE
const LVecBase2d &get_component_vec2(
int n)
const;
81 INLINE
const LVecBase3d &get_component_vec3(
int n)
const;
82 INLINE
const LMatrix3d &get_component_mat3(
int n)
const;
83 INLINE
const LMatrix4d &get_component_mat4(
int n)
const;
85 void write(std::ostream &out,
int indent_level,
86 const std::string &label)
const;
89 void internal_clear_transform();
90 void internal_add_matrix(
const LMatrix3d &mat);
91 void internal_add_matrix(
const LMatrix4d &mat);
92 INLINE
void internal_set_transform(
const LMatrix3d &mat);
93 INLINE
void internal_set_transform(
const LMatrix4d &mat);
95 virtual void transform_changed();
100 INLINE Component(ComponentType type,
double number = 0.0);
101 INLINE Component(
const Component ©);
102 INLINE
void operator = (
const Component ©);
113 bool _is_transform_2d;
116 LMatrix4d _transform;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.