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. |
|
related |
Multiply two transformations.
[in] | lhs | Right hand side transformation. |
[in] | rhs | Left hand side transformation. |
Any | exception derived from std::exception including CvbException. |
|
related |
Multiply transformation with scalar.
[in] | lhs | Right hand side transformation. |
[in] | rhs | Left hand side value. |
Does | not throw any exception. |
|
related |
Multiply scalar with transformation.
[in] | lhs | Right hand side value. |
[in] | rhs | Left hand side transformation. |
Does | not throw any exception. |
|
related |
Add two transformations.
[in] | lhs | Right hand side transformation. |
[in] | rhs | Left hand side transformation. |
Does | not throw any exception. |
|
related |
Subtract two transformations.
[in] | lhs | Right hand side affine matrix. |
[in] | rhs | Left hand side affine matrix. |
Does | not throw any exception. |
|
related |
Divide transformation by scalar.
[in] | lhs | Right hand side transformation. |
[in] | rhs | Left hand side value. |
Any | exception derived from std::exception including CvbException. |
We use cookies to improve your experience. By using this documentation, you agree to our use of cookies.