rotate3d.h
Go to the documentation of this file.00001 #ifndef rotation3d_h
00002 #define rotation3d_h
00003
00004
00005
00006 class Rotation3d : public Resource {
00007 public:
00008 Rotation3d();
00009 virtual ~Rotation3d();
00010
00011 void rotate(float x, float y, float z, float* tr)const;
00012 void rotate(float* r, float* tr) const;
00013 void inverse_rotate(float* tr, float* r) const;
00014
00015 void identity();
00016
00017
00018 void rotate_x(float radians);
00019 void rotate_y(float radians);
00020 void rotate_z(float radians);
00021 void origin(float x, float y, float z);
00022 void offset(float x, float y);
00023 void post_multiply(Rotation3d&);
00024 void x_axis(float& x, float& y) const;
00025 void y_axis(float& x, float& y) const;
00026 void z_axis(float& x, float& y) const;
00027 private:
00028 float a_[3][3];
00029 float o_[2][3];
00030 };
00031 #endif