1 #ifndef MATH3D_ROTATION_H 2 #define MATH3D_ROTATION_H 4 #include <KrisLibrary/math/complex.h> 18 class EulerAngleRotation;
19 class AngleAxisRotation;
21 class QuaternionRotation;
42 inline void setIdentity() { setZero(); }
46 bool setMatrix(
int u,
int v,
int w,
const Matrix3&);
47 bool setMatrixXYZ(
const Matrix3&);
48 bool setMatrixXZY(
const Matrix3&);
49 bool setMatrixYZX(
const Matrix3&);
50 bool setMatrixYXZ(
const Matrix3&);
51 bool setMatrixZXY(
const Matrix3&);
52 bool setMatrixZYX(
const Matrix3&);
54 void getMatrix(
int u,
int v,
int w,
Matrix3&)
const;
55 void getMatrixXYZ(
Matrix3&)
const;
56 void getMatrixXZY(
Matrix3&)
const;
57 void getMatrixYZY(
Matrix3&)
const;
58 void getMatrixYXZ(
Matrix3&)
const;
59 void getMatrixZXY(
Matrix3&)
const;
60 void getMatrixZYX(
Matrix3&)
const;
77 void set(Real angle,
const Vector3& axis);
78 void setAxis(
const Vector3& axis);
112 inline void set(
const Vector3& v) { Vector3::set(v); }
113 inline void set(Real x, Real y, Real z) { Vector3::set(x,y,z); }
114 inline void setIdentity() { Vector3::setZero(); }
117 bool setMatrix(
const Matrix3&);
118 void getMatrix(
Matrix3&)
const;
146 inline void setIdentity() { Quaternion::set(One); }
149 bool setMatrix(
const Matrix3&);
153 void getMatrix(
Matrix3&)
const;
160 void SetMatrixRotationVector(
Matrix3&,
const Vector3&, Real angle);
161 void SetMatrixRotationVector(
Matrix4&,
const Vector3&, Real angle);
void SLerp(const Quaternion &a, const Quaternion &b, Quaternion &out, Real t)
Linear quaternion rotation interpolation.
Definition: rotation.cpp:822
A 3D vector class.
Definition: math3d/primitives.h:136
Class declarations for useful 3D math types.
void SBezier(const Quaternion &q0, const Quaternion &c0, const Quaternion &c1, const Quaternion &q1, Quaternion &out, Real t)
Bezier-style quaternion rotation interpolation.
Definition: rotation.cpp:876
"Moment", a.k.a. exponential map, 3D rotation parameterization
Definition: rotation.h:99
Quaternion, a.k.a. Euler parameter, 3D rotation parameterization.
Definition: rotation.h:131
A 4x4 matrix class.
Definition: math3d/primitives.h:626
Contains all the definitions in the Math3D package.
Definition: AnyGeometry.h:13
Complex quaternion class (w + ix + jy + kz).
Definition: complex.h:133
A 3x3 matrix class.
Definition: math3d/primitives.h:469
Euler angle 3D rotation parameterization.
Definition: rotation.h:30
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
void SCerp(const Quaternion &q_1, const Quaternion &q0, const Quaternion &q1, const Quaternion &q2, Quaternion &out, Real t)
Cubic quaternion rotation interpolation.
Definition: rotation.cpp:853
Angle-axis 3D rotation parameterization.
Definition: rotation.h:68