2#include <glm/mat3x3.hpp>
8 template <
typename T,
int Dim>
class Vector;
28 DYN_FUNC
static unsigned int rows() {
return 3; }
29 DYN_FUNC
static unsigned int cols() {
return 3; }
31 DYN_FUNC
T& operator() (
unsigned int i,
unsigned int j);
32 DYN_FUNC
const T& operator() (
unsigned int i,
unsigned int j)
const;
37 DYN_FUNC
void setRow(
unsigned int i,
const Vector<T, 3>& vec);
38 DYN_FUNC
void setCol(
unsigned int j,
const Vector<T, 3>& vec);
66 DYN_FUNC
T determinant()
const;
67 DYN_FUNC
T trace()
const;
69 DYN_FUNC
T frobeniusNorm()
const;
70 DYN_FUNC
T oneNorm()
const;
71 DYN_FUNC
T infNorm()
const;
83 template <
typename S,
typename T>
89 template class SquareMatrix<float, 3>;
90 template class SquareMatrix<double, 3>;
DYN_FUNC T * getDataPtr()
static DYN_FUNC unsigned int rows()
static DYN_FUNC unsigned int cols()
This is an implementation of AdditiveCCD based on peridyno.
SquareMatrix< float, 3 > Mat3f
SquareMatrix< double, 3 > Mat3d
DYN_FUNC const Complex< T > operator/(S scale, const Complex< T > &complex)
DYN_FUNC const Complex< T > operator*(S scale, const Complex< T > &complex)
DYN_FUNC bool operator==(const priority_queue< T, Container, Compare > &a, const priority_queue< T, Container, Compare > &b)
DYN_FUNC bool operator!=(const priority_queue< T, Container, Compare > &a, const priority_queue< T, Container, Compare > &b)
DYN_FUNC const Complex< T > operator-(S scale, const Complex< T > &complex)
DYN_FUNC const Complex< T > operator+(S scale, const Complex< T > &complex)