9#ifndef IGL_PLAINMATRIX_H
10#define IGL_PLAINMATRIX_H
17#if __cplusplus < 201703L
19 template <
typename... Ts>
25#ifndef IGL_DEFAULT_MAJORING
26#define IGL_DEFAULT_MAJORING Eigen::ColMajor
31 template <
typename Derived,
int Rows,
int Cols,
int Options>
33 using Type = Eigen::Matrix<
typename Derived::Scalar,Rows,Cols,((Rows == 1 && Cols != 1) ? Eigen::RowMajor : ((Cols == 1 && Rows != 1) ? Eigen::ColMajor : Options))>;
35 template <
typename Derived,
typename =
void>
40 template <
typename Derived>
42 static constexpr int value = Derived::Options;
87 template <
typename Derived,
88 int Rows = Derived::RowsAtCompileTime,
89 int Cols = Derived::ColsAtCompileTime,
#define IGL_DEFAULT_MAJORING
Definition PlainMatrix.h:26
typename PlainMatrixHelper< Derived, Rows, Cols, Options >::Type PlainMatrix
Some libigl implementations would (still do?) use a pattern like:
Definition PlainMatrix.h:91
Definition PlainMatrix.h:18
void void_t
Definition PlainMatrix.h:20
Definition PlainMatrix.h:32
Eigen::Matrix< typename Derived::Scalar, Rows, Cols,((Rows==1 &&Cols !=1) ? Eigen::RowMajor :((Cols==1 &&Rows !=1) ? Eigen::ColMajor :Options))> Type
Definition PlainMatrix.h:33
static constexpr int value
Definition PlainMatrix.h:42
Definition PlainMatrix.h:36
static constexpr int value
Definition PlainMatrix.h:37