A homogenous transformation matrix.
More...
#include <altransform.h>
List of all members.
Static Public Member Functions |
| static Transform | fromRotX (const float pRotX) |
| | Create a Transform initialized with explicit rotation around x axis.
|
| static Transform | fromRotY (const float pRotY) |
| | Create a Transform initialized with explicit rotation around y axis.
|
| static Transform | fromRotZ (const float pRotZ) |
| | Create a Transform initialized with explicit rotation around z axis.
|
| static Transform | from3DRotation (const float &pWX, const float &pWY, const float &pWZ) |
| | Create a Transform initialize with euler angle.
|
| static Transform | fromPosition (const float pX, const float pY, const float pZ) |
| | Create a Transform initialize with explicit value for translation part.
|
| static Transform | fromPosition (const float &pX, const float &pY, const float &pZ, const float &pWX, const float &pWY, const float &pWZ) |
| | Create a Transform initialize with explicit value for translation part and euler angle.
|
Detailed Description
A homogenous transformation matrix.
more information
Definition at line 22 of file altransform.h.
Constructor & Destructor Documentation
| AL::Math::Transform::Transform |
( |
| ) |
|
| AL::Math::Transform::Transform |
( |
const std::vector< float > & |
pFloats | ) |
|
|
explicit |
Create a Transform with an std::vector.
- Parameters:
-
| pFloats | An std::vector<float> of size 12 or 16 for respectively: |
| AL::Math::Transform::Transform |
( |
const float & |
pPosX, |
|
|
const float & |
pPosY, |
|
|
const float & |
pPosZ |
|
) |
| |
Create a Transform initialized with explicit value for translation part. Rotation part is set to identity.
- Parameters:
-
| pPosX | the float value for translation x |
| pPosY | the float value for translation y |
| pPosZ | the float value for translation z |
Member Function Documentation
| float AL::Math::Transform::determinant |
( |
| ) |
const |
Compute the determinant of rotation part of the actual Transform:
- Returns:
- the float determinant of rotation Transform part
Compute the Transform between the actual Transform and the one given in argument:
result: inverse(pT1)*pT2
- Parameters:
-
| float AL::Math::Transform::distance |
( |
const Transform & |
pT2 | ) |
const |
Compute the distance between the actual Transform and the one given in argument:

- Parameters:
-
- Returns:
- the float distance between the two Transform
| float AL::Math::Transform::distanceSquared |
( |
const Transform & |
pT2 | ) |
const |
Compute the squared distance between the actual Transform and the one given in argument (translation part):

- Parameters:
-
- Returns:
- the float squared distance between the two Transform: translation part
| static Transform AL::Math::Transform::from3DRotation |
( |
const float & |
pWX, |
|
|
const float & |
pWY, |
|
|
const float & |
pWZ |
|
) |
| |
|
static |
Create a Transform initialize with euler angle.
H = 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 Transform AL::Math::Transform::fromPosition |
( |
const float |
pX, |
|
|
const float |
pY, |
|
|
const float |
pZ |
|
) |
| |
|
static |
Create a Transform initialize with explicit value for translation part.
- Parameters:
-
| pX | the float value for translation axis x in meter (r1_c4) |
| pY | the float value for translation axis y in meter (r2_c4) |
| pZ | the float value for translation axis z in meter (r3_c4) |
| static Transform AL::Math::Transform::fromPosition |
( |
const float & |
pX, |
|
|
const float & |
pY, |
|
|
const float & |
pZ, |
|
|
const float & |
pWX, |
|
|
const float & |
pWY, |
|
|
const float & |
pWZ |
|
) |
| |
|
static |
Create a Transform initialize with explicit value for translation part and euler angle.
H = fromRotZ(pWZ)*fromRotY(pWY)*fromRotX(pWX)
then
H.r1_c4 = pX
H.r2_c4 = pY
H.r3_c4 = pZ
- Parameters:
-
| pX | the float value for translation axis x in meter (r1_c4) |
| pY | the float value for translation axis y in meter (r2_c4) |
| pZ | the float value for translation axis z in meter (r3_c4) |
| 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 Transform AL::Math::Transform::fromRotX |
( |
const float |
pRotX | ) |
|
|
static |
Create a Transform initialized with explicit rotation around x axis.
- Parameters:
-
| pRotX | the float value for angle rotation in radian around x axis |
| static Transform AL::Math::Transform::fromRotY |
( |
const float |
pRotY | ) |
|
|
static |
Create a Transform initialized with explicit rotation around y axis.
- Parameters:
-
| pRotY | the float value for angle rotation in radian around y axis |
| static Transform AL::Math::Transform::fromRotZ |
( |
const float |
pRotZ | ) |
|
|
static |
Create a Transform initialized with explicit rotation around z axis.
- Parameters:
-
| pRotZ | the float value for angle rotation in radian around z axis |
| Transform AL::Math::Transform::inverse |
( |
| ) |
const |
| bool AL::Math::Transform::isNear |
( |
const Transform & |
pT2, |
|
|
const float & |
pEpsilon = 0.0001f |
|
) |
| const |
Check if the actual Transform is near the one given in argument.
- Parameters:
-
| pT2 | the second Transform |
| pEpsilon | an optionnal epsilon distance: Default: 0.0001 |
- Returns:
- true if the distance between the two Transform is less than pEpsilon
| bool AL::Math::Transform::isTransform |
( |
const float & |
pEpsilon = 0.0001f | ) |
const |
Check if the rotation part is correct. The condition checks are:
and determinant(R) = 1.0.
- Parameters:
-
| pEpsilon | an optionnal epsilon distance. Default: 0.0001 |
- Returns:
- true if the Transform is correct
| float AL::Math::Transform::norm |
( |
| ) |
const |
Compute the norm translation part of the actual Transform:

- Returns:
- the float norm of the Transform
| bool AL::Math::Transform::operator!= |
( |
const Transform & |
pT2 | ) |
const |
Overloading of operator != for Transform.
- Parameters:
-
Overloading of operator * for Transform.
- Parameters:
-
Overloading of operator *= for Transform.
- Parameters:
-
| bool AL::Math::Transform::operator== |
( |
const Transform & |
pT2 | ) |
const |
Overloading of operator == for Transform.
- Parameters:
-
| std::vector<float> AL::Math::Transform::toVector |
( |
| ) |
const |
The documentation for this struct was generated from the following file: