|
| MatrixND () |
| Create a 3x3 matrix with all elements equal to zero. More...
|
|
| MatrixND (const VectorND< T, 3 > &column1, const VectorND< T, 3 > &column2, const VectorND< T, 3 > &column3) |
| Create a 3x3 matrix from three column vectors. More...
|
|
| MatrixND (T a, T b, T c, T d, T e, T f, T g, T h, T i) |
| Create a 3x3 matrix with elements specified in row-major order. More...
|
|
| MatrixND (const T array[9]) |
| Create a 3x3 matrix from a pointer to an array of elements in column-major order. More...
|
|
template<typename U > |
| MatrixND (const MatrixND< U, 2, 2 > &other) |
| Create an identity matrx with the specified 2x2 matrix in the upper-left corner. More...
|
|
template<typename U > |
| MatrixND (const MatrixND< U, 3, 3 > &other) |
| Create a copy of the specified 3x3 matrix with different template parameter type. More...
|
|
T * | toArrayColumnMajor () |
| Return a pointer to the matrix's elements in colunn-major order. More...
|
|
const T * | toArrayColumnMajor () const |
| Return a pointer to the matrix's elements in colunn-major order. More...
|
|
void | toArrayRowMajor (T *outputArray) const |
| Place the elements of the matrix at the location specified in row-major order. More...
|
|
VectorND< T, 3 > & | getColumn (Index columnIndex) |
| Get the column at the specified index in the matrix. More...
|
|
const VectorND< T, 3 > & | getColumn (Index columnIndex) const |
| Get the column at the specified index in the matrix. More...
|
|
VectorND< T, 3 > & | operator() (Index columnIndex) |
| Get the column at the specified index in the matrix. More...
|
|
const VectorND< T, 3 > & | operator() (Index columnIndex) const |
| Get the column at the specified index in the matrix. More...
|
|
VectorND< T, 3 > & | operator[] (Index columnIndex) |
| Get the column at the specified index in the matrix. More...
|
|
const VectorND< T, 3 > & | operator[] (Index columnIndex) const |
| Get the column at the specified index in the matrix. More...
|
|
VectorND< T, 3 > | getRow (Index rowIndex) const |
| Get the row at the specified index in the matrix. More...
|
|
T & | get (Index columnIndex, Index rowIndex) |
| Get the element at the specified (column, row) index in the matrix. More...
|
|
const T & | get (Index columnIndex, Index rowIndex) const |
| Get the element at the specified (column, row) index in the matrix. More...
|
|
T & | operator() (Index columnIndex, Index rowIndex) |
| Get the element at the specified (column, row) index in the matrix. More...
|
|
const T & | operator() (Index columnIndex, Index rowIndex) const |
| Get the element at the specified (column, row) index in the matrix. More...
|
|
void | set (Index rowIndex, Index columnIndex, T value) |
| Set the element in the matrix at the specified (row, column) index. More...
|
|
void | setColumn (Index columnIndex, const VectorND< T, 3 > &newColumn) |
| Set the column in the matrix at the specified index. More...
|
|
void | setRow (Index rowIndex, const VectorND< T, 3 > &newRow) |
| Set the row in the matrix at the specified index. More...
|
|
VectorND< T, 3 > | getDiagonal () const |
| Return the diagonal vector of this matrix. More...
|
|
MatrixND< T, 2, 2 > | getXY () const |
| Return the upper-left 2x2 submatrix of this matrix. More...
|
|
T | getDeterminant () const |
| Return the determinant of this matrix. More...
|
|
MatrixND | invert (T threshold=0) const |
| Return the inverse of this matrix, or the zero matrix if the matrix has no inverse. More...
|
|
Bool | invert (MatrixND &inverse, T threshold=0) const |
| Compute the inverse of this matrix, returning the result in the output parameter. More...
|
|
MatrixND | orthonormalize () const |
| Return the orthonormalization of this matrix. More...
|
|
MatrixND | transpose () const |
| Return the transposition of this matrix. More...
|
|
Bool | operator== (const MatrixND &m) const |
| Compare two matrices component-wise for equality. More...
|
|
Bool | operator!= (const MatrixND &m) const |
| Compare two matrices component-wise for inequality. More...
|
|
MatrixND | operator- () const |
| Negate every element of this matrix and return the resulting matrix. More...
|
|
MatrixND | operator+ () const |
| 'Positivate' every element of this matrix, returning a copy of the original matrix. More...
|
|
MatrixND | operator+ (const MatrixND &matrix) const |
| Add this matrix to another and return the resulting matrix. More...
|
|
MatrixND | operator+ (const T &value) const |
| Add a scalar to the elements of this matrix and return the resulting matrix. More...
|
|
MatrixND | operator- (const MatrixND &matrix) const |
| Subtract a matrix from this matrix and return the resulting matrix. More...
|
|
MatrixND | operator- (const T &value) const |
| Subtract a scalar from the elements of this matrix and return the resulting matrix. More...
|
|
MatrixND | operator* (const MatrixND &matrix) const |
| Multiply a matrix by this matrix and return the result. More...
|
|
VectorND< T, 3 > | operator* (const VectorND< T, 3 > &vector) const |
| Multiply a vector/point by this matrix and return the result. More...
|
|
MatrixND | operator* (const T &value) const |
| Multiply the elements of this matrix by a scalar and return the resulting matrix. More...
|
|
MatrixND | operator/ (const T &value) const |
| Divide the elements of this matrix by a scalar and return the resulting matrix. More...
|
|
MatrixND & | operator+= (const MatrixND &matrix) |
| Add the elements of another matrix to this matrix. More...
|
|
MatrixND & | operator+= (const T &value) |
| Add a scalar value to the elements of this matrix. More...
|
|
MatrixND & | operator-= (const MatrixND &matrix) |
| Subtract the elements of another matrix from this matrix. More...
|
|
MatrixND & | operator-= (const T &value) |
| Subtract a scalar value from the elements of this matrix. More...
|
|
MatrixND & | operator*= (const T &value) |
| Multiply the elements of this matrix by a scalar value. More...
|
|
MatrixND & | operator/= (const T &value) |
| Divide the elements of this matrix by a scalar value. More...
|
|
data::String | toString () const |
| Convert this 3x3 matrix into a human-readable string representation. More...
|
|
| operator data::String () const |
| Convert this 3x3 matrix into a human-readable string representation. More...
|
|
|
static MatrixND | skewSymmetric (const VectorND< T, 3 > &vector) |
| Return a skew-symmetric matrix using the elements of the specified vector. More...
|
|
static MatrixND | planeBasis (const VectorND< T, 3 > &normal) |
| Return an orthogonal matrix defining a basis for the coordinate frame of a plane with the specified normal. More...
|
|
static MatrixND | rotateX (T xAngle) |
| Create a 3x3 rotation matrix about the X-axis with the angle in radians. More...
|
|
static MatrixND | rotateY (T yAngle) |
| Create a 3x3 rotation matrix about the Y-axis with the angle in radians. More...
|
|
static MatrixND | rotateZ (T zAngle) |
| Create a 3x3 rotation matrix about the Z-axis with the angle in radians. More...
|
|
static MatrixND | rotateXDegrees (T xAngle) |
| Create a 3x3 rotation matrix about the X-axis with the angle in degrees. More...
|
|
static MatrixND | rotateYDegrees (T yAngle) |
| Create a 3x3 rotation matrix about the Y-axis with the angle in degrees. More...
|
|
static MatrixND | rotateZDegrees (T zAngle) |
| Create a 3x3 rotation matrix about the Z-axis with the angle in degrees. More...
|
|
static MatrixND | rotateXYZ (T xAngle, T yAngle, T zAngle) |
| Create a 3x3 rotation matrix from Euler angles in the XYZ order. More...
|
|
static MatrixND | rotateXYZ (const VectorND< T, 3 > &angle) |
| Create a 3x3 rotation matrix from Euler angles in the XYZ order. More...
|
|
static MatrixND | rotateXZY (T xAngle, T yAngle, T zAngle) |
| Create a 3x3 rotation matrix from Euler angles in the XZY order. More...
|
|
static MatrixND | rotateXZY (const VectorND< T, 3 > &angle) |
| Create a 3x3 rotation matrix from Euler angles in the XZY order. More...
|
|
static MatrixND | rotateYXZ (T xAngle, T yAngle, T zAngle) |
| Create a 3x3 rotation matrix from Euler angles in the YXZ order. More...
|
|
static MatrixND | rotateYXZ (const VectorND< T, 3 > &angle) |
| Create a 3x3 rotation matrix from Euler angles in the YXZ order. More...
|
|
static MatrixND | rotateYZX (T xAngle, T yAngle, T zAngle) |
| Create a 3x3 rotation matrix from Euler angles in the YZX order. More...
|
|
static MatrixND | rotateYZX (const VectorND< T, 3 > &angle) |
| Create a 3x3 rotation matrix from Euler angles in the YZX order. More...
|
|
static MatrixND | rotateZXY (T xAngle, T yAngle, T zAngle) |
| Create a 3x3 rotation matrix from Euler angles in the ZXY order. More...
|
|
static MatrixND | rotateZXY (const VectorND< T, 3 > &angle) |
| Create a 3x3 rotation matrix from Euler angles in the ZXY order. More...
|
|
static MatrixND | rotateZYX (T xAngle, T yAngle, T zAngle) |
| Create a 3x3 rotation matrix from Euler angles in the ZYX order. More...
|
|
static MatrixND | rotateZYX (const VectorND< T, 3 > &angle) |
| Create a 3x3 rotation matrix from Euler angles in the ZYX order. More...
|
|
template<typename T>
class om::math::MatrixND< T, 3, 3 >
A class that represents a 3x3 matrix.
Elements in the matrix are stored in column-major order.