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.
1.8.1.2