CubbyFlow::MatrixConstant< T, Rows, Cols > Class Template Reference
#include <Core/Matrix/MatrixExpression.hpp>
Inheritance diagram for CubbyFlow::MatrixConstant< T, Rows, Cols >:
Public Member Functions | |
constexpr | MatrixConstant (size_t r, size_t c, const T &val) |
constexpr size_t | GetRows () const |
constexpr size_t | GetCols () const |
constexpr T | operator() (size_t, size_t) const |
Public Member Functions inherited from CubbyFlow::MatrixExpression< T, Rows, Cols, MatrixConstant< T, Rows, Cols > > | |
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 MatrixConstant< T, Rows, Cols > &, std::divides< T > > | Normalized () const |
MatrixDiagonal< T, Rows, Cols, const MatrixConstant< T, Rows, Cols > &> | Diagonal () const |
Returns diagonal part of this matrix. More... | |
MatrixOffDiagonal< T, Rows, Cols, const MatrixConstant< T, Rows, Cols > &> | OffDiagonal () const |
Returns off-diagonal part of this matrix. More... | |
MatrixTri< T, Rows, Cols, const MatrixConstant< T, Rows, Cols > &> | StrictLowerTri () const |
Returns strictly lower triangle part of this matrix. More... | |
MatrixTri< T, Rows, Cols, const MatrixConstant< T, Rows, Cols > &> | StrictUpperTri () const |
Returns strictly upper triangle part of this matrix. More... | |
MatrixTri< T, Rows, Cols, const MatrixConstant< T, Rows, Cols > &> | LowerTri () const |
Returns lower triangle part of this matrix (including the diagonal). More... | |
MatrixTri< T, Rows, Cols, const MatrixConstant< T, Rows, Cols > &> | UpperTri () const |
Returns upper triangle part of this matrix (including the diagonal). More... | |
MatrixTranspose< T, Rows, Cols, const MatrixConstant< T, Rows, Cols > &> | Transposed () const |
Matrix< T, Rows, Cols > | Inverse () const |
Returns inverse matrix. More... | |
void | Inverse (const MatrixExpression< T, Rows, Cols, MatrixConstant< T, Rows, Cols > > &m, std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >(), M > &result) |
MatrixUnaryOp< U, Rows, Cols, const MatrixConstant< 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... | |
MatrixConstant< T, Rows, Cols > & | GetDerived () |
Returns actual implementation (the subclass). More... | |
const MatrixConstant< T, Rows, Cols > & | GetDerived () const |
Returns actual implementation (the subclass). More... | |
Additional Inherited Members | |
Public Types inherited from CubbyFlow::MatrixExpression< T, Rows, Cols, MatrixConstant< T, Rows, Cols > > | |
using | ValueType = T |
Protected Member Functions inherited from CubbyFlow::MatrixExpression< T, Rows, Cols, MatrixConstant< T, Rows, Cols > > | |
MatrixExpression ()=default | |
Static Protected Member Functions inherited from CubbyFlow::MatrixExpression< T, Rows, Cols, MatrixConstant< T, Rows, Cols > > | |
static constexpr T | Determinant (const MatrixExpression< T, 1, 1, MatrixConstant< T, Rows, Cols > > &m) |
static constexpr T | Determinant (const MatrixExpression< T, 2, 2, MatrixConstant< T, Rows, Cols > > &m) |
static constexpr T | Determinant (const MatrixExpression< T, 3, 3, MatrixConstant< T, Rows, Cols > > &m) |
static constexpr T | Determinant (const MatrixExpression< T, 4, 4, MatrixConstant< T, Rows, Cols > > &m) |
static std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >), U > | Determinant (const MatrixExpression< T, Rows, Cols, MatrixConstant< T, Rows, Cols > > &m) |
static void | Inverse (const MatrixExpression< T, 1, 1, MatrixConstant< T, Rows, Cols > > &m, Matrix< T, Rows, Cols > &result) |
static void | Inverse (const MatrixExpression< T, 2, 2, MatrixConstant< T, Rows, Cols > > &m, Matrix< T, Rows, Cols > &result) |
static void | Inverse (const MatrixExpression< T, 3, 3, MatrixConstant< T, Rows, Cols > > &m, Matrix< T, Rows, Cols > &result) |
static void | Inverse (const MatrixExpression< T, 4, 4, MatrixConstant< 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) |
Constructor & Destructor Documentation
◆ MatrixConstant()
template<typename T , size_t Rows, size_t Cols>
|
inline |
Member Function Documentation
◆ GetCols()
template<typename T , size_t Rows, size_t Cols>
constexpr size_t CubbyFlow::MatrixConstant< T, Rows, Cols >::GetCols | ( | ) | const |
◆ GetRows()
template<typename T , size_t Rows, size_t Cols>
constexpr size_t CubbyFlow::MatrixConstant< T, Rows, Cols >::GetRows | ( | ) | const |
◆ operator()()
template<typename T , size_t Rows, size_t Cols>
constexpr T CubbyFlow::MatrixConstant< T, Rows, Cols >::operator() | ( | size_t | , |
size_t | |||
) | const |
The documentation for this class was generated from the following files:
- Core/Matrix/MatrixExpression.hpp
- Core/Matrix/MatrixExpression-Impl.hpp