9 #ifndef _LIBALMATH_ALMATH_TYPES_ALROTATION_H_
10 #define _LIBALMATH_ALMATH_TYPES_ALROTATION_H_
13 #include <almath/api.h>
28 struct ALMATH_API Rotation
126 Rotation (
const std::vector<float>& pFloats);
133 Rotation& operator*= (
const Rotation& pRot2);
139 Rotation
operator* (
const Rotation& pRot2)
const;
164 const Rotation& pRot2,
165 const float& pEpsilon=0.0001f)
const;
185 bool isRotation(
const float& pEpsilon=0.0001f)
const;
218 static Rotation fromQuaternion(
232 static Rotation fromAngleDirection(
247 static Rotation fromRotX(
const float pRotX);
267 static Rotation fromRotY(
const float pRotY);
287 static Rotation fromRotZ(
const float pRotZ);
322 static Rotation from3DRotation(
336 void toVector(std::vector<float>& pReturnValue)
const;
338 std::vector<float> toVector(
void)
const;
351 ALMATH_API Rotation
transpose(
const Rotation& pRot);
364 ALMATH_API
float determinant(
const Rotation& pRot);
497 #endif // _LIBALMATH_ALMATH_TYPES_ALROTATION_H_
float r2_c1
row 2 column 1.
ALMATH_API Rotation rotationFrom3DRotation(const float &pWX, const float &pWY, const float &pWZ)
Create a Rotation initialized with euler angle. Rot = fromRotZ(pWZ)*fromRotY(pWY)*fromRotX(pWX) ...
float r3_c1
row 3 column 1.
float r3_c2
row 3 column 2.
static Rotation fromRotXPi()
static Rotation fromRotZHalfPi()
Create a Rotation initialized with rotation of pi/2 around z axis.
bool isNear(const Transform &lhs, const Transform &rhs, double epsilon)
float r1_c2
row 1 column 2.
ALMATH_API Rotation rotationFromRotZ(const float pRotZ)
Create a Rotation initialized with explicit rotation around z axis.
bool operator!=(const Pose &lhs, const Pose &rhs)
ALMATH_API Rotation rotationFromRotY(const float pRotY)
Create a Rotation initialized with explicit rotation around y axis.
ALMATH_API float determinant(const Rotation &pRot)
Compute the determinant of the given Rotation:
ALMATH_API void normalizeRotation(Rotation &pRot)
Normalize data, if needed, to have Rotation properties.
float r2_c2
row 2 column 2.
static Rotation fromRotZPi()
Create a Rotation initialized with rotation of pi around z axis.
float r2_c3
row 2 column 3.
ALMATH_API Rotation transpose(const Rotation &pRot)
Compute the transpose rotation of the one given in argument:
float r3_c3
row 3 column 3.
ALMATH_API void applyRotation(const AL::Math::Rotation &pRot, float &pX, float &pY, float &pZ)
Apply Rotation to a 3D point.
static Rotation fromRotYPi()
float r1_c1
row 1 column 1.
bool operator==(const BodyMass< T > &lhs, const BodyMass< T > &rhs)
ALMATH_API Rotation rotationFromRotX(const float pRotX)
Create a Rotation initialized with explicit rotation around x axis.
float r1_c3
row 1 column 3.