Base Framework
|
4 by 4 matrix. More...
#include <base/math/Matrix4x4.h>
Public Member Functions | |
Matrix4x4 () noexcept | |
Matrix4x4 (const Matrix4x4 &_copy) noexcept | |
Matrix4x4 & | operator= (const Matrix4x4 &assign) noexcept |
TYPE | getAt (unsigned int row, unsigned int column) const noexcept |
void | setAt (unsigned int row, unsigned int column, const TYPE &value) noexcept |
TYPE * | getElements () noexcept |
const TYPE * | getElements () const noexcept |
bool | isEqual (const Matrix4x4 &value) const noexcept |
bool | isZero () const noexcept |
bool | isDiagonal () const noexcept |
bool | isSymmetric () const noexcept |
TYPE | getL1Norm () const noexcept |
TYPE | getSquareHSNorm () const noexcept |
TYPE | getInfinityNorm () const noexcept |
TYPE | getDeterminant () const noexcept |
Matrix4x4 & | inverse (const Matrix4x4 &value) noexcept |
Matrix4x4 & | inverse () noexcept |
Matrix4x4 | plus () const noexcept |
Matrix4x4 | minus () const noexcept |
Matrix4x4 | negate () noexcept |
Matrix4x4 & | add (const Matrix4x4 &value) noexcept |
Matrix4x4 & | subtract (const Matrix4x4 &value) noexcept |
Matrix4x4 & | multiply (const TYPE &value) noexcept |
Quaternion< TYPE > | multiply (const Quaternion< TYPE > &value) noexcept |
Matrix4x4 | multiply (const Matrix4x4 &value) noexcept |
TYPE | deviationFromZero () const noexcept |
TYPE | deviationFromIdentity () const noexcept |
void | forceHomogeneous () noexcept |
Matrix4x4 & | divide (const TYPE &value) noexcept |
Matrix4x4 & | transpose () noexcept |
Matrix4x4 & | transpose (const Matrix4x4 &value) noexcept |
bool | operator== (const Matrix4x4 &value) const noexcept |
Matrix4x4 & | operator+= (const Matrix4x4 &value) noexcept |
Matrix4x4 & | operator-= (const Matrix4x4 &value) noexcept |
Matrix4x4 & | operator*= (const TYPE &value) noexcept |
Matrix4x4 & | operator/= (const TYPE &value) noexcept |
Matrix4x4 | operator+ () const noexcept |
Matrix4x4 | operator- () const noexcept |
Static Public Member Functions | |
static Matrix4x4 | getXRotation (TYPE angle) noexcept |
static Matrix4x4 | getYRotation (TYPE angle) noexcept |
static Matrix4x4 | getZRotation (TYPE angle) noexcept |
static Matrix4x4 | getXYZRotation (const Vector3D< TYPE > rotation) noexcept |
static Matrix4x4 | getQRotation (const Quaternion< TYPE > &quaternion) noexcept |
Protected Attributes | |
TYPE | elements [4][4] |
Related Functions | |
(Note that these are not member functions.) | |
template<class TYPE > | |
Matrix4x4< TYPE > | operator+ (const Matrix4x4< TYPE > &left, const Matrix4x4< TYPE > &right) noexcept |
template<class TYPE > | |
Matrix4x4< TYPE > | operator- (const Matrix4x4< TYPE > &left, const Matrix4x4< TYPE > &right) noexcept |
template<class TYPE > | |
Matrix4x4< TYPE > | operator* (const Matrix4x4< TYPE > &left, const TYPE &right) noexcept |
template<class TYPE > | |
Matrix4x4< TYPE > | operator* (const TYPE &left, const Matrix4x4< TYPE > &right) noexcept |
template<class TYPE > | |
Matrix4x4< TYPE > | operator* (const Matrix4x4< TYPE > &left, const Matrix4x4< TYPE > &right) noexcept |
template<class TYPE > | |
Matrix4x4< TYPE > | operator/ (const Matrix4x4< TYPE > &left, const TYPE &right) noexcept |
template<class TYPE > | |
FormatOutputStream & | operator<< (FormatOutputStream &stream, const Matrix4x4< TYPE > &value) |
template<class TYPE > | |
Quaternion< TYPE > | operator* (const Matrix4x4< TYPE > &left, const Quaternion< TYPE > &right) noexcept |
4 by 4 matrix.
A 4 by 4 matrix with elements storage organized in row major and column minor.
Construct an unitialized matrix.
|
inlinenoexcept |
Initializes matrix by copying from other matrix.
|
inlinenoexcept |
Adds the specified vector to this vector.
|
inlinenoexcept |
Returns an estimate for the deviation from the identity matrix. The estimate is calulated as the sum of all elements of the L1-norm of the difference between this matrix and the identity matrix.
|
inlinenoexcept |
Returns an estimate for the deviation from the zero matrix. The estimate is calculated as the sum of all elements of the L1-norm.
Divides this matrix elements with the specified value.
|
inlinenoexcept |
Fills the last row with the vector [0 0 0 1] and leaves the other elements unchanged.
|
inlinenoexcept |
Returns the item at the given position.
|
inlinenoexcept |
Returns the determinant of the matrix.
|
inlinenoexcept |
Returns the infinity norm of the matrix.
|
inlinenoexcept |
Returns the L1-norm of the matrix.
|
inlinestaticnoexcept |
Returns a homogeneous rotation matrix corresponding to the specified quaternion.
|
inlinenoexcept |
Returns the square of the Hilbert-Schmidt norm of the matrix.
|
inlinestaticnoexcept |
Returns a homogeneous rotation matrix corresponding to the specified angle of rotation (in radians) around the X-axis.
|
inlinestaticnoexcept |
Returns a homogeneous rotation matrix corresponding to the specified Euler angles.
|
inlinestaticnoexcept |
Returns a homogeneous rotation matrix corresponding to the specified angle of rotation (in radians) around the Y-axis.
|
inlinestaticnoexcept |
Returns a homogeneous rotation matrix corresponding to the specified angle of rotation (in radians) around the Z-axis.
|
inlinenoexcept |
Inverses the specified matrix.
|
inlinenoexcept |
Returns true if the length of this vector is zero.
|
inlinenoexcept |
Multiplies the matrix elements with the specified matrix.
|
inlinenoexcept |
Multiplies the matrix with the specified quaternion.
Multiplies the matrix elements with the specified value.
Negates the quaternion.
Multiplies this vector with the specified value.
value | The multiplicator. |
|
inlinenoexcept |
Adds the specified vector from this vector.
value | The value to be added. |
|
inlinenoexcept |
Subtracts the specified vector from this vector.
value | The value to be subtracted. |
Divides this vector with the specified value.
value | The divisor. |
|
inlinenoexcept |
Assignment of matrix to matrix.
|
inlinenoexcept |
Returns true if the vectors are equal.
vector | Vector to be compared. |
|
inlinenoexcept |
Sets the items at the given position.
|
inlinenoexcept |
Subtracts the specified vector from this vector.
|
related |
Returns the product of the matrices.
|
related |
Returns the product of the matrix and quaternion.
|
related |
Returns the product of the matrix and the value.
|
related |
Returns the product of the matrix and the value.
|
related |
Returns the sum of the vectors.
|
related |
Returns the difference of the vectors.
|
related |
Returns the result of the vector divided by the value.
|
related |
Writes a string representation of a Matrix4x4 object to a format stream.
|
protected |
The elements of the matrix (row by column).