homog2d library
|
A simple wrapper over a 3x3 matrix, provides root functionalities. More...
#include <homog2d.hpp>
Public Member Functions | |
HOMOG2D_INUMTYPE | determ () const |
Return determinant of matrix. More... | |
matrix_t< FPT > & | getRaw () |
const matrix_t< FPT > & | getRaw () const |
Matrix_ & | inverse () |
Inverse matrix. More... | |
bool | isNormalized () const |
Matrix_ () | |
Constructor. More... | |
template<typename FPT2 > | |
Matrix_ (const Matrix_< FPT2 > &other) | |
Copy-Constructor. More... | |
template<typename T > | |
void | set (size_t r, size_t c, T v) |
Matrix_ & | transpose () |
Transpose and return matrix. More... | |
const FPT & | value (size_t r, size_t c) const |
FPT & | value (size_t r, size_t c) |
![]() | |
std::pair< int, int > | dsize () const |
Get data size expressed as number of bits for, respectively, mantissa and exponent. More... | |
Dtype | dtype () const |
Get numerical data type as a Dtype value, can be stringified with h2d::getString(Dtype) More... | |
template<typename T > | |
constexpr bool | isInside (const Common< T > &) const |
This function is a fallback for all sub-classes that do not provide such a method. More... | |
size_t | size () const |
Protected Member Functions | |
template<typename FPT2 > | |
void | p_divideAll (detail::Matrix_< FPT > &mat, FPT2 value) const |
Divide all elements of mat by value . More... | |
void | p_divideBy (size_t r, size_t c) const |
Divide all elements by the value at (r,c), used for normalization. More... | |
void | p_fillEye () |
template<typename T > | |
void | p_fillWith (const T &in) |
void | p_fillZero () |
void | p_normalizeMat (int r, int c) const |
Protected Attributes | |
bool | _isNormalized = false |
matrix_t< FPT > | _mdata |
Friends | |
template<typename T > | |
class | Matrix_ |
template<typename T1 , typename T2 > | |
Matrix_< T1 > | operator* (const Matrix_< T1 > &, const Matrix_< T2 > &) |
std::ostream & | operator<< (std::ostream &f, const Matrix_ &h) |
template<typename T1 , typename T2 , typename FPT1 , typename FPT2 > | |
void | product (base::LPBase< T1, FPT1 > &, const detail::Matrix_< FPT2 > &, const base::LPBase< T2, FPT1 > &) |
Implementation of product 3x3 by 3x1. More... | |
template<typename FPT1 , typename FPT2 , typename FPT3 > | |
void | product (Matrix_< FPT1 > &, const Matrix_< FPT2 > &, const Matrix_< FPT3 > &) |
Implementation of product 3x3 by 3x3. More... | |
A simple wrapper over a 3x3 matrix, provides root functionalities.
Homogeneous (thus the 'mutable' attribute).
Common
, which is designed to be inherited geometric primitives and as such holds member function that cannot be used on a matrix ! (example: isInside() )
|
inline |
Constructor.
|
inline |
Copy-Constructor.
|
inline |
|
inline |
|
inline |
|
inline |
Inverse matrix.
|
inline |
|
inlineprotected |
Divide all elements of mat
by value
.
|
inlineprotected |
Divide all elements by the value at (r,c), used for normalization.
No need to check value, done by caller
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
Transpose and return matrix.
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
Implementation of product 3x3 by 3x1.
|
friend |
Implementation of product 3x3 by 3x3.
|
mutableprotected |
|
mutableprotected |