9 #ifndef _LIBALMATH_ALMATH_TYPES_ALQUATERNION_H_
10 #define _LIBALMATH_ALMATH_TYPES_ALQUATERNION_H_
13 #include <almath/api.h>
119 w*pQua2.
w - x*pQua2.
x - y*pQua2.
y - z*pQua2.
z,
120 w*pQua2.
x + pQua2.
w*x + y*pQua2.
z - z*pQua2.
y,
121 w*pQua2.
y + pQua2.
w*y + z*pQua2.
x - x*pQua2.
z,
122 w*pQua2.
z + pQua2.
w*z + x*pQua2.
y - y*pQua2.
x);
143 return Quaternion(w*pVal, x*pVal, y*pVal, z*pVal);
177 const float& pEpsilon=0.0001f)
const;
225 void toVector(std::vector<float>& pReturnVector)
const;
226 std::vector<float> toVector(
void)
const;
239 ALMATH_API
float norm(
const Quaternion& pQua);
251 ALMATH_API Quaternion
normalize(
const Quaternion& pQua);
262 const Quaternion& pQua,
263 Quaternion& pQuaOut);
307 const Quaternion& pQuaternion,
323 const Quaternion& pQuaternion);
328 #endif // _LIBALMATH_ALMATH_TYPES_ALQUATERNION_H_
ALMATH_API void angleAndAxisRotationFromQuaternion(const Quaternion &pQuaternion, float &pAngle, float &pAxisX, float &pAxisY, float &pAxisZ)
Compute angle and axis rotation from a Quaternion.
bool isNear(const Transform &lhs, const Transform &rhs, double epsilon)
bool operator!=(const Pose &lhs, const Pose &rhs)
Transform inverse(const Transform &tf)
ALMATH_API Quaternion quaternionFromAngleAndAxisRotation(const float pAngle, const float pAxisX, const float pAxisY, const float pAxisZ)
Create a Quaternion initialized with explicit angle and axis rotation.
ALMATH_API Position2D normalize(const Position2D &pPos)
Normalize a Position2D.
ALMATH_API void quaternionInverse(const Quaternion &pQua, Quaternion &pQuaOut)
Return the quaternion inverse of the given Quaternion:
ALMATH_API float norm(const Position2D &pPos)
Compute the norm of a Position2D.
bool operator==(const BodyMass< T > &lhs, const BodyMass< T > &rhs)
Create and play with a Quaternion.