DNA Calib 1.1
Project brief
|
#include <Mat.h>
Public Types | |
using | value_type = T |
using | row_type = vec< C, value_type > |
using | column_type = vec< R, value_type > |
Public Member Functions | |
mat () | |
~mat ()=default | |
mat (const mat &)=default | |
mat & | operator= (const mat &)=default |
mat (mat &&)=default | |
mat & | operator= (mat &&)=default |
template<typename U > | |
mat (U scalar) | |
template<typename ... Us, typename std::enable_if< sizeof...(Us)==R *C >::type * = nullptr> | |
mat (Us... scalars) | |
template<typename U > | |
mat (const mat< R, C, U > &rhs) | |
template<typename U > | |
mat & | operator= (const mat< R, C, U > &rhs) |
template<typename ... Us, typename std::enable_if< sizeof...(Us)==R >::type * = nullptr> | |
mat (const vec< C, Us > &... vs) | |
row_type & | operator[] (dim_t index) |
const row_type & | operator[] (dim_t index) const |
T & | operator() (dim_t rowIndex, dim_t colIndex) |
const T & | operator() (dim_t rowIndex, dim_t colIndex) const |
template<typename F > | |
mat & | apply (F func) |
template<typename F > | |
const mat & | apply (F func) const |
mat & | operator++ () |
mat & | operator-- () |
template<typename U > | |
mat & | operator+= (U rhs) |
template<typename U > | |
mat & | operator+= (const mat< R, C, U > &rhs) |
mat & | operator+= (const mat &rhs) |
template<typename U > | |
mat & | operator-= (U rhs) |
template<typename U > | |
mat & | operator-= (const mat< R, C, U > &rhs) |
mat & | operator-= (const mat &rhs) |
template<typename U > | |
mat & | operator*= (U rhs) |
template<typename U > | |
mat & | operator*= (const mat< R, C, U > &rhs) |
mat & | operator*= (const mat &rhs) |
template<typename U > | |
mat & | operator/= (U rhs) |
template<typename U > | |
mat & | operator/= (const mat< R, C, U > &rhs) |
mat & | operator/= (const mat &rhs) |
template<typename ... , dim_t H = R, dim_t W = C> | |
std::enable_if< H==W, mat & >::type | transpose () |
mat & | negate () |
row_type | row (dim_t index) const |
column_type | column (dim_t index) const |
template<dim_t H, dim_t W> | |
std::enable_if<(H >1 &&W >1 &&H<=R &&W<=C), mat< H, W, T > >::type | submat (dim_t y, dim_t x) const |
Static Public Member Functions | |
static constexpr dim_t | rows () |
static constexpr dim_t | columns () |
template<typename ... Us, typename std::enable_if< sizeof...(Us)==R >::type * = nullptr> | |
static mat | fromRows (const vec< C, Us > &... vs) |
template<typename ... Us, typename std::enable_if< sizeof...(Us)==C >::type * = nullptr> | |
static mat | fromColumns (const vec< R, Us > &... vs) |
template<typename U , typename ... , dim_t H = R, dim_t W = C> | |
static std::enable_if< H==W, mat >::type | diagonal (U scalar) |
template<typename U , typename ... , dim_t H = R, dim_t W = C> | |
static std::enable_if< H==W, mat >::type | diagonal (const vec< W, U > &scalars) |
template<typename ... Us, dim_t H = R, dim_t W = C> | |
static std::enable_if<(H==W)&&(sizeof...(Us)==H), mat >::type | diagonal (Us... scalars) |
template<typename ... , dim_t H = R, dim_t W = C> | |
static std::enable_if< H==W, mat >::type | identity () |
Private Attributes | |
row_type | values [R] |
using tdm::mat< R, C, T >::column_type = vec<R, value_type> |
using tdm::mat< R, C, T >::row_type = vec<C, value_type> |
|
inlineexplicit |
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
|
inline |
References tdm::mat< R, C, T >::apply(), tdm::vec< L, T >::apply(), tdm::mat< R, C, T >::columns(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::rows(), and tdm::mat< R, C, T >::values.
Referenced by tdm::mat< R, C, T >::column(), tdm::mat< R, C, T >::diagonal(), tdm::mat< R, C, T >::mat(), tdm::mat< R, C, T >::negate(), tdm::operator*(), tdm::mat< R, C, T >::operator*=(), tdm::mat< R, C, T >::operator++(), tdm::mat< R, C, T >::operator+=(), tdm::mat< R, C, T >::operator--(), tdm::mat< R, C, T >::operator-=(), tdm::operator/(), tdm::mat< R, C, T >::operator/=(), tdm::operator==(), tdm::mat< R, C, T >::submat(), and tdm::transpose().
References tdm::mat< R, C, T >::rows(), and tdm::mat< R, C, T >::values.
|
inline |
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
Referenced by tdm::operator*().
References tdm::vec< C, value_type >::dimensions().
Referenced by tdm::mat< R, C, T >::mat(), and tdm::mat< R, C, T >::submat().
|
inlinestatic |
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
Referenced by tdm::mat< R, C, T >::diagonal(), tdm::mat< R, C, T >::identity(), and tdm::affine::scale().
|
inlinestatic |
References tdm::mat< R, C, T >::diagonal().
|
inlinestatic |
References tdm::transpose().
|
inlinestatic |
References tdm::mat< R, C, T >::diagonal().
Referenced by dnac::extractTranslationMatrix().
References tdm::mat< R, C, T >::apply(), tdm::vec< L, T >::negate(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::operator[]().
References tdm::mat< R, C, T >::operator[]().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
Referenced by tdm::mat< R, C, T >::operator/=().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
References tdm::inverse(), and tdm::mat< R, C, T >::operator*=().
References tdm::mat< R, C, T >::apply(), and tdm::mat< R, C, T >::row().
Referenced by tdm::mat< R, C, T >::operator=().
References tdm::mat< R, C, T >::operator=().
References tdm::mat< R, C, T >::rows(), and tdm::mat< R, C, T >::values.
Referenced by tdm::mat< R, C, T >::operator()(), and tdm::mat< R, C, T >::row().
References tdm::mat< R, C, T >::rows(), and tdm::mat< R, C, T >::values.
References tdm::mat< R, C, T >::operator[]().
Referenced by tdm::mat< R, C, T >::column(), tdm::mat< R, C, T >::diagonal(), tdm::mat< R, C, T >::mat(), tdm::mat< R, C, T >::negate(), tdm::mat< R, C, T >::operator*=(), tdm::mat< R, C, T >::operator++(), tdm::mat< R, C, T >::operator+=(), tdm::mat< R, C, T >::operator--(), tdm::mat< R, C, T >::operator-=(), tdm::mat< R, C, T >::operator/=(), and tdm::mat< R, C, T >::submat().
References tdm::vec< L, T >::dimensions().
Referenced by tdm::mat< R, C, T >::apply(), tdm::mat< R, C, T >::operator[](), and tdm::mat< R, C, T >::submat().
|
inline |
References tdm::mat< R, C, T >::apply(), tdm::vec< L, T >::apply(), tdm::mat< R, C, T >::columns(), tdm::mat< R, C, T >::row(), tdm::mat< R, C, T >::rows(), and tdm::mat< R, C, T >::values.
References tdm::transpose().
Referenced by tdm::mat< R, C, T >::apply(), tdm::mat< R, C, T >::operator[](), and tdm::mat< R, C, T >::submat().