|
| Quaternion (float fX=0.0, float fY=0.0, float fZ=0.0, float fW=1.0) |
|
| Quaternion (const Matrix3 &rot) |
| Construct a quaternion from a rotation matrix.
|
|
| Quaternion (const Matrix4 &rot) |
|
| Quaternion (const Vector3 &a, const Vector3 &b) |
| This constructor creates a new quaternion that will rotate vector a into vector b about their mutually perpendicular axis. More...
|
|
| Quaternion (const Radian &rfAngle, const Vector3 &rkAxis) |
| Construct a quaternion from an angle/axis.
|
|
| Quaternion (const Vector3 &rkAxis, float fAngle) |
| Construct a quaternion from an angle/axis.
|
|
| Quaternion (const Vector3 &xaxis, const Vector3 &yaxis, const Vector3 &zaxis) |
| Construct a quaternion from 3 orthonormal local axes.
|
|
| Quaternion (const Vector3 *akAxis) |
| Construct a quaternion from 3 orthonormal local axes.
|
|
| Quaternion (float *valptr) |
| Construct a quaternion from 4 manual w/x/y/z values.
|
|
float | operator[] (const size_t i) const |
| Array accessor operator.
|
|
float & | operator[] (const size_t i) |
| Array accessor operator.
|
|
float * | ptr () |
| Pointer accessor for direct copying.
|
|
const float * | ptr () const |
| Pointer accessor for direct copying.
|
|
void | FromRotationMatrix (const Matrix3 &kRot) |
|
void | FromRotationMatrix (const Matrix4 &kRot) |
|
void | ToRotationMatrix (Matrix3 &kRot) const |
|
void | ToRotationMatrix (Matrix4 &kRot, const Vector3 &Origin) const |
|
void | FromAngleAxis (const Radian &rfAngle, const Vector3 &rkAxis) |
|
void | ToAngleAxis (Radian &rfAngle, Vector3 &rkAxis) const |
|
void | ToAngleAxis (Degree &dAngle, Vector3 &rkAxis) const |
|
void | FromAxes (const Vector3 *akAxis) |
|
void | FromAxes (const Vector3 &xAxis, const Vector3 &yAxis, const Vector3 &zAxis) |
|
void | ToAxes (Vector3 *akAxis) const |
|
void | ToAxes (Vector3 &xAxis, Vector3 &yAxis, Vector3 &zAxis) const |
|
Vector3 | xAxis (void) const |
| Get the local x-axis.
|
|
Vector3 | yAxis (void) const |
| Get the local y-axis.
|
|
Vector3 | zAxis (void) const |
| Get the local z-axis.
|
|
Quaternion & | operator= (const Quaternion &rkQ) |
|
Quaternion | operator+ (const Quaternion &rkQ) const |
|
Quaternion | operator- (const Quaternion &rkQ) const |
|
Quaternion | operator* (const Quaternion &rkQ) const |
|
Quaternion | operator* (float fScalar) const |
|
Quaternion | operator- () const |
|
bool | operator== (const Quaternion &rhs) const |
|
bool | operator!= (const Quaternion &rhs) const |
|
float | Dot (const Quaternion &rkQ) const |
|
float | Norm () const |
|
float | normalise (void) |
| Normalizes this quaternion, and returns the previous length.
|
|
Quaternion | Inverse () const |
|
Quaternion | UnitInverse () const |
|
Quaternion | Exp () const |
|
Quaternion | Log () const |
|
Quaternion & | invertWinding () |
|
Vector3 | operator* (const Vector3 &rkVector) const |
|
Radian | getRoll (bool reprojectAxis=true) const |
| Calculate the local roll element of this quaternion. More...
|
|
Radian | getPitch (bool reprojectAxis=true) const |
| Calculate the local pitch element of this quaternion. More...
|
|
Radian | getYaw (bool reprojectAxis=true) const |
| Calculate the local yaw element of this quaternion. More...
|
|
void | ToRadians (float *outX, float *outY, float *outZ) const |
|
bool | equals (const Quaternion &rhs, const Radian &tolerance) const |
| Equality with tolerance (tolerance is max angle difference)
|
|
|
static Quaternion | Slerp (float fT, const Quaternion &rkP, const Quaternion &rkQ, bool shortestPath=false) |
|
static Quaternion | SlerpExtraSpins (float fT, const Quaternion &rkP, const Quaternion &rkQ, int iExtraSpins) |
|
static void | Intermediate (const Quaternion &rkQ0, const Quaternion &rkQ1, const Quaternion &rkQ2, Quaternion &rka, Quaternion &rkB) |
|
static Quaternion | Squad (float fT, const Quaternion &rkP, const Quaternion &rkA, const Quaternion &rkB, const Quaternion &rkQ, bool shortestPath=false) |
|
static Quaternion | nlerp (float fT, const Quaternion &rkP, const Quaternion &rkQ, bool shortestPath=false) |
|
Implementation of a Quaternion, i.e.
a rotation around an axis. In ParaEngine, we use row matrix which is compatible with DirectX. so the FromRotationMatrix, and ToRotationMatrix will generate row matrix.