Affine transformation for 3D containing a transformation matrix and a translation vector.
More...
#include <cvb/affine_matrix_3d.hpp>
Affine transformation for 3D containing a transformation matrix and a translation vector.
No perspective transformation is possible, only translation, rotation, scaling and shear.
- 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. |
◆ Inverse()
Gets the inverse of this transformation if possible.
- Exceptions
-
- Returns
- Inverse.
Might cause division by zero.
◆ Invert()
Inverts this transformation in-place 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()
Gets the matrix part of the transformation.
- Returns
- The matrix.
- Exceptions
-
Does | not throw any exception. |
◆ 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 |
Gets the translation part of the transformation.
- Returns
- The 3D translation part.
- Exceptions
-
Does | not throw any exception. |
◆ 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
-