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