|
| Matrix4x4 () |
|
| Matrix4x4 (Float value) |
| Initialize the matrix with constant entries. More...
|
|
| Matrix4x4 (const Float _m[4][4]) |
| Initialize the matrix from a given 4x4 array. More...
|
|
| Matrix4x4 (const Float _m[16]) |
| Initialize the matrix from a given (float) 4x4 array in row-major order. More...
|
|
| Matrix4x4 (const Vector4 &v1, const Vector4 &v2, const Vector4 &v3, const Vector4 &v4) |
| Initialize the matrix from four 4D column vectors. More...
|
|
| Matrix4x4 (Stream *stream) |
| Unserialize a matrix from a stream. More...
|
|
| Matrix4x4 (const Matrix< 4, 4, Float > &mtx) |
| Copy constructor. More...
|
|
| Matrix4x4 (Float a00, Float a01, Float a02, Float a03, Float a10, Float a11, Float a12, Float a13, Float a20, Float a21, Float a22, Float a23, Float a30, Float a31, Float a32, Float a33) |
| Initialize with the given values. More...
|
|
Float | det3x3 () const |
| Return the determinant of the upper left 3x3 sub-matrix. More...
|
|
Vector4 | operator* (const Vector4 &v) const |
| Matrix-vector multiplication. More...
|
|
Matrix4x4 | operator* (Float value) const |
| Scalar multiplication (creates a temporary) More...
|
|
Matrix4x4 & | operator= (const Matrix< 4, 4, Float > &mat) |
| Assignment operator. More...
|
|
Vector4 | row (int i) const |
| Return a row by index. More...
|
|
Vector4 | col (int i) const |
| Return a column by index. More...
|
|
| Matrix () |
| Construct a new MxN matrix without initializing it. More...
|
|
| Matrix (Floatvalue) |
| Initialize the matrix with constant entries. More...
|
|
| Matrix (const Float_m[M][N]) |
| Initialize the matrix from a given MxN array. More...
|
|
| Matrix (const Float_m[M *N]) |
| Initialize the matrix from a given (flat) MxN array in row-major order. More...
|
|
| Matrix (Stream *stream) |
| Unserialize a matrix from a stream. More...
|
|
| Matrix (const Matrix &mtx) |
| Copy constructor. More...
|
|
void | setIdentity () |
| Initialize with the identity matrix. More...
|
|
void | setZero () |
| Initialize with zeroes. More...
|
|
Float & | operator() (int i, int j) |
| Indexing operator. More...
|
|
const Float & | operator() (int i, int j) const |
| Indexing operator (const verions) More...
|
|
bool | operator== (const Matrix &mat) const |
| Equality operator. More...
|
|
bool | operator!= (const Matrix &mat) const |
| Inequality operator. More...
|
|
Matrix & | operator= (const Matrix &mat) |
| Assignment operator. More...
|
|
Matrix | operator+ (const Matrix &mat) const |
| Matrix addition (returns a temporary) More...
|
|
Matrix | operator+ (Floatvalue) const |
| Matrix-scalar addition (returns a temporary) More...
|
|
const Matrix & | operator+= (const Matrix &mat) |
| Matrix addition. More...
|
|
const Matrix & | operator+= (Floatvalue) |
| Matrix-scalar addition. More...
|
|
Matrix | operator- (const Matrix &mat) const |
| Matrix subtraction (returns a temporary) More...
|
|
Matrix | operator- (Floatvalue) const |
| Matrix-scalar subtraction (returns a temporary) More...
|
|
const Matrix & | operator- (Floatvalue) |
| Matrix-scalar subtraction. More...
|
|
Matrix | operator- () const |
| Component-wise negation. More...
|
|
const Matrix & | operator-= (const Matrix &mat) |
| Matrix subtraction. More...
|
|
const Matrix & | operator-= (Floatvalue) |
| Matrix-scalar addition. More...
|
|
Matrix | operator* (Floatvalue) const |
| Scalar multiplication (creates a temporary) More...
|
|
const Matrix & | operator*= (Floatvalue) |
| Scalar multiplication. More...
|
|
const Matrix & | operator*= (const Matrix &mat) |
| Matrix multiplication (for square matrices) More...
|
|
Matrix | operator/ (Floatvalue) const |
| Scalar division (creates a temporary) More...
|
|
const Matrix & | operator/= (Floatvalue) |
| Scalar division. More...
|
|
Float | trace () const |
| Compute the trace of a square matrix. More...
|
|
Float | frob () const |
| Compute the Frobenius norm. More...
|
|
bool | lu (Matrix &LU, int piv[M], int &pivsign) const |
| Compute the LU decomposition of a matrix. More...
|
|
bool | chol (Matrix &L) const |
|
void | cholSolve (const Matrix< M, K, Float > &B, Matrix< M, K, Float > &X) const |
|
void | luSolve (const Matrix< M, K, Float > &B, Matrix< M, K, Float > &X, int piv[M]) const |
|
Float | luDet (int pivsign) const |
| Compute the determinant of a decomposed matrix created by lu() More...
|
|
Float | cholDet () const |
| Compute the determinant of a decomposed matrix created by chol() More...
|
|
bool | isZero () const |
| Check if the matrix is identically zero. More...
|
|
bool | isIdentity () const |
| Test if this is the identity matrix. More...
|
|
Float | det () const |
| Compute the determinant of a square matrix (internally creates a LU decomposition) More...
|
|
bool | invert (Matrix &target) const |
| Compute the inverse of a square matrix using the Gauss-Jordan algorithm. More...
|
|
void | symEig (Matrix &Q, Floatd[M]) const |
| Perform a symmetric eigendecomposition of a square matrix into Q and D. More...
|
|
void | transpose (Matrix< N, M, Float > &target) const |
| Compute the transpose of this matrix. More...
|
|
void | serialize (Stream *stream) const |
| Serialize the matrix to a stream. More...
|
|
std::string | toString () const |
| Return a string representation. More...
|
|
Basic 4x4 matrix data type.