Quaternion class. More...
#include <quaternion.h>
Public Member Functions | |
Quaternion () | |
Default constructor. Creates the [0.0, 0.0, 0.0, 1.0] quaternion. | |
Quaternion (const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &w) | |
Constructor for four input values, where ![]() | |
Quaternion (const Scalar *q) | |
Constructor for pointer input. | |
Scalar & | operator[] (size_t n) |
Unchecked element access. | |
const Scalar & | operator[] (size_t n) const |
Unchecked element access. | |
Quaternion & | operator+= (const Quaternion &q) |
Quaternion & | operator-= (const Quaternion &q) |
Quaternion & | operator*= (const Quaternion &q) |
Quaternion product (not memberwise product). | |
Quaternion & | operator*= (const Scalar &s) |
Scalar-quaternion product. | |
Quaternion & | operator/= (const Scalar &s) |
Scalar-quaternion division. | |
Vector3 | operator() (const Vector3 &v) const |
Applies rotation to input vector. | |
bool | operator== (const Quaternion &q) const |
bool | operator!= (const Quaternion &q) const |
Scalar | dot (const Quaternion &q) const |
Dot product. | |
Scalar | length2 () const |
Squared quaternion length. | |
Scalar | length () const |
Quaternion length. | |
Quaternion & | normalize () |
Normalize quaternion to unit length. | |
Scalar | distance2 (const Quaternion &q) const |
Squared distance between quaternions. | |
Scalar | distance (const Quaternion &q) const |
Distance between quaternions. | |
Scalar | angleCos (const Quaternion &q) const |
Cosine of the angle between quaternions. | |
Scalar | angle (const Quaternion &q) const |
Angle between quaternions in the range [0, pi] expressed in radians. | |
Quaternion | conjugate () const |
Quaternion conjugate. | |
Quaternion | inverse () const |
Quaternion inverse. | |
Quaternion | slerp (const Quaternion &q, const Scalar &t) const |
Spherical linear interpolation/extrapolation with input quaternion. | |
Scalar & | at (size_t n) |
Checked element access. | |
const Scalar & | at (size_t n) const |
Checked element access. | |
void | setValue (const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &w) |
Sets quaternion values. | |
void | setValue (const Scalar *q) |
Sets quaternion values from pointer input. |
Protected Attributes | |
Scalar | m_co [4] |
Quaternion class.
The Quaternion class provides the usual operators and functions used for expressing and manipulating quaternions.
Let be a quaternion, then the following notations are analogous:
.
|
inline |
Equality operator. The comparison criterion is that both the distance and angle between the two quaternions must be equal to zero.