#include <Matrix44.h>
Public Member Functions | |
Matrix44 (bool bInitAsIdentity=true) | |
Matrix44 (const Vector3< Type > &vecTranslation) | |
Matrix44 (const Matrix< Type > &mat) | |
Matrix44 (const Matrix33< Type > &rotation, const Vector3< Type > &vecTranslation) | |
Matrix44 (const Quaternion< Type > &rotation, const Vector3< Type > &vecTranslation) | |
Matrix44 (const Vector3< Type > &vecXAxis, const Vector3< Type > &vecYAxis, const Vector3< Type > &vecZAxis, const Vector3< Type > &vecTranslation) | |
Matrix44 (const Vector4< Type > &vecColumn0, const Vector4< Type > &vecColumn1, const Vector4< Type > &vecColumn2, const Vector4< Type > &vecColumn3) | |
Matrix44< Type > & | operator*= (const Matrix44< Type > &other) |
Vector3< Type > & | getXAxis () |
const Vector3< Type > & | getXAxis () const |
void | setXAxis (const Vector3< Type > &vecXAxis) |
Vector3< Type > & | getYAxis () |
const Vector3< Type > & | getYAxis () const |
void | setYAxis (const Vector3< Type > &vecYAxis) |
Vector3< Type > & | getZAxis () |
const Vector3< Type > & | getZAxis () const |
void | setZAxis (const Vector3< Type > &vecZAxis) |
Vector3< Type > & | getTranslation () |
const Vector3< Type > & | getTranslation () const |
void | setTranslation (const Vector3< Type > &vecTranslation) |
void | setIdentity () |
bool | isIdentity (const Type &epsilon=EPSILON) const |
const Matrix33< Type > | getRotationAsMatrix33 () const |
const Quaternion< Type > | getRotationAsQuaternion () const |
void | setRotation (const Vector3< Type > &vecAxis, const Type &angle) |
void | setRotation (const Matrix33< Type > &mat) |
void | setRotation (const Quaternion< Type > &quat) |
void | transpose () |
void | transposeRot () |
void | invert () |
void | makeHomogeneous (const EAxis &axis) |
Static Public Member Functions | |
static Matrix44< Type > | inverse (const Matrix44< Type > &mat) |
static Matrix44< Type > | slerp (const Matrix44< Type > &mat1, const Matrix44< Type > &mat2, const double &t) |
Static Public Attributes | |
static const Matrix44< Type > | IDENTITY |
Related Functions | |
(Note that these are not member functions.) | |
template<class Type > | |
const Matrix44< Type > | operator* (const Matrix44< Type > &lhs, const Matrix44< Type > &rhs) |
template<class Type > | |
const Vector3< Type > | operator* (const Matrix44< Type > &lhs, const Vector3< Type > &rhs) |
template<class Type > | |
const Vector4< Type > | operator* (const Matrix44< Type > &lhs, const Vector4< Type > &rhs) |
template<class Type > | |
bool | equals (const Matrix44< Type > &lhs, const Matrix44< Type > &rhs, double fEpsilon=EPSILON) |
template<class Type > | |
bool | operator== (const Matrix44< Type > &lhs, const Matrix44< Type > &rhs) |
template<class Type > | |
bool | operator!= (const Matrix44< Type > &lhs, const Matrix44< Type > &rhs) |
template<class Type > | |
std::ostream & | operator<< (std::ostream &stream, const Matrix44< Type > &mat) |
template<class Type > | |
std::istream & | operator>> (std::istream &stream, Matrix44< Type > &mat) |
This represents a 4x4 Matrix
|
explicit |
Constructor, which is as default not initialized
bInitAsIdentity | If set to false the matrix is not initialized, otherwise an identity matrix is initialized |
|
explicit |
Contructs a translation matrix by given translation vector
vecTranslation | The translation vector |
|
explicit |
Constructs a matrix with the given generic matrix elements
mat | The generic matrix from where to set |
ARSTD::Matrix44< Type >::Matrix44 | ( | const Matrix33< Type > & | rotation, |
const Vector3< Type > & | vecTranslation | ||
) |
Constructs a matrix with a given rotation and translation The homogenous value (ww) of the 4th column is set to 1
rotation | The rotation 3x3 matrix |
vecTranslation | The translation vector |
ARSTD::Matrix44< Type >::Matrix44 | ( | const Quaternion< Type > & | rotation, |
const Vector3< Type > & | vecTranslation | ||
) |
Constructs a matrix with a given rotation and translation The homogenous value (ww) of the 4th column is set to 1
rotation | The rotation quaternion |
vecTranslation | The translation vector |
ARSTD::Matrix44< Type >::Matrix44 | ( | const Vector3< Type > & | vecXAxis, |
const Vector3< Type > & | vecYAxis, | ||
const Vector3< Type > & | vecZAxis, | ||
const Vector3< Type > & | vecTranslation | ||
) |
Constructs a matrix with 4 three-component vectors, one for each column The forth row of the matrix is set to (0 0 0 1)
vecXAxis | The x-axis vector |
vecYAxis | The y-axis vector |
vecZAxis | The z-axis vector |
vecTranslation | The translation vector |
ARSTD::Matrix44< Type >::Matrix44 | ( | const Vector4< Type > & | vecColumn0, |
const Vector4< Type > & | vecColumn1, | ||
const Vector4< Type > & | vecColumn2, | ||
const Vector4< Type > & | vecColumn3 | ||
) |
Constructs a the matrix with 4 four-component vectors, one for each column
vecXAxis | The x-axis vector |
vecYAxis | The y-axis vector |
vecZAxis | The z-axis vector |
vecTranslation | The translation that vector. |
const Matrix33< Type > ARSTD::Matrix44< Type >::getRotationAsMatrix33 | ( | ) | const |
Returns the rotation as 3x3 matrix
const Quaternion< Type > ARSTD::Matrix44< Type >::getRotationAsQuaternion | ( | ) | const |
Returns the rotation as quaternion
Vector3< Type > & ARSTD::Matrix44< Type >::getTranslation | ( | ) |
Gives access to the translation vector
const Vector3< Type > & ARSTD::Matrix44< Type >::getTranslation | ( | ) | const |
Returns the translation vector
Vector3< Type > & ARSTD::Matrix44< Type >::getXAxis | ( | ) |
Gives access to the x-axis of the 3x3 rotational part.
const Vector3< Type > & ARSTD::Matrix44< Type >::getXAxis | ( | ) | const |
Returns the x-axis vector
Vector3< Type > & ARSTD::Matrix44< Type >::getYAxis | ( | ) |
Gives access to y-axis vector
const Vector3< Type > & ARSTD::Matrix44< Type >::getYAxis | ( | ) | const |
Returns the y-axis vector
Vector3< Type > & ARSTD::Matrix44< Type >::getZAxis | ( | ) |
Gives access to the z-axis vector
const Vector3< Type > & ARSTD::Matrix44< Type >::getZAxis | ( | ) | const |
Returns the z-axis vector
|
static |
Inverts the matrix
mat | The 4x4 matrix |
void ARSTD::Matrix44< Type >::invert | ( | ) |
Inverts the matrix
bool ARSTD::Matrix44< Type >::isIdentity | ( | const Type & | epsilon = EPSILON | ) | const |
Checks if the matrix is to identity matrix
epsilon |
void ARSTD::Matrix44< Type >::makeHomogeneous | ( | const EAxis & | axis | ) |
Rebuilds a homogeneous transformation matrix by discarding a given axis
axis | The axis, that is discarded |
Matrix44< Type > & ARSTD::Matrix44< Type >::operator*= | ( | const Matrix44< Type > & | other | ) |
Matrix multiplication
other | The other matrix |
void ARSTD::Matrix44< Type >::setIdentity | ( | ) |
Sets the matrix to the identity
void ARSTD::Matrix44< Type >::setRotation | ( | const Matrix33< Type > & | mat | ) |
Sets the rotation using 3x3 matrix
mat | The 3x3 Matrix |
void ARSTD::Matrix44< Type >::setRotation | ( | const Quaternion< Type > & | quat | ) |
Sets the rotation using quaternion
rotation | The quaternion |
void ARSTD::Matrix44< Type >::setRotation | ( | const Vector3< Type > & | vecAxis, |
const Type & | angle | ||
) |
Sets the rotation using rotation axis and rotation angle
vecAxis | The rotation axis |
angle | The rotation angle |
void ARSTD::Matrix44< Type >::setTranslation | ( | const Vector3< Type > & | vecTranslation | ) |
Sets the translation vector
void ARSTD::Matrix44< Type >::setXAxis | ( | const Vector3< Type > & | vecXAxis | ) |
Sets the x-axis vector
void ARSTD::Matrix44< Type >::setYAxis | ( | const Vector3< Type > & | vecYAxis | ) |
Sets the y-axis vector
void ARSTD::Matrix44< Type >::setZAxis | ( | const Vector3< Type > & | vecZAxis | ) |
Sets the z-axis vector
|
static |
Spherical linear interpolation of two matrices
void ARSTD::Matrix44< Type >::transpose | ( | ) |
Transposes the matrix
void ARSTD::Matrix44< Type >::transposeRot | ( | ) |
Transposes the rotational part of the matrix only
|
related |
Compares two matrices with the epsilon given by the parameter fEpsilon
|
related |
Compares two matrices using default EPSILON
|
related |
Matrix matrix multiplication
|
related |
Matrix vector multiplication assuming the 4th component of the vector to be 1
|
related |
Matrix vector multiplication
|
related |
Writes the matrix to a std output stream
|
related |
Compares two matrices using default EPSILON
|
related |
Reads a matrix from a std input stream
|
static |
The identity matrix.