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