1 #ifndef CLASSIC_Rotation3D_HH
2 #define CLASSIC_Rotation3D_HH
81 void getAxis(
double &vx,
double &vy,
double &vz)
const;
132 {
return (
R == rhs.
R); }
136 {
return (
R != rhs.
R); }
140 {
return R(row, col); }
151 return result *= rhs;
164 #endif // CLASSIC_Rotation3D_HH
Rotation in 3-dimensional space.
item[EANGLE] Entrance edge angle(radians).\item[ROTATION] Rotation of the magnet about its central axis(radians
static Rotation3D ZRotation(double angle)
Make rotation.
bool operator==(const Rotation3D &) const
Rotation3D operator*(const Rotation3D &rhs) const
Multiply.
bool isPureZRotation() const
Test for rotation.
bool operator!=(const Rotation3D &) const
Rotation3D()
Default constructor.
bool isIdentity() const
Test for identity.
Rotation3D inverse() const
Inversion.
static Rotation3D YRotation(double angle)
Make rotation.
bool isPureXRotation() const
Test for rotation.
static Rotation3D XRotation(double angle)
Make rotation.
bool isIdentity() const
Test for identity.
Rotation3D & operator*=(const Rotation3D &rhs)
Multiply and assign.
Vector3D getAxis() const
Get axis vector.
bool isPureYRotation() const
Test for rotation.
double operator()(int i, int k) const
Get component.
static Rotation3D Identity()
Make identity.