Double precision row-major 4x4 matrix. More...
#include <cvb/matrix_3d_h.hpp>
Public Member Functions | |
Matrix3DH () noexcept=default | |
Default constructor for empty matrix. More... | |
template<std::size_t N> | |
Matrix3DH (const double(&list)[N]) noexcept | |
Construct a 3x3 matrix with an initializer list. More... | |
Matrix3DH (const Matrix3D &matrix) noexcept | |
Create a homogeneous matrix from a matrix. More... | |
const double * | operator[] (int row) const noexcept |
Index based element access. More... | |
double * | operator[] (int row) noexcept |
Index based element access. More... | |
const double & | At (int row, int column) const noexcept |
Index based element access. More... | |
double & | At (int row, int column) noexcept |
Index based element access. More... | |
bool | operator== (const Matrix3DH &matrix) const noexcept |
Compares to an other matrix. More... | |
bool | operator!= (const Matrix3DH &matrix) const noexcept |
Compares to an other matrix. More... | |
Matrix3DH & | operator+= (const Matrix3DH &matrix) noexcept |
Adds and assigns to this matrix. More... | |
Matrix3DH & | operator-= (const Matrix3DH &matrix) noexcept |
Subtracts and assigns to this matrix. More... | |
Matrix3DH & | operator*= (const double &value) noexcept |
Multiplies and assigns to this matrix. More... | |
Matrix3DH & | operator/= (const double &value) noexcept |
Divides each element of this matrix by the given value. More... | |
Static Public Member Functions | |
static Matrix3DH | Identity () noexcept |
The identity element. More... | |
Related Functions | |
(Note that these are not member functions.) | |
Matrix3DH | operator+ (const Matrix3DH &lhs, const Matrix3DH &rhs) |
Add two matrices. More... | |
Matrix3DH | operator- (const Matrix3DH &lhs, const Matrix3DH &rhs) |
Subtract two matrices. More... | |
Point3DH< double > | operator* (const Matrix3DH &lhs, const Point3DH< double > &rhs) |
Multiply matrix with 3D point (homogeneous). More... | |
Matrix3DH | operator* (const Matrix3DH &lhs, const double &rhs) |
Multiply matrix with scalar. More... | |
Matrix3DH | operator* (const double &lhs, const Matrix3DH &rhs) |
Multiply scalar with matrix . More... | |
Matrix3DH | operator/ (const Matrix3DH &lhs, const double &rhs) |
Divide matrix by scalar. More... | |
Double precision row-major 4x4 matrix.
This matrix is used for general homography transformation including perspective(pinhole camera model).
|
defaultnoexcept |
Default constructor for empty matrix.
Does | not throw any exception. |
|
inlinenoexcept |
Construct a 3x3 matrix with an initializer list.
[in] | list | Containing exactly 16 elements. |
Does | not throw any exception. |
Create a homogeneous matrix from a matrix.
[in] | matrix | 3x3 matrix. |
Does | not throw any exception. |
|
inlinenoexcept |
Index based element access.
[in] | row | The row to access. |
[in] | column | The column to access. |
Does | not throw any exception. |
|
inlinenoexcept |
Index based element access.
[in] | row | The row to access. |
[in] | column | The column to access. |
Does | not throw any exception. |
|
inlinestaticnoexcept |
The identity element.
Does | not throw any exception. |
|
inlinenoexcept |
Compares to an other matrix.
[in] | matrix | Other matrix. |
Does | not throw any exception. |
|
inlinenoexcept |
Multiplies and assigns to this matrix.
[in] | value | Factor. |
Does | not throw any exception. |
Adds and assigns to this matrix.
[in] | matrix | Other matrix. |
Does | not throw any exception. |
Subtracts and assigns to this matrix.
[in] | matrix | Other matrix. |
Does | not throw any exception. |
|
inlinenoexcept |
Divides each element of this matrix by the given value.
[in] | value | Divisor. |
Does | not throw any exception. |
|
inlinenoexcept |
Compares to an other matrix.
[in] | matrix | Other matrix. |
Does | not throw any exception. |
|
inlinenoexcept |
Index based element access.
[in] | row |
Does | not throw any exception. |
|
inlinenoexcept |
Index based element access.
[in] | row |
Does | not throw any exception. |
Multiply scalar with matrix .
[in] | lhs | Right hand side value. |
[in] | rhs | Left hand side matrix. |
Does | not throw any exception. |
Multiply matrix with scalar.
[in] | lhs | Right hand side matrix. |
[in] | rhs | Left hand side value. |
Does | not throw any exception. |
Multiply matrix with 3D point (homogeneous).
[in] | lhs | Right hand side matrix. |
[in] | rhs | Left hand side point. |
Does | not throw any exception. |
Add two matrices.
[in] | lhs | Right hand side matrix. |
[in] | rhs | Left hand side matrix. |
Does | not throw any exception. |
Subtract two matrices.
[in] | lhs | Right hand side matrix. |
[in] | rhs | Left hand side matrix. |
Does | not throw any exception. |