A 3*3 rotation matrix.
More...
#include <alrotation.h>
List of all members.
Static Public Member Functions |
static Rotation | fromQuaternion (const float pA, const float pB, const float pC, const float pD) |
| Creates a 3*3 Rotation Matrix from a normalized quaternion ( |a + bi + cj + dk| = 1).
|
static Rotation | fromAngleDirection (const float pAngle, const float pX, const float pY, const float pZ) |
| Creates a 3*3 Rotation Matrix from a an angle and a normalized direction( |pX, pY, pZ| = 1).
|
static Rotation | fromRotX (const float pRotX) |
| Create a Rotation initialized with explicit rotation around x axis.
|
static Rotation | fromRotY (const float pRotY) |
| Create a Rotation initialized with explicit rotation around y axis.
|
static Rotation | fromRotZ (const float pRotZ) |
| Create a Rotation initialized with explicit rotation around z axis.
|
static Rotation | from3DRotation (const float &pWX, const float &pWY, const float &pWZ) |
| Create a Rotation initialized with euler angle.
|
Public Attributes |
float | r1_c1 |
| row 1 column 1.
|
float | r1_c2 |
| row 1 column 2.
|
float | r1_c3 |
| row 1 column 3.
|
float | r2_c1 |
| row 2 column 1.
|
float | r2_c2 |
| row 2 column 2.
|
float | r2_c3 |
| row 2 column 3.
|
float | r3_c1 |
| row 3 column 1.
|
float | r3_c2 |
| row 3 column 2.
|
float | r3_c3 |
| row 3 column 3.
|
Detailed Description
A 3*3 rotation matrix.
more information
Definition at line 30 of file alrotation.h.
Constructor & Destructor Documentation
AL::Math::Rotation::Rotation |
( |
| ) |
|
Create a Rotation initialized to identity.
AL::Math::Rotation::Rotation |
( |
const std::vector< float > & |
pFloats | ) |
|
Create a Rotation with an std::vector.
- Parameters:
-
pFloats | An std::vector<float> of size 9, 12 or 16 for respectively: |
For std::vector<float> of size 9
For std::vector<float> of size 12 or 16:
Member Function Documentation
float AL::Math::Rotation::determinant |
( |
| ) |
const |
Compute the determinant of the Rotation:
- Returns:
- the float determinant of the Rotation
static Rotation AL::Math::Rotation::from3DRotation |
( |
const float & |
pWX, |
|
|
const float & |
pWY, |
|
|
const float & |
pWZ |
|
) |
| |
|
static |
Create a Rotation initialized with euler angle.
Rot = fromRotZ(pWZ)*fromRotY(pWY)*fromRotX(pWX)
- Parameters:
-
pWX | the float value for euler angle x in radian |
pWY | the float value for euler angle y in radian |
pWZ | the float value for euler angle z in radian |
static Rotation AL::Math::Rotation::fromAngleDirection |
( |
const float |
pAngle, |
|
|
const float |
pX, |
|
|
const float |
pY, |
|
|
const float |
pZ |
|
) |
| |
|
static |
Creates a 3*3 Rotation Matrix from a an angle and a normalized direction( |pX, pY, pZ| = 1).
- Parameters:
-
pAngle | the float value of angle in radian |
pX | the X direction of the vector of the rotation |
pY | the Y direction of the vector of the rotation |
pZ | the Z direction of the vector of the rotation |
static Rotation AL::Math::Rotation::fromQuaternion |
( |
const float |
pA, |
|
|
const float |
pB, |
|
|
const float |
pC, |
|
|
const float |
pD |
|
) |
| |
|
static |
Creates a 3*3 Rotation Matrix from a normalized quaternion ( |a + bi + cj + dk| = 1).
- Parameters:
-
pA | Coefficient a of the normalized quaternion |
pB | Coefficient b of the normalized quaternion |
pC | Coefficient c of the normalized quaternion |
pD | Coefficient d of the normalized quaternion |
static Rotation AL::Math::Rotation::fromRotX |
( |
const float |
pRotX | ) |
|
|
static |
Create a Rotation initialized with explicit rotation around x axis.
- Parameters:
-
pRotX | the float value for angle rotation in radian around x axis |
static Rotation AL::Math::Rotation::fromRotY |
( |
const float |
pRotY | ) |
|
|
static |
Create a Rotation initialized with explicit rotation around y axis.
- Parameters:
-
pRotY | the float value for angle rotation in radian around y axis |
static Rotation AL::Math::Rotation::fromRotZ |
( |
const float |
pRotZ | ) |
|
|
static |
Create a Rotation initialized with explicit rotation around z axis.
- Parameters:
-
pRotZ | the float value for angle rotation in radian around z axis |
bool AL::Math::Rotation::isNear |
( |
const Rotation & |
pRot2, |
|
|
const float & |
pEpsilon = 0.0001f |
|
) |
| const |
Check if the actual Rotation is near the one give in argument.
- Parameters:
-
pRot2 | the second Rotation |
pEpsilon | an optionnal epsilon distance: default: 0.0001 |
- Returns:
- true if the distance between the two rotations is less than pEpsilon
bool AL::Math::Rotation::operator!= |
( |
const Rotation & |
pRot2 | ) |
const |
Overloading of operator != for Rotation.
- Parameters:
-
Overloading of operator * for Rotation.
- Parameters:
-
Overloading of operator *= for Rotation.
- Parameters:
-
bool AL::Math::Rotation::operator== |
( |
const Rotation & |
pRot2 | ) |
const |
Overloading of operator == for Rotation.
- Parameters:
-
std::vector<float> AL::Math::Rotation::toVector |
( |
| ) |
const |
Return the Rotation as a vector of float:
Rotation AL::Math::Rotation::transpose |
( |
| ) |
const |
Compute the rotation transpose (inverse) of the actual Rotation:
- Returns:
- the Rotation transpose
Member Data Documentation
float AL::Math::Rotation::r1_c1 |
float AL::Math::Rotation::r1_c2 |
float AL::Math::Rotation::r1_c3 |
float AL::Math::Rotation::r2_c1 |
float AL::Math::Rotation::r2_c2 |
float AL::Math::Rotation::r2_c3 |
float AL::Math::Rotation::r3_c1 |
float AL::Math::Rotation::r3_c2 |
float AL::Math::Rotation::r3_c3 |
The documentation for this struct was generated from the following file: