9 #ifndef _LIBALMATH_ALMATH_TYPES_ALQUATERNION_H_
10 #define _LIBALMATH_ALMATH_TYPES_ALQUATERNION_H_
118 w*pQua2.
w -
x*pQua2.
x -
y*pQua2.
y -
z*pQua2.
z,
119 w*pQua2.
x + pQua2.
w*
x +
y*pQua2.
z -
z*pQua2.
y,
120 w*pQua2.
y + pQua2.
w*
y +
z*pQua2.
x -
x*pQua2.
z,
121 w*pQua2.
z + pQua2.
w*
z +
x*pQua2.
y -
y*pQua2.
x);
176 const float& pEpsilon=0.0001f)
const;
224 void toVector(std::vector<float>& pReturnVector)
const;
225 std::vector<float>
toVector(
void)
const;
238 float norm(
const Quaternion& pQua);
250 Quaternion
normalize(
const Quaternion& pQua);
261 const Quaternion& pQua,
262 Quaternion& pQuaOut);
306 const Quaternion& pQuaternion,
322 const Quaternion& pQuaternion);
327 #endif // _LIBALMATH_ALMATH_TYPES_ALQUATERNION_H_
Quaternion & operator/=(float pVal)
Overloading of operator /= for Quaternion.
float norm() const
Compute the norm of the actual Quaternion.
Quaternion & operator*=(const Quaternion &pQua2)
Overloading of operator *= for Quaternion.
float norm(const Position2D &pPos)
Compute the norm of a Position2D.
Quaternion operator/(float pVal) const
Overloading of operator / for Quaternion.
bool operator==(const Quaternion &pQua2) const
Overloading of operator == for Quaternion.
bool operator!=(const Quaternion &pQua2) const
Overloading of operator != for Quaternion.
std::vector< float > toVector(void) const
Quaternion inverse() const
Compute the quaternion inverse of the actual Quaternion
Position2D normalize(const Position2D &pPos)
Normalize a Position2D.
void angleAndAxisRotationFromQuaternion(const Quaternion &pQuaternion, float &pAngle, float &pAxisX, float &pAxisY, float &pAxisZ)
Compute angle and axis rotation from a Quaternion.
Quaternion quaternionFromAngleAndAxisRotation(const float pAngle, const float pAxisX, const float pAxisY, const float pAxisZ)
Create a Quaternion initialized with explicit angle and axis rotation.
Quaternion operator*(const Quaternion &pQua2) const
Overloading of operator * for Quaternion.
Quaternion normalize() const
Normalize the actual Quaterion.
static Quaternion fromAngleAndAxisRotation(const float pAngle, const float pAxisX, const float pAxisY, const float pAxisZ)
Create a Quaternion initialized with explicit angle and axis rotation.
Quaternion()
Create a Quaternion initialize with 0.0f.
bool isNear(const Quaternion &pQua2, const float &pEpsilon=0.0001f) const
Check if the actual Quaternion is near the one give in argument.
Create and play with a Quaternion.
void quaternionInverse(const Quaternion &pQua, Quaternion &pQuaOut)
Return the quaternion inverse of the given Quaternion: