Zivid C++ API 2.14.0+e4a0c4a9-1
|
A fixed size matrix in row major order. More...
#include <Zivid/Matrix.h>
Public Types | |
using | ValueType = T |
The type stored in the matrix. | |
using | Iterator = typename Storage::iterator |
The matrix iterator type for mutable access. It iterates over individual matrix elements in row major order. | |
using | ConstIterator = typename Storage::const_iterator |
The matrix iterator type for immutable access. It iterates over individual matrix elements in row major order. | |
Public Member Functions | |
Matrix ()=default | |
Constructor. | |
Matrix (const std::string &fileName) | |
Load the matrix from a file. | |
Matrix (const std::array< T, colCount *rowCount > &arrArr) | |
Constructor. | |
template<typename U > | |
Matrix (const Matrix< U, rowCount, colCount > &sourceMatrix) | |
Constructor. | |
template<typename Iterator > | |
Matrix (Iterator beginIt, Iterator endIt) | |
Constructor. | |
Matrix (std::initializer_list< T > values) | |
Constructor. | |
Matrix (std::initializer_list< std::initializer_list< T > > values) | |
Constructor. | |
Iterator | begin () |
Iterator to the beginning of the matrix. | |
Iterator | end () |
Iterator to the end of the matrix. | |
ConstIterator | begin () const |
Iterator to the beginning of the matrix. | |
ConstIterator | end () const |
Iterator to the end of the matrix. | |
ConstIterator | cbegin () const |
Iterator to the beginning of the matrix. | |
ConstIterator | cend () const |
Iterator to the end of the matrix. | |
T & | at (size_t row, size_t col) |
Access specified element with bounds checking. | |
const T & | at (size_t row, size_t col) const |
Access specified element with bounds checking. | |
T & | operator() (size_t row, size_t col) |
Access specified element without bounds checking. | |
const T & | operator() (size_t row, size_t col) const |
Access specified element without bounds checking. | |
T * | data () |
Pointer to the underlying data. | |
const T * | data () const |
Pointer to the underlying data. | |
void | save (const std::string &fileName) const |
Save the matrix to the given file. | |
void | load (const std::string &fileName) |
Load the matrix from the given file. | |
template<typename Q = T, typename = typename std::enable_if_t<invertSupported, Q>> | |
ZIVID_CORE_EXPORT Matrix | inverse () const |
Get the inverse of this matrix. | |
std::string | toString () const |
Get string representation of the Matrix. | |
Static Public Member Functions | |
template<typename Q = T, typename = typename std::enable_if_t<identitySupported, Q>> | |
static Matrix | identity () |
Get the identity matrix of given type and size. | |
Static Public Attributes | |
static constexpr size_t | rows { rowCount } |
The number of rows in the matrix. | |
static constexpr size_t | cols { colCount } |
The number of columns in the matrix. | |
A fixed size matrix in row major order.
using Zivid::Matrix< T, rowCount, colCount >::ConstIterator = typename Storage::const_iterator |
The matrix iterator type for immutable access. It iterates over individual matrix elements in row major order.
using Zivid::Matrix< T, rowCount, colCount >::Iterator = typename Storage::iterator |
The matrix iterator type for mutable access. It iterates over individual matrix elements in row major order.
using Zivid::Matrix< T, rowCount, colCount >::ValueType = T |
The type stored in the matrix.
|
default |
Constructor.
|
inline |
Load the matrix from a file.
|
inlineexplicit |
Constructor.
|
inlineexplicit |
Constructor.
|
inline |
Constructor.
|
inlineexplicit |
Constructor.
|
inlineexplicit |
Constructor.
|
inline |
Access specified element with bounds checking.
|
inline |
Access specified element with bounds checking.
|
inline |
Iterator to the beginning of the matrix.
|
inline |
Iterator to the beginning of the matrix.
|
inline |
Iterator to the beginning of the matrix.
|
inline |
Iterator to the end of the matrix.
|
inline |
Pointer to the underlying data.
|
inline |
Pointer to the underlying data.
|
inline |
Iterator to the end of the matrix.
|
inline |
Iterator to the end of the matrix.
|
inlinestatic |
Get the identity matrix of given type and size.
ZIVID_CORE_EXPORT Matrix Zivid::Matrix< T, rowCount, colCount >::inverse | ( | ) | const |
Get the inverse of this matrix.
An exception is thrown if the matrix is not invertible.
void Zivid::Matrix< T, rowCount, colCount >::load | ( | const std::string & | fileName | ) |
Load the matrix from the given file.
Loads the matrix into the object it was invoked on, does not return a value.
|
inline |
Access specified element without bounds checking.
|
inline |
Access specified element without bounds checking.
void Zivid::Matrix< T, rowCount, colCount >::save | ( | const std::string & | fileName | ) | const |
Save the matrix to the given file.
The matrix is saved in YAML format.
|
inline |
|
staticconstexpr |
The number of columns in the matrix.
|
staticconstexpr |
The number of rows in the matrix.