|  | 
|  | Quat3 () | 
|  | Default constructor. 
 | 
|  | 
|  | Quat3 (const double &w1, const double &x, const double &y, const double &z) | 
|  | 
|  | ~Quat3 () | 
|  | Default destructor. 
 | 
|  | 
|  | Quat3 (const Quat3 &q) | 
|  | Copy constructor. 
 | 
|  | 
| constexpr std::partial_ordering | operator<=> (const Quat3 &in) const | 
|  | 
| constexpr const Quat3 & | operator= (const Quat3 &q) | 
|  | Equality operator. 
 | 
|  | 
| void | setQuat (const double &w1, const double &x, const double &y, const double &z) | 
|  | Set the real and imaginary parts. 
 | 
|  | 
| const double & | w () const | 
|  | Access the real part. 
 | 
|  | 
| const double & | i () const | 
|  | Access the first imaginary part. 
 | 
|  | 
| const double & | j () const | 
|  | Access the second imaginary part. 
 | 
|  | 
| const double & | k () const | 
|  | Access the third imaginary part. 
 | 
|  | 
| double & | rw () | 
|  | Access a reference to the real part. 
 | 
|  | 
| double & | ri () | 
|  | Access a reference to the first imaginary part. 
 | 
|  | 
| double & | rj () | 
|  | Access a reference to the second imaginary part. 
 | 
|  | 
| double & | rk () | 
|  | Access a reference to the third imaginary part. 
 | 
|  | 
| void | reset () | 
|  | Reset the quaternion. 
 | 
|  | 
| void | ident () | 
|  | Reset the quaternion to the identity. 
 | 
|  | 
| BASE_EXPORT bool | isNull () const | 
|  | Returns a boolean indicating whether or not the quaternion is null. 
 | 
|  | 
| BASE_EXPORT DMatrix< 3, 3 > | quatToMatrix () const | 
|  | Convert the quaternion to a rotation matrix. 
 | 
|  | 
| BASE_EXPORT DVect3 | quatToAAngle () const | 
|  | Convert to Axis Angle where the magnitude of the axis is the angle in radians. 
 | 
|  | 
| BASE_EXPORT void | fromMatrix (const DMatrix< 3, 3 > &) | 
|  | Convert a matrix into a quaternion. 
 | 
|  | 
| BASE_EXPORT void | fromAxisAngle (const DVect3 &, const double &) | 
|  | Take an axis-angle representation and convert it to a quaternion where the angle is in radians. 
 | 
|  | 
| BASE_EXPORT void | fromEuler (const DVect3 &) | 
|  | 
| BASE_EXPORT void | fromEulerZXZ (const DVect3 &) | 
|  | 
| BASE_EXPORT void | incrementAxisAngle (const DVect3 &, const double &) | 
|  | Increment by this rotation. 
 | 
|  | 
| BASE_EXPORT void | spinAboutX (const double &) | 
|  | Just spin about the X axis. 
 | 
|  | 
| BASE_EXPORT void | spinAboutY (const double &) | 
|  | Just spin about the Y axis. 
 | 
|  | 
| BASE_EXPORT void | spinAboutZ (const double &) | 
|  | Just spin about the Z axis. 
 | 
|  | 
| BASE_EXPORT DVect3 | rotate (const DVect3 &v) const | 
|  | Rotate a DVect3 by the quaternian to get a new DVect3. 
 | 
|  | 
| BASE_EXPORT DVect3 | real () const | 
|  | Return the "real" vector part of the quaternian. 
 | 
|  | 
| BASE_EXPORT void | fromUnitAxes (const DVect3 &, const DVect3 &) | 
|  | Take 2 orthogonal axis for an axis system and convert to a quaternion. 
 | 
|  | 
| BASE_EXPORT void | increment (const DAVect3 &) | 
|  | Increment the quaternion due to a rotation about the x, y, and z axes by the DAVect. 
 | 
|  | 
| BASE_EXPORT DVect3 | e1 () const | 
|  | Get component e1 of the rotation matrix. 
 | 
|  | 
| BASE_EXPORT DVect3 | e2 () const | 
|  | Get component e2 of the rotation matrix. 
 | 
|  | 
| BASE_EXPORT DVect3 | e3 () const | 
|  | Get component e3 of the rotation matrix. 
 | 
|  | 
| BASE_EXPORT DVect3 | quatToEuler () const | 
|  | 
| void | conj () | 
|  | Convert the quaternion to the conjugate. 
 | 
|  | 
| Quat3 | getConj () const | 
|  | Return the conjugate of the quaternion. 
 | 
|  | 
| BASE_EXPORT void | normalize () | 
|  | Normalize the quaternion. 
 | 
|  | 
| Quat3 | operator* (const double &d) const | 
|  | Multiplication by a double. 
 | 
|  | 
| Quat3 | operator/ (const double &d) const | 
|  | Division by a double. 
 | 
|  | 
| Quat3 | operator* (const Quat3 &v) const | 
|  | Product of two quaternions. 
 | 
|  | 
| Quat3 | operator+ (const Quat3 &v) const | 
|  | Addition of two quaternions. 
 | 
|  | 
| Quat3 friend | operator* (const DVect3 &v, const Quat3 &q) | 
|  | DVect3 times a quaternion, in that order. 
 | 
|  | 
| Quat3 | operator* (const DVect3 &v) const | 
|  | Quaternion times a DVect3, in that order. 
 | 
|  | 
| const Quat3 & | operator*= (const double &d) | 
|  | In place multiplaction by a double. 
 | 
|  | 
| const Quat3 & | operator/= (const double &d) | 
|  | In place division by a double. 
 | 
|  | 
| const Quat3 & | operator*= (const Quat3 &v) | 
|  | In place multiplication of two quaternions. 
 | 
|  | 
| const Quat3 & | operator+= (const Quat3 &v) | 
|  | In place addition of two quaternions. 
 | 
|  | 
| bool | operator== (const Quat3 &v) const | 
|  | Euality operator. 
 | 
|  | 
3D quaternion utility class.