Affine transformation for 3D containing a transformation matrix and a translation vector. More...
#include <cvb/affine_matrix_3d.hpp>
Public Member Functions | |
| AffineMatrix3D () noexcept=default | |
| Default constructor for empty transformation. | |
| AffineMatrix3D (Matrix3D matrix, Vector3D< double > translation) noexcept | |
| Defines a transformation. | |
| Matrix3D | Matrix () const noexcept |
| Gets the matrix part of the transformation. | |
| void | SetMatrix (Matrix3D matrix) noexcept |
| Sets the matrix part of the transformation. | |
| Vector3D< double > | Translation () const noexcept |
| Gets the translation part of the transformation. | |
| void | SetTranslation (Vector3D< double > translation) noexcept |
| Sets the translation part of the transformation. | |
| bool | IsTranslation () const noexcept |
| Checks if this transformation describes a translation. | |
| double | Det () const |
| Transformation determinant. | |
| void | Invert () |
| Inverts this transformation in-place if possible. | |
| AffineMatrix3D | Inverse () |
| Gets the inverse of this transformation if possible. | |
| bool | operator== (const AffineMatrix3D &transformation) const noexcept |
| Compares to an other transformation. | |
| bool | operator!= (const AffineMatrix3D &transformation) const noexcept |
| Compares to an other transformation. | |
| AffineMatrix3D & | operator+= (const AffineMatrix3D &transformation) noexcept |
| Adds and assigns to this affine matrix. | |
| AffineMatrix3D & | operator-= (const AffineMatrix3D &transformation) noexcept |
| Subtracts and assigns to this transformation. | |
| AffineMatrix3D & | operator*= (const AffineMatrix3D &transformation) |
| Multiplies and assigns to this transformation. | |
| AffineMatrix3D & | operator*= (const double &value) noexcept |
| Multiplies and assigns to this transformation. | |
| AffineMatrix3D & | operator/= (const double &value) noexcept |
| Divides each element of this transformation by the given value. | |
Static Public Member Functions | |
| static AffineMatrix3D | Identity () noexcept |
| The identity element. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| AffineMatrix3D | operator+ (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs) noexcept |
| Add two transformations. | |
| AffineMatrix3D | operator- (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs) noexcept |
| Subtract two transformations. | |
| AffineMatrix3D | operator* (const AffineMatrix3D &lhs, const AffineMatrix3D &rhs) |
| Multiply two transformations. | |
| AffineMatrix3D | operator* (const AffineMatrix3D &lhs, const double &rhs) noexcept |
| Multiply transformation with scalar. | |
| AffineMatrix3D | operator* (const double &lhs, const AffineMatrix3D &rhs) noexcept |
| Multiply scalar with transformation. | |
| AffineMatrix3D | operator/ (const AffineMatrix3D &lhs, const double &rhs) |
| Divide transformation by scalar. | |
Affine transformation for 3D containing a transformation matrix and a translation vector.
No perspective transformation is possible, only translation, rotation, scaling and shear.
|
defaultnoexcept |
Default constructor for empty transformation.
| Does | not throw any exception. |
|
inlinenoexcept |
Defines a transformation.
| [in] | matrix | Row-major 3x3 matrix for e.g. scaling or rotation. |
| [in] | translation | Computes the translation matrix |
| Does | not throw any exception. |
|
inline |
Transformation determinant.
| Any | exception derived from std::exception including CvbException. |
|
inlinestaticnoexcept |
The identity element.
| Does | not throw any exception. |
|
inline |
Gets the inverse of this transformation if possible.
| Any | exception derived from std::exception including CvbException. |
Might cause division by zero.
|
inline |
Inverts this transformation in-place if possible.
| Any | exception derived from std::exception including CvbException. |
Might cause division by zero.
|
inlinenoexcept |
Checks if this transformation describes a translation.
| Does | not throw any exception. |
|
inlinenoexcept |
Gets the matrix part of the transformation.
| Does | not throw any exception. |
|
inlinenoexcept |
Compares to an other transformation.
| [in] | transformation | Other transformation. |
| Does | not throw any exception. |
|
inline |
Multiplies and assigns to this transformation.
| [in] | transformation | Other transformation. |
| Any | exception derived from std::exception including CvbException. |
|
inlinenoexcept |
Multiplies and assigns to this transformation.
| [in] | value | Factor. |
| Does | not throw any exception. |
|
inlinenoexcept |
Adds and assigns to this affine matrix.
| [in] | transformation | Other transformation. |
| Does | not throw any exception. |
|
inlinenoexcept |
Subtracts and assigns to this transformation.
| [in] | transformation | Other transformation. |
| Does | not throw any exception. |
|
inlinenoexcept |
Divides each element of this transformation by the given value.
| [in] | value | Divisor. |
| Does | not throw any exception. |
|
inlinenoexcept |
Compares to an other transformation.
| [in] | transformation | Other transformation. |
| Does | not throw any exception. |
|
inlinenoexcept |
Sets the matrix part of the transformation.
| [in] | matrix | The matrix. |
| Does | not throw any exception. |
|
inlinenoexcept |
Sets the translation part of the transformation.
| [in] | translation | The 3D translation part. |
| Does | not throw any exception. |
|
inlinenoexcept |
Gets the translation part of the transformation.
| Does | not throw any exception. |
|
Multiply two transformations.
| [in] | lhs | Right hand side transformation. |
| [in] | rhs | Left hand side transformation. |
| Any | exception derived from std::exception including CvbException. |
|
Multiply transformation with scalar.
| [in] | lhs | Right hand side transformation. |
| [in] | rhs | Left hand side value. |
| Does | not throw any exception. |
|
Multiply scalar with transformation.
| [in] | lhs | Right hand side value. |
| [in] | rhs | Left hand side transformation. |
| Does | not throw any exception. |
|
Add two transformations.
| [in] | lhs | Right hand side transformation. |
| [in] | rhs | Left hand side transformation. |
| Does | not throw any exception. |
|
Subtract two transformations.
| [in] | lhs | Right hand side affine matrix. |
| [in] | rhs | Left hand side affine matrix. |
| Does | not throw any exception. |
|
Divide transformation by scalar.
| [in] | lhs | Right hand side transformation. |
| [in] | rhs | Left hand side value. |
| Any | exception derived from std::exception including CvbException. |