Loading...
Searching...
No Matches
MatrixExpression.hpp
Go to the documentation of this file.
Definition MatrixExpression.hpp:291
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:890
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:896
constexpr T operator()(size_t, size_t) const
Definition MatrixExpression-Impl.hpp:902
constexpr MatrixConstant(size_t r, size_t c, const T &val)
Definition MatrixExpression.hpp:293
Definition MatrixExpression.hpp:314
constexpr MatrixDiagonal(const M1 &mat1)
Definition MatrixExpression.hpp:316
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:908
T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:920
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:914
Matrix expression for element-wise binary operation.
Definition MatrixExpression.hpp:456
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:1052
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:1044
constexpr T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:1060
constexpr MatrixElemWiseBinaryOp(const E1 &mat1, const E2 &mat2)
Definition MatrixExpression.hpp:458
ValueType Determinant() const
Definition MatrixExpression-Impl.hpp:198
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.
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
Definition MatrixExpression-Impl.hpp:412
static constexpr T Determinant(const MatrixExpression< T, 2, 2, Derived > &m)
bool IsSimilar(const MatrixExpression< T, R, C, E > &m, double tol=std::numeric_limits< double >::epsilon()) const
Definition MatrixExpression-Impl.hpp:46
Matrix< T, Rows, Cols > Inverse() const
Returns inverse matrix.
Definition MatrixExpression-Impl.hpp:371
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.
constexpr size_t GetRows() const
Returns the number of rows.
Definition MatrixExpression-Impl.hpp:21
size_t SubdominantAxis() const
Definition MatrixExpression-Impl.hpp:228
MatrixTri< T, Rows, Cols, const Derived & > StrictLowerTri() const
Returns strictly lower triangle part of this matrix.
Definition MatrixExpression-Impl.hpp:337
ValueType NormSquared() const
Definition MatrixExpression-Impl.hpp:256
static void Inverse(const MatrixExpression< T, 2, 2, Derived > &m, Matrix< T, Rows, Cols > &result)
ValueType FrobeniusNorm() const
Definition MatrixExpression-Impl.hpp:272
constexpr size_t GetCols() const
Returns the number of columns.
Definition MatrixExpression-Impl.hpp:27
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >()||(Rows==2 &&Cols==1)), Matrix< U, 2, 1 > Tangential() const
Returns the tangential vector for this vector.
ValueType DistanceTo(const MatrixExpression< T, R, C, E > &other) const
Returns the distance to the other vector.
MatrixTri< T, Rows, Cols, const Derived & > UpperTri() const
Returns upper triangle part of this matrix (including the diagonal).
Definition MatrixExpression-Impl.hpp:358
MatrixDiagonal< T, Rows, Cols, const Derived & > Diagonal() const
Returns diagonal part of this matrix.
Definition MatrixExpression-Impl.hpp:323
static void Inverse(const MatrixExpression< T, 4, 4, Derived > &m, Matrix< T, Rows, Cols > &result)
MatrixUnaryOp< U, Rows, Cols, const Derived &, TypeCast< T, U > > CastTo() const
static void Inverse(const MatrixExpression< T, 1, 1, Derived > &m, Matrix< T, Rows, Cols > &result)
MatrixTranspose< T, Rows, Cols, const Derived & > Transposed() const
Definition MatrixExpression-Impl.hpp:365
MatrixExpression()=default
ValueType LengthSquared() const
Definition MatrixExpression-Impl.hpp:286
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >()||Cols==1) &&(IsMatrixSizeDynamic< R, C >()||C==1), U > Dot(const MatrixExpression< T, R, C, E > &expression) const
Definition MatrixExpression-Impl.hpp:391
constexpr bool IsSquare() const
Returns true if this matrix is a square matrix.
Definition MatrixExpression-Impl.hpp:71
MatrixTri< T, Rows, Cols, const Derived & > LowerTri() const
Returns lower triangle part of this matrix (including the diagonal).
Definition MatrixExpression-Impl.hpp:351
ValueType DistanceSquaredTo(const MatrixExpression< T, R, C, E > &other) const
Returns the squared distance to the other vector.
size_t DominantAxis() const
Definition MatrixExpression-Impl.hpp:206
static constexpr T Determinant(const MatrixExpression< T, 3, 3, Derived > &m)
Matrix< T, Rows, Cols > Eval() const
Definition MatrixExpression-Impl.hpp:39
static constexpr T Determinant(const MatrixExpression< T, 4, 4, Derived > &m)
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.
static constexpr T Determinant(const MatrixExpression< T, 1, 1, Derived > &m)
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
Derived & GetDerived()
Returns actual implementation (the subclass).
Definition MatrixExpression-Impl.hpp:509
MatrixScalarElemWiseBinaryOp< T, Rows, Cols, const Derived &, std::divides< T > > Normalized() const
Definition MatrixExpression-Impl.hpp:315
static void Inverse(const MatrixExpression< T, 3, 3, Derived > &m, Matrix< T, Rows, Cols > &result)
MatrixOffDiagonal< T, Rows, Cols, const Derived & > OffDiagonal() const
Returns off-diagonal part of this matrix.
Definition MatrixExpression-Impl.hpp:330
MatrixTri< T, Rows, Cols, const Derived & > StrictUpperTri() const
Returns strictly upper triangle part of this matrix.
Definition MatrixExpression-Impl.hpp:344
Definition Matrix.hpp:30
Definition MatrixExpression.hpp:686
constexpr MatrixMul(const M1 &mat1, const M2 &mat2)
Definition MatrixExpression.hpp:688
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:1265
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:1271
T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:1277
Definition MatrixExpression.hpp:335
constexpr MatrixOffDiagonal(const M1 &mat1)
Definition MatrixExpression.hpp:337
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:937
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:931
T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:943
Definition MatrixExpression.hpp:536
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:1128
constexpr T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:1135
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:1121
constexpr MatrixScalarElemWiseBinaryOp(const M1 &mat1, const T &scalar2)
Definition MatrixExpression.hpp:538
Definition MatrixExpression.hpp:652
constexpr MatrixTernaryOp(const M1 &mat1, const M2 &mat2, const M3 &mat3)
Definition MatrixExpression.hpp:654
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:1228
constexpr T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:1244
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:1236
Definition MatrixExpression.hpp:378
constexpr T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:999
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:993
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:987
constexpr MatrixTranspose(const M1 &m_mat1)
Definition MatrixExpression.hpp:380
Definition MatrixExpression.hpp:355
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:960
T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:966
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:954
constexpr MatrixTri(const M1 &mat1, bool isUpper, bool isStrict)
Definition MatrixExpression.hpp:357
Definition MatrixExpression.hpp:400
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:1012
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:1006
constexpr T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:1018
constexpr MatrixUnaryOp(const M1 &mat1)
Definition MatrixExpression.hpp:402
Definition MatrixExpression.hpp:594
constexpr ScalarMatrixElemWiseBinaryOp(const T &s1, const M2 &m2)
Definition MatrixExpression.hpp:596
constexpr T operator()(size_t i, size_t j) const
Definition MatrixExpression-Impl.hpp:1188
constexpr size_t GetRows() const
Definition MatrixExpression-Impl.hpp:1174
constexpr size_t GetCols() const
Definition MatrixExpression-Impl.hpp:1181
Definition pybind11Utils.hpp:21
constexpr bool IsMatrixStaticSquare()
Definition MatrixExpression.hpp:35
MatrixCSR< T > operator-(const MatrixCSR< T > &a)
Definition MatrixCSR-Impl.hpp:1031
constexpr auto Max(const MatrixExpression< T, Rows, Cols, M1 > &a, const MatrixExpression< T, Rows, Cols, M2 > &b)
Definition MatrixExpression-Impl.hpp:1112
constexpr auto Ceil(const MatrixExpression< T, Rows, Cols, M1 > &a)
Definition MatrixExpression-Impl.hpp:1025
constexpr bool IsMatrixSizeDynamic()
Definition MatrixExpression.hpp:23
constexpr auto Min(const MatrixExpression< T, Rows, Cols, M1 > &a, const MatrixExpression< T, Rows, Cols, M2 > &b)
Definition MatrixExpression-Impl.hpp:1103
constexpr auto ElemMul(const MatrixExpression< T, Rows, Cols, M1 > &a, const MatrixExpression< T, Rows, Cols, M2 > &b)
Definition MatrixExpression-Impl.hpp:1085
std::enable_if_t< std::is_arithmetic< T >::value, T > Clamp(T val, T low, T high)
Returns the clamped value.
Definition MathUtils-Impl.hpp:166
constexpr auto Floor(const MatrixExpression< T, Rows, Cols, M1 > &a)
Definition MatrixExpression-Impl.hpp:1031
MatrixCSR< T > operator+(const MatrixCSR< T > &a, const MatrixCSR< T > &b)
Definition MatrixCSR-Impl.hpp:1037
constexpr auto ElemDiv(const MatrixExpression< T, Rows, Cols, M1 > &a, const MatrixExpression< T, Rows, Cols, M2 > &b)
Definition MatrixExpression-Impl.hpp:1094
MatrixCSR< T > operator/(const MatrixCSR< T > &a, T b)
Definition MatrixCSR-Impl.hpp:1092
Vector< T, 3 > operator*(const Quaternion< T > &q, const Vector< T, 3 > &v)
Returns quaternion q * vector v.
Definition Quaternion-Impl.hpp:543
Definition MatrixExpression.hpp:42
Definition MatrixExpression.hpp:54
Definition MatrixExpression.hpp:48
1.9.8