Affine transformation matrix for 3D.
More...
#include <cvb/affine_matrix_3d.hpp>
Affine transformation matrix for 3D.
This is a compact version of CVC3DMatrixH with the last row being { 0, 0, 0, 1 }. So no perspective transformation is possible, but translation, rotation and scaling is.
- Examples
- Foundation/CppMetricCalibration, Foundation/CppMetricCalibrationInclinationLaserPlane, and Foundation/CppMetricCalibrationRigidBodyTrafo.
◆ AffineMatrix3D() [1/2]
Default constructor for empty transformation.
- Exceptions
-
Does | not throw any exception. |
◆ AffineMatrix3D() [2/2]
Defines a transformation.
- Parameters
-
[in] | matrix | Row-major 3x3 matrix for e.g. scaling or rotation. |
[in] | translation | Computes the translation matrix |
- Exceptions
-
Does | not throw any exception. |
◆ Det()
Transformation determinant.
- Returns
- The determinant.
- Exceptions
-
◆ Identity()
The identity element.
- Returns
- An identity transformation.
- Exceptions
-
Does | not throw any exception. |
◆ Invert()
Inverts this transformation if possible.
- Exceptions
-
Might cause division by zero.
◆ IsTranslation()
bool IsTranslation |
( |
| ) |
const |
|
inlinenoexcept |
Checks if this transformation describes a translation.
- Returns
- bool True if this transformation corresponds to a pure translation, false otherwise.
- Exceptions
-
Does | not throw any exception. |
◆ Matrix()
◆ operator!=()
Compares to an other transformation.
- Parameters
-
[in] | transformation | Other transformation. |
- Returns
- True if not equal, otherwise false.
- Exceptions
-
Does | not throw any exception. |
◆ operator*=() [1/2]
Multiplies and assigns to this transformation.
- Parameters
-
[in] | transformation | Other transformation. |
- Returns
- This transformation.
- Exceptions
-
◆ operator*=() [2/2]
Multiplies and assigns to this transformation.
- Parameters
-
- Returns
- This transformation.
- Exceptions
-
Does | not throw any exception. |
◆ operator+=()
Adds and assigns to this affine matrix.
- Parameters
-
[in] | transformation | Other transformation. |
- Returns
- This transformation.
- Exceptions
-
Does | not throw any exception. |
◆ operator-=()
Subtracts and assigns to this transformation.
- Parameters
-
[in] | transformation | Other transformation. |
- Returns
- This transformation.
- Exceptions
-
Does | not throw any exception. |
◆ operator/=()
Divides each element of this transformation by the given value.
- Parameters
-
- Returns
- This transformation.
- Exceptions
-
Does | not throw any exception. |
◆ operator==()
Compares to an other transformation.
- Parameters
-
[in] | transformation | Other transformation. |
- Returns
- True if equal, otherwise false.
- Exceptions
-
Does | not throw any exception. |
◆ SetMatrix()
Sets the matrix part of the transformation.
- Parameters
-
- Exceptions
-
Does | not throw any exception. |
◆ SetTranslation()
void SetTranslation |
( |
Vector3D< double > |
translation | ) |
|
|
inlinenoexcept |
Sets the translation part of the transformation.
- Parameters
-
[in] | translation | The 3D translation part. |
- Exceptions
-
Does | not throw any exception. |
◆ Translation()
Vector3D< double > Translation |
( |
| ) |
const |
|
inlinenoexcept |
◆ operator*() [1/3]
Multiply two transformations.
- Parameters
-
[in] | lhs | Right hand side transformation. |
[in] | rhs | Left hand side transformation. |
- Returns
- The computation result.
- Exceptions
-
◆ operator*() [2/3]
Multiply transformation with scalar.
- Parameters
-
[in] | lhs | Right hand side transformation. |
[in] | rhs | Left hand side value. |
- Returns
- The computation result.
- Exceptions
-
Does | not throw any exception. |
◆ operator*() [3/3]
Multiply scalar with transformation.
- Parameters
-
[in] | lhs | Right hand side value. |
[in] | rhs | Left hand side transformation. |
- Returns
- The computation result.
- Exceptions
-
Does | not throw any exception. |
◆ operator+()
Add two transformations.
- Parameters
-
[in] | lhs | Right hand side transformation. |
[in] | rhs | Left hand side transformation. |
- Returns
- The computation result.
- Exceptions
-
Does | not throw any exception. |
◆ operator-()
Subtract two transformations.
- Parameters
-
[in] | lhs | Right hand side affine matrix. |
[in] | rhs | Left hand side affine matrix. |
- Returns
- The computation result.
- Exceptions
-
Does | not throw any exception. |
◆ operator/()
Divide transformation by scalar.
- Parameters
-
[in] | lhs | Right hand side transformation. |
[in] | rhs | Left hand side value. |
- Returns
- The computation result.
- Exceptions
-