NEURON
rotate3d.h
Go to the documentation of this file.
1 #ifndef rotation3d_h
2 #define rotation3d_h
3 
4 /* 3-D rotation matrix */
5 
6 class Rotation3d: public Resource {
7  public:
9  virtual ~Rotation3d();
10 
11  void rotate(float x, float y, float z, float* tr) const;
12  void rotate(float* r, float* tr) const;
13  void inverse_rotate(float* tr, float* r) const;
14 
15  void identity();
16 
17  // relative transformation of the transformation
18  void rotate_x(float radians);
19  void rotate_y(float radians);
20  void rotate_z(float radians);
21  void origin(float x, float y, float z);
22  void offset(float x, float y);
24  void x_axis(float& x, float& y) const;
25  void y_axis(float& x, float& y) const;
26  void z_axis(float& x, float& y) const;
27 
28  private:
29  float a_[3][3];
30  float o_[2][3];
31 };
32 #endif
float o_[2][3]
Definition: rotate3d.h:30
float a_[3][3]
Definition: rotate3d.h:29
void offset(float x, float y)
void inverse_rotate(float *tr, float *r) const
void z_axis(float &x, float &y) const
void origin(float x, float y, float z)
void y_axis(float &x, float &y) const
void identity()
void rotate(float x, float y, float z, float *tr) const
virtual ~Rotation3d()
void rotate_x(float radians)
void rotate_z(float radians)
void post_multiply(Rotation3d &)
void x_axis(float &x, float &y) const
void rotate(float *r, float *tr) const
void rotate_y(float radians)
void radians(const double degrees, double *radians)
Definition: rxdmath.cpp:19