|
(Note that these are not member functions.)
|
template<int M, int N, class T > |
U32 | width (const Matrix< M, N, T > &matrix) |
| Return the horizonatal dimension. More...
|
|
template<int M, int N, class T > |
U32 | height (const Matrix< M, N, T > &matrix) |
| Return the vertical dimension. More...
|
|
template<int M, int N, class T > |
bool | isSquare (const Matrix< M, N, T > &matrix) |
| Return true is matrix is square, otherwise return false. More...
|
|
template<int M, int N, class T > |
Matrix< M, N, T > & | setIdentity (Matrix< M, N, T > &matrix) |
| Set matrix to identity matrix. More...
|
|
template<int M, int N, class T > |
Matrix< N, M, T > | transpose (const Matrix< M, N, T > &matrix) |
| Return transpose of matrix. More...
|
|
template<int M, int N, class T > |
Matrix< M, N, T > & | setTranspose (Matrix< M, N, T > &matrix) |
| Transpose matrix in place. More...
|
|
template<int M, int N, class T , class U > |
Matrix< M, N, T > & | add (Matrix< M, N, T > &R, const Matrix< M, N, T > &A, const Matrix< M, N, U > &B) |
| Matrix Matrix add. More...
|
|
template<int M, int N, class T , class U > |
Matrix< M, N, T > & | subtract (Matrix< M, N, T > &R, const Matrix< M, N, T > &A, const Matrix< M, N, U > &B) |
| Matrix Matrix subtract. More...
|
|
template<int M, int N, int L, class T , class U > |
Matrix< M, N, T > & | multiply (Matrix< M, N, T > &R, const Matrix< M, L, T > &A, const Matrix< L, N, U > &B) |
| Matrix Matrix multiply. More...
|
|
template<int M, int N, class T > |
String | print (const Matrix< M, N, T > &a_m) |
| Matrix print. More...
|
|
template<int M, int N, class T > |
String | fprint (FILE *a_fp, const Matrix< M, N, T > &a_m) |
| Matrix print. More...
|
|
template<int M, int N, class T , int I, int J, class U > |
void | copy (Matrix< M, N, T > &lhs, const Matrix< I, J, U > &rhs) |
| Matrix copy. More...
|
|
template<int M, int N, int I, int J, class T > |
void | overlay (Matrix< M, N, T > &lhs, const Matrix< I, J, T > &rhs) |
| Matrix overlay. More...
|
|
template<int M, int N, class T , class U > |
Matrix< M, N, T > & | multiply (Matrix< M, N, T > &A, const U &scale) |
| Matrix scale in place. More...
|
|
template<int M, int N, class T , class U > |
Matrix< M, N, T > | multiply (const Matrix< M, N, T > &A, const U &scale) |
| Matrix scale. More...
|
|
template<int M, int N, class T , class U > |
Matrix< M, N, T > | operator+ (const Matrix< M, N, T > &lhs, const Matrix< M, N, U > &rhs) |
| Matrix Matrix add. More...
|
|
template<int M, int N, class T , class U > |
Matrix< M, N, T > | operator- (const Matrix< M, N, T > &lhs, const Matrix< M, N, U > &rhs) |
| Matrix Matrix subtract. More...
|
|
template<int M, int N, int L, class T , class U > |
Matrix< M, L, T > | operator* (const Matrix< M, N, T > &lhs, const Matrix< N, L, U > &rhs) |
| Matrix Matrix multiply. More...
|
|
template<int M, int N, class T > |
Matrix< M, N, T > | operator* (const Matrix< M, N, T > &lhs, const Real rhs) |
| Matrix Scale. More...
|
|
template<int M, int N, class T , class U > |
Matrix< M, N, T > | operator* (const U lhs, const Matrix< M, N, T > &rhs) |
| Matrix Scale. More...
|
|
template<int M, int N, class T , class U > |
Matrix< M, N, T > & | operator*= (Matrix< M, N, T > &lhs, const U rhs) |
| Matrix Scale. More...
|
|
template<int N, typename T > |
void | premultiplyInverseDiagonal (Vector< N, T > &result, const Matrix< N, N, T > &diagonal, const Vector< N, T > &vector) |
| Compute the per-element product of the vector and the inverse diagonal entries. More...
|
|
template<int N, class T > |
Matrix< N, N, T > & | premultiplyInverseDiagonal (Matrix< N, N, T > &result, const Matrix< N, N, T > &lhs, const Matrix< N, N, T > &rhs) |
| Matrix-Matrix multiply where first matrix is presumed diagonal. More...
|
|
template<int N, class T > |
Matrix< N, N, T > & | postmultiplyInverseDiagonal (Matrix< N, N, T > &result, const Matrix< N, N, T > &lhs, const Matrix< N, N, T > &rhs) |
| Matrix-Matrix multiply where first matrix is presumed diagonal. More...
|
|
template<typename T , typename U > |
Matrix< 3, 3, T > & | rotateMatrix (Matrix< 3, 3, T > &lhs, U radians, Axis axis) |
| 3D Matrix rotation More...
|
|
template<int M, int N, class T>
class fe::Matrix< M, N, T >
General template for fixed size numeric matrices.
Dimensions specified as MxN:
N
____
| |
M | |
|____|
With storage for a 4x4 as:
0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15
The operator(i,j) addressing for a 4x4 matrix is:
00 01 02 03
10 11 12 13
20 21 22 23
30 31 32 33
This is sometimes called column-major.