#include <gls_quaternion.h>
|
| GlsQuaternion () |
|
| GlsQuaternion (Type x, Type y, Type z, Type w) |
|
| GlsQuaternion (Type angle, const Vector &axis) |
|
| GlsQuaternion (Type angle1, const Vector &axis1, Type angle2, const Vector &axis2, Type angle3, const Vector &axis3) |
|
| GlsQuaternion (Type angleX, Type angleY, Type angleZ) |
|
| GlsQuaternion (const Vector &anglesVec) |
|
| GlsQuaternion (const GlsMatrixAffine< Type > &matrix) |
|
Type * | Data () |
|
const Type * | Data () const |
|
bool | operator== (const GlsQuaternion &q) const |
|
bool | operator!= (const GlsQuaternion &q) const |
|
bool | operator< (const GlsQuaternion &q) const |
|
const GlsQuaternion | operator* (Type s) const |
|
GlsQuaternion & | operator*= (Type s) |
|
const GlsQuaternion | operator* (const GlsQuaternion &q) const |
|
GlsQuaternion & | operator*= (const GlsQuaternion &q) |
|
GlsQuaternion | operator/ (Type s) const |
|
GlsQuaternion & | operator/= (Type s) |
|
const GlsQuaternion | operator/ (const GlsQuaternion &q) const |
|
GlsQuaternion & | operator/= (const GlsQuaternion &q) |
|
const GlsQuaternion | operator+ (const GlsQuaternion &q) const |
|
GlsQuaternion & | operator+= (const GlsQuaternion &q) |
|
const GlsQuaternion | operator- (const GlsQuaternion &q) const |
|
GlsQuaternion & | operator-= (const GlsQuaternion &q) |
|
const GlsQuaternion | operator- () const |
|
Type | Magnitude () const |
|
Type | MagnitudeSquared () const |
|
GlsQuaternion | Conjugate () const |
|
const GlsQuaternion | Inverse () const |
|
Type | DotProduct (const GlsQuaternion &q) const |
|
void | Normalize () |
|
void | Set (Type x, Type y, Type z, Type w) |
|
void | SetFromAngleAxis (Type angle, const Vector &axis) |
|
void | SetFromAngleAxis (Type angle1, const Vector &axis1, Type angle2, const Vector &axis2, Type angle3, const Vector &axis3) |
|
void | SetFromEulerAngles (Type angleX, Type angleY, Type angleZ) |
|
void | SetFromVectors (const Vector &to, const Vector &from) |
|
void | SetFromRotationMatrix (const GlsMatrixAffine< Type > &matrix) |
|
Type | GetRoll (void) const |
|
Type | GetPitch (void) const |
|
Type | GetYaw (void) const |
|
Vector | GetEulerAngles () |
|
void | GetAngleAxis (Type *angle, Vector *axis) |
|
GlsMatrixAffine< Type > | GetRotationMatrix () |
|
void | SetFromSlerp (float t, const GlsQuaternion &from, const GlsQuaternion &to, bool adjustSign=true) |
|
template<class Type>
class disti::GlsQuaternion< Type >
The GlsQuaternion class
Default constructor. This will initialize the quaternion to zero.
Constructor. Sets quaternion from 4 constants.
- Parameters
-
x | Initial X value |
y | Initial Y value |
z | Initial Z value |
w | Initial W value |
Constructor. Sets quaternion from angle about an arbitrary axis
- Parameters
-
angle | Rotation angle in radians |
axis | Unit vector representing arbitrary axis |
Constructor. Sets quaternion from 3 angles about 3 axes
- Parameters
-
angle1 | Rotation angle about first axis in radians |
axis1 | Unit vector representing first arbitrary axis |
angle2 | Rotation angle about second axis in radians |
axis2 | Unit vector representing second arbitrary axis |
angle3 | Rotation angle about third axis in radians |
axis3 | Unit vector representing third arbitrary axis |
Constructor. Sets quaternion from 3 angles (Euler Angles)
- Parameters
-
angleX | Rotation angle about X axis in radians |
angleY | Rotation angle about Y axis in radians |
angleZ | Rotation angle about Z axis in radians |
Constructor. Sets quaternion from 3 angles (Euler Angles)
- Parameters
-
anglesVec | A vector where each component of the vector is an Euler angle component in radians. |
Constructor. Sets quaternion from a rotation matrix
- Parameters
-
matrix | An affine matrix representing a rotation matrix |
Returns the conjugate of the quaternion
- Returns
- The conjugate of the quaternion
Accessor method providing access to quaternion data.
- Returns
- A pointer to the quaternion data.
const Type* Data |
( |
| ) |
const |
|
inline |
Accessor method providing access to quaternion data.
- Returns
- A pointer to the quaternion data.
Returns the dot product of the quaternion and a supplied quaternion
- Parameters
-
q | A quaternion to multiply against this quaternion |
- Returns
- The dot product of the quaternion and a supplied quaternion
void GetAngleAxis |
( |
Type * |
angle, |
|
|
Vector * |
axis |
|
) |
| |
|
inline |
Gets the rotation angle (radians) and the axis about which the angle is rotated.
- Parameters
-
angle | Returns the angle of rotation of the quaternion |
axis | Returns the axis of rotation of the quaternion |
Returns the Euler Angles as a Vector (Warning: SLOW)
- Returns
- The Euler Angles as a Vector
Type GetPitch |
( |
void |
| ) |
const |
|
inline |
Returns the rotation about the Y axis
- Returns
- The rotation about the Y axis
Type GetRoll |
( |
void |
| ) |
const |
|
inline |
Returns the rotation about the X axis
- Returns
- The rotation about the X axis
Returns a rotation matrix representation of the quaternion.
- Returns
- The rotation matrix computed from the quaternion
Type GetYaw |
( |
void |
| ) |
const |
|
inline |
Returns the rotation about the Z axis
- Returns
- The rotation about the Z axis
Returns the inverse of the quaternion
- Returns
- The inverse of the quaternion
Returns the magnitude of the quaternion
- Returns
- The magnitude of the quaternion
Type MagnitudeSquared |
( |
| ) |
const |
|
inline |
Returns the magnitude squared of the quaternion
- Returns
- The magnitude squared of the quaternion
Normalizes this quaternion
Boolean non-equivalence operator
- Parameters
-
q | Quaternion to compare against |
- Returns
- True if the two quaternions are not exactly equal
Scalar multiplication operator
- Parameters
-
s | A scalar to multiply against |
- Returns
- This quaternion multiplied by the scalar
Quaternion multiplication operator
- Parameters
-
q | A quaternion to multiply against |
- Returns
- This quaternion multiplied by the quaternion
Scalar multiplication operator and assignment operator
- Parameters
-
s | A scalar to multiply against |
- Returns
- This quaternion multiplied by the scalar
Quaternion multiplication operator
- Parameters
-
q | A quaternion to multiply against |
- Returns
- This quaternion multiplied by the quaternion
Quaternion addition operator
- Parameters
-
- Returns
- This quaternion plus the supplied quaternion
Quaternion addition and assignment operator
- Parameters
-
- Returns
- This quaternion plus the supplied quaternion
Quaternion subtrtaction operator
- Parameters
-
q | A quaternion to subtract |
- Returns
- This quaternion minus the supplied quaternion
Negation operator - returns the negative of the quaternion. Basically just calls operator - () on the Vec4
Quaternion subtraction and assignment operator
- Parameters
-
q | A quaternion to subtract |
- Returns
- This quaternion minus the supplied quaternion
Scalar division operator
- Parameters
-
- Returns
- This quaternion divided by the scalar
Quaternion division operator
- Parameters
-
q | A quaternion to division by |
- Returns
- This quaternion divided by the quaternion
Scalar division and assignment operator
- Parameters
-
- Returns
- This quaternion divided by the scalar
Quaternion division operator
- Parameters
-
q | A quaternion to division by |
- Returns
- This quaternion divided by the quaternion
Boolean less than operator
- Parameters
-
q | Quaternion to compare against |
- Returns
- True if the this quaternion is less than the provided one
Boolean equivalence operator
- Parameters
-
q | Quaternion to compare against |
- Returns
- True if the two quaternions are exactly equal
void Set |
( |
Type |
x, |
|
|
Type |
y, |
|
|
Type |
z, |
|
|
Type |
w |
|
) |
| |
|
inline |
Sets the component values for this quaternion
- Parameters
-
x | The X value |
y | The Y value |
z | The Z value |
w | The W value |
void SetFromAngleAxis |
( |
Type |
angle, |
|
|
const Vector & |
axis |
|
) |
| |
|
inline |
Sets quaternion from angle about an arbitrary axis
- Parameters
-
angle | Rotation angle in radians |
axis | Unit vector representing arbitrary axis |
void SetFromAngleAxis |
( |
Type |
angle1, |
|
|
const Vector & |
axis1, |
|
|
Type |
angle2, |
|
|
const Vector & |
axis2, |
|
|
Type |
angle3, |
|
|
const Vector & |
axis3 |
|
) |
| |
|
inline |
Sets quaternion from three angle-axis pairs.
- Parameters
-
angle1 | Rotation angle in radians |
axis1 | Unit vector representing arbitrary axis |
angle2 | Rotation angle in radians |
axis2 | Unit vector representing arbitrary axis |
angle3 | Rotation angle in radians |
axis3 | Unit vector representing arbitrary axis |
void SetFromEulerAngles |
( |
Type |
angleX, |
|
|
Type |
angleY, |
|
|
Type |
angleZ |
|
) |
| |
|
inline |
Sets quaternion from the Euler angles.
- Parameters
-
angleX | The X Euler angle in radians |
angleY | The Y Euler angle in radians |
angleZ | The Z Euler angle in radians |
Sets this quaternion from the specified rotation matrix.
- Parameters
-
matrix | The rotation matrix |
Sets this quaternion to an interpolated rotation between the from and to vectors using spherical linear interpolation (slerp).
- Parameters
-
t | Percent of interpelation (0.0 -> 1.0) |
from | The starting quaternion |
to | The ending quaternion |
adjustSign | Whether or not to negate the sign of the to quaternion |
void SetFromVectors |
( |
const Vector & |
to, |
|
|
const Vector & |
from |
|
) |
| |
|
inline |
Sets this quaternion to a rotation that rotates 'to' into 'from'.
- Parameters
-
to | The rotation destination |
from | The rotation start point |
The documentation for this class was generated from the following file: