Jolt Physics
A multi core friendly Game Physics Engine
|
Templatized matrix class. More...
#include <Matrix.h>
Public Member Functions | |
Matrix ()=default | |
Constructor. More... | |
Matrix (const Matrix &inM2) | |
uint | GetRows () const |
Dimensions. More... | |
uint | GetCols () const |
void | SetZero () |
Zero matrix. More... | |
bool | IsZero () const |
Check if this matrix consists of all zeros. More... | |
void | SetIdentity () |
Identity matrix. More... | |
bool | IsIdentity () const |
Check if this matrix is identity. More... | |
void | SetDiagonal (const Vector< Rows< Cols? Rows :Cols > &inV) |
Diagonal matrix. More... | |
template<class OtherMatrix > | |
void | CopyPart (const OtherMatrix &inM, uint inSourceRow, uint inSourceCol, uint inNumRows, uint inNumCols, uint inDestRow, uint inDestCol) |
Copy a (part) of another matrix into this matrix. More... | |
float | operator() (uint inRow, uint inColumn) const |
Get float component by element index. More... | |
float & | operator() (uint inRow, uint inColumn) |
bool | operator== (const Matrix &inM2) const |
Comparison. More... | |
bool | operator!= (const Matrix &inM2) const |
Matrix & | operator= (const Matrix &inM2) |
Assignment. More... | |
template<uint OtherCols> | |
Matrix< Rows, OtherCols > | operator* (const Matrix< Cols, OtherCols > &inM) const |
Multiply matrix by matrix. More... | |
Vector< Rows > | operator* (const Vector< Cols > &inV) const |
Multiply vector by matrix. More... | |
Matrix | operator* (float inV) const |
Multiply matrix with float. More... | |
Matrix | operator+ (const Matrix &inM) const |
Per element addition of matrix. More... | |
Matrix | operator- (const Matrix &inM) const |
Per element subtraction of matrix. More... | |
Matrix< Cols, Rows > | Transposed () const |
Transpose matrix. More... | |
bool | SetInversed (const Matrix &inM) |
Inverse matrix. More... | |
Matrix | Inversed () const |
const Vector< Rows > & | GetColumn (int inIdx) const |
Column access. More... | |
Vector< Rows > & | GetColumn (int inIdx) |
Static Public Member Functions | |
static Matrix | sZero () |
static Matrix | sIdentity () |
static Matrix | sDiagonal (const Vector< Rows< Cols? Rows :Cols > &inV) |
Public Attributes | |
Vector< Rows > | mCol [Cols] |
Column. More... | |
Friends | |
Matrix | operator* (float inV, const Matrix &inM) |
ostream & | operator<< (ostream &inStream, const Matrix &inM) |
To String. More... | |
|
inline |
Copy a (part) of another matrix into this matrix.
Check if this matrix is identity.
Check if this matrix consists of all zeros.
Get float component by element index.
|
inline |
Multiply matrix by matrix.
Multiply vector by matrix.
Multiply matrix with float.
Per element addition of matrix.
Per element subtraction of matrix.
|
friend |
To String.