|
constexpr | Matrix () |
|
| Matrix (ConstReference value) |
|
template<typename... Args> |
constexpr | Matrix (ConstReference first, Args... rest) |
|
template<size_t R, size_t C, typename E > |
| Matrix (const MatrixExpression< T, R, C, E > &expression) |
|
| Matrix (const NestedInitializerListsT< T, 2 > &lst) |
|
| Matrix (ConstPointer ptr) |
|
| ~Matrix ()=default |
|
constexpr | Matrix (const Matrix &other) |
|
constexpr | Matrix (Matrix &&other) noexcept |
|
Matrix & | operator= (const Matrix &other) |
|
Matrix & | operator= (Matrix &&other) noexcept |
|
void | Fill (const T &val) |
|
void | Fill (const std::function< T(size_t i)> &func) |
|
void | Fill (const std::function< T(size_t i, size_t j)> &func) |
|
void | Swap (Matrix &other) |
|
constexpr size_t | GetRows () const |
|
constexpr size_t | GetCols () const |
|
Iterator | begin () |
|
constexpr ConstIterator | begin () const |
|
Iterator | end () |
|
constexpr ConstIterator | end () const |
|
Pointer | data () |
|
constexpr ConstPointer | data () const |
|
Reference | operator[] (size_t i) |
|
ConstReference | operator[] (size_t i) const |
|
constexpr size_t | GetRows () const |
| Returns the number of rows. More...
|
|
constexpr size_t | GetCols () const |
| Returns the number of columns. More...
|
|
T | Eval (size_t i, size_t j) const |
| Returns the evaluated value for (i, j). More...
|
|
Matrix< T, Rows, Cols > | Eval () const |
|
bool | IsSimilar (const MatrixExpression< T, R, C, E > &m, double tol=std::numeric_limits< double >::epsilon()) const |
|
constexpr bool | IsSquare () const |
| Returns true if this matrix is a square matrix. More...
|
|
ValueType | Sum () const |
|
ValueType | Avg () const |
|
ValueType | Min () const |
|
ValueType | Max () const |
|
ValueType | AbsMin () const |
|
ValueType | AbsMax () const |
|
ValueType | Trace () const |
|
ValueType | Determinant () const |
|
std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >), U > | Determinant (const MatrixExpression &m) |
|
size_t | DominantAxis () const |
|
size_t | SubdominantAxis () const |
|
ValueType | Norm () const |
|
ValueType | NormSquared () const |
|
ValueType | FrobeniusNorm () const |
|
ValueType | Length () const |
|
ValueType | LengthSquared () const |
|
ValueType | DistanceTo (const MatrixExpression< T, R, C, E > &other) const |
| Returns the distance to the other vector. More...
|
|
T | DistanceTo (const MatrixExpression< T, R, C, E > &other) const |
|
ValueType | DistanceSquaredTo (const MatrixExpression< T, R, C, E > &other) const |
| Returns the squared distance to the other vector. More...
|
|
T | DistanceSquaredTo (const MatrixExpression< T, R, C, E > &other) const |
|
MatrixScalarElemWiseBinaryOp< T, Rows, Cols, const Matrix< T, Rows, Cols > &, std::divides< T > > | Normalized () const |
|
MatrixDiagonal< T, Rows, Cols, const Matrix< T, Rows, Cols > &> | Diagonal () const |
| Returns diagonal part of this matrix. More...
|
|
MatrixOffDiagonal< T, Rows, Cols, const Matrix< T, Rows, Cols > &> | OffDiagonal () const |
| Returns off-diagonal part of this matrix. More...
|
|
MatrixTri< T, Rows, Cols, const Matrix< T, Rows, Cols > &> | StrictLowerTri () const |
| Returns strictly lower triangle part of this matrix. More...
|
|
MatrixTri< T, Rows, Cols, const Matrix< T, Rows, Cols > &> | StrictUpperTri () const |
| Returns strictly upper triangle part of this matrix. More...
|
|
MatrixTri< T, Rows, Cols, const Matrix< T, Rows, Cols > &> | LowerTri () const |
| Returns lower triangle part of this matrix (including the diagonal). More...
|
|
MatrixTri< T, Rows, Cols, const Matrix< T, Rows, Cols > &> | UpperTri () const |
| Returns upper triangle part of this matrix (including the diagonal). More...
|
|
MatrixTranspose< T, Rows, Cols, const Matrix< T, Rows, Cols > &> | Transposed () const |
|
Matrix< T, Rows, Cols > | Inverse () const |
| Returns inverse matrix. More...
|
|
void | Inverse (const MatrixExpression< T, Rows, Cols, Matrix< T, Rows, Cols > > &m, std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >(), M > &result) |
|
MatrixUnaryOp< U, Rows, Cols, const Matrix< T, Rows, Cols > &, TypeCast< T, U > > | CastTo () const |
|
MatrixTypeCast< T, Rows, Cols, U, const D &> | CastTo () const |
|
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||Cols==1) &&(IsMatrixSizeDynamic< R, C >)||C==1), U > | Dot (const MatrixExpression< T, R, C, E > &expression) const |
|
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||(Rows==2 &&Cols==1)) &&(IsMatrixSizeDynamic< R, C >)||(R==2 &&C==1)), U > | Cross (const MatrixExpression< T, R, C, E > &expression) const |
|
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||(Rows==3 &&Cols==1)) &&(IsMatrixSizeDynamic< R, C >)||(R==3 &&C==1)), Matrix< U, 3, 1 > > | Cross (const MatrixExpression< T, R, C, E > &expression) const |
|
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||((Rows==2||Rows==3) &&Cols==1)) &&(IsMatrixSizeDynamic< R, C >)||((R==2||R==3) &&C==1)), Matrix< U, Rows, 1 > > | Reflected (const MatrixExpression< T, R, C, E > &normal) const |
| Returns the reflection vector to the surface with given surface normal. More...
|
|
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||((Rows==2||Rows==3) &&Cols==1)) &&(IsMatrixSizeDynamic< R, C >)||((R==2||R==3) &&C==1)), Matrix< U, Rows, 1 > > | Projected (const MatrixExpression< T, R, C, E > &normal) const |
| Returns the projected vector to the surface with given surface normal. More...
|
|
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||(Rows==2 &&Cols==1)), Matrix< U, 2, 1 > > | Tangential () const |
| Returns the tangential vector for this vector. More...
|
|
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||(Rows==3 &&Cols==1)), std::tuple< Matrix< U, 3, 1 >, Matrix< U, 3, 1 > > > | Tangentials () const |
| Returns the tangential vectors for this vector. More...
|
|
Matrix< T, Rows, Cols > & | GetDerived () |
| Returns actual implementation (the subclass). More...
|
|
const Matrix< T, Rows, Cols > & | GetDerived () const |
| Returns actual implementation (the subclass). More...
|
|
void | CopyFrom (const MatrixExpression< T, R, C, E > &expression) |
| Copies from generic expression. More...
|
|
void | SetDiagonal (ConstReference val) |
| Sets diagonal elements with input scalar. More...
|
|
void | SetOffDiagonal (ConstReference val) |
| Sets off-diagonal elements with input scalar. More...
|
|
void | SetRow (size_t i, const MatrixExpression< T, R, C, E > &row) |
| Sets i-th row with input column vector. More...
|
|
void | SetColumn (size_t j, const MatrixExpression< T, R, C, E > &col) |
| Sets j-th column with input vector. More...
|
|
void | Normalize () |
|
void | Transpose () |
| Transposes this matrix. More...
|
|
void | Invert () |
| Inverts this matrix. More...
|
|
Reference | operator() (size_t i, size_t j) |
|
ConstReference | operator() (size_t i, size_t j) const |
|
MatrixDenseBase & | operator= (const MatrixExpression< T, R, C, E > &expression) |
| Copies from generic expression. More...
|
|
MatrixDenseBase< T, Rows, Cols, D > & | operator= (const MatrixExpression< T, R, C, E > &expression) |
|
|
static std::enable_if_t< IsMatrixSizeStatic< Rows, Cols >), D > | MakeZero () |
| Makes a static matrix with zero entries. More...
|
|
static std::enable_if_t< IsMatrixSizeDynamic< Rows, Cols >), D > | MakeZero (size_t rows, size_t cols) |
| Makes a dynamic matrix with zero entries. More...
|
|
static std::enable_if_t< IsMatrixSizeStatic< Rows, Cols >), D > | MakeConstant (ValueType val) |
| Makes a static matrix with constant entries. More...
|
|
static std::enable_if_t< IsMatrixSizeDynamic< Rows, Cols >), D > | MakeConstant (size_t rows, size_t cols, ValueType val) |
| Makes a dynamic matrix with constant entries. More...
|
|
static std::enable_if_t< IsMatrixStaticSquare< Rows, Cols >), D > | MakeIdentity () |
| Makes a static identity matrix. More...
|
|
static std::enable_if_t< IsMatrixSizeDynamic< Rows, Cols >), D > | MakeIdentity (size_t rows) |
| Makes a dynamic identity matrix. More...
|
|
static std::enable_if_t< IsMatrixStaticSquare< Rows, Cols >), D > | MakeScaleMatrix (ValueType first, Args... rest) |
| Makes scale matrix. More...
|
|
static std::enable_if_t< IsMatrixStaticSquare< Rows, Cols >), D > | MakeScaleMatrix (const MatrixExpression< T, R, C, E > &expression) |
| Makes scale matrix. More...
|
|
static std::enable_if_t< IsMatrixStaticSquare< Rows, Cols >) &&(Rows==2), D > | MakeRotationMatrix (T rad) |
|
static std::enable_if_t< IsMatrixStaticSquare< Rows, Cols >) &&(Rows==3||Rows==4), D > | MakeRotationMatrix (const MatrixExpression< T, R, C, E > &axis, T rad) |
|
static std::enable_if_t< IsMatrixStaticSquare< Rows, Cols >) &&(Rows==4), D > | MakeTranslationMatrix (const MatrixExpression< T, R, C, E > &t) |
| Makes translation matrix. More...
|
|
| MatrixExpression ()=default |
|
| MatrixDenseBase ()=default |
|
static constexpr T | Determinant (const MatrixExpression< T, 1, 1, Matrix< T, Rows, Cols > > &m) |
|
static constexpr T | Determinant (const MatrixExpression< T, 2, 2, Matrix< T, Rows, Cols > > &m) |
|
static constexpr T | Determinant (const MatrixExpression< T, 3, 3, Matrix< T, Rows, Cols > > &m) |
|
static constexpr T | Determinant (const MatrixExpression< T, 4, 4, Matrix< T, Rows, Cols > > &m) |
|
static std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >), U > | Determinant (const MatrixExpression< T, Rows, Cols, Matrix< T, Rows, Cols > > &m) |
|
static void | Inverse (const MatrixExpression< T, 1, 1, Matrix< T, Rows, Cols > > &m, Matrix< T, Rows, Cols > &result) |
|
static void | Inverse (const MatrixExpression< T, 2, 2, Matrix< T, Rows, Cols > > &m, Matrix< T, Rows, Cols > &result) |
|
static void | Inverse (const MatrixExpression< T, 3, 3, Matrix< T, Rows, Cols > > &m, Matrix< T, Rows, Cols > &result) |
|
static void | Inverse (const MatrixExpression< T, 4, 4, Matrix< T, Rows, Cols > > &m, Matrix< T, Rows, Cols > &result) |
|
static void | Inverse (const MatrixExpression &m, std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >(), M > &result) |
|