#include <vmath.h>
Public Member Functions | |
Matrix4 () | |
Matrix4 (const T *dt) | |
void | indetity () |
bool | operator== (const Matrix4< T > &rhs) const |
bool | operator!= (const Matrix4< T > &rhs) const |
T & | at (int x, int y) |
const T & | at (int x, int y) const |
void | setTranslation (const Vector3< T > &v) |
void | setRotation (const Matrix3< T > &m) |
Matrix4< T > & | operator= (const Matrix4< T > &rhs) |
Matrix4< T > & | operator= (const T *rhs) |
Matrix4< T > | operator+ (const Matrix4< T > &rhs) const |
Matrix4< T > | operator- (const Matrix4< T > &rhs) const |
Matrix4< T > | operator+ (T rhs) const |
Matrix4< T > | operator- (T rhs) const |
Matrix4< T > | operator * (T rhs) const |
Matrix4< T > | operator/ (T rhs) const |
Vector4< T > | operator * (const Vector4< T > &rhs) const |
Vector3< T > | operator * (const Vector3< T > &rhs) const |
Matrix4< T > | operator * (Matrix4< T > rhs) const |
Matrix4< T > | transpose () |
Matrix4< T > | invertTransform () |
Matrix4< T > | lerp (T fact, const Matrix4< T > &rhs) const |
operator T * () | |
operator const T * () const | |
Static Public Member Functions | |
static Matrix4< T > | createRotationAroundAxis (T a, T b, T c) |
static Matrix4< T > | createTranslation (T x, T y, T z, T w=1) |
Creates translation matrix. | |
Public Attributes | |
T | data [16] |
Data stored in column major order. | |
Friends | |
std::ostream & | operator<< (std::ostream &lhs, const Matrix4< T > &rhs) |
Copy matrix values from array (these data must be in column major order!)
void Matrix4< T >::indetity | ( | ) | [inline] |
Resets matrix to be indetity matrix
static Matrix4<T> Matrix4< T >::createRotationAroundAxis | ( | T | a, | |
T | b, | |||
T | c | |||
) | [inline, static] |
Creates rotation matrix by rotation around axis.
a | Angle (in radians) of rotation around axis X. | |
b | Angle (in radians) of rotation around axis Y. | |
c | Angle (in radians) of rotation around axis Z. |
static Matrix4<T> Matrix4< T >::createTranslation | ( | T | x, | |
T | y, | |||
T | z, | |||
T | w = 1 | |||
) | [inline, static] |
Creates translation matrix.
Creates translation matrix.
x | X-direction translation | |
y | Y-direction translation | |
z | Z-direction translation | |
w | for W-coordinate translation (impictily set to 1) |
Equality test operator
rhs | Right hand side argument of binary operator. |
Inequality test operator
rhs | Right hand side argument of binary operator. |
T& Matrix4< T >::at | ( | int | x, | |
int | y | |||
) | [inline] |
Get reference to element at postion (x,y).
x | Number of column (0..3) | |
y | Number of row (0..3) |
const T& Matrix4< T >::at | ( | int | x, | |
int | y | |||
) | const [inline] |
Get constant reference to element at postion (x,y).
x | Number of column (0..3) | |
y | Number of row (0..3) |
Sets translation part of matrix.
v | Vector of translation to be set. |
Sets roation part (matrix 3x3) of matrix.
m | Rotation part of matrix |
Copy operator
rhs | Right hand side argument of binary operator. |
Copy operator
rhs | Right hand side argument of binary operator. |
Addition operator
rhs | Right hand side argument of binary operator. |
Substraction operator
rhs | Right hand side argument of binary operator. |
Addition operator
rhs | Right hand side argument of binary operator. |
Substraction operator
rhs | Right hand side argument of binary operator. |
Multiplication operator
rhs | Right hand side argument of binary operator. |
Division operator
rhs | Right hand side argument of binary operator. |
Multiplication operator
rhs | Right hand side argument of binary operator. |
Multiplication operator
rhs | Right hand side argument of binary operator. |
Multiplication operator
rhs | Right hand side argument of binary operator. |
Creates inversion matrix to this matrix (this matrix must consists of rotation and/or translation.
Linear interpolation of two vectors
fact | Factor of interpolation. For translation from positon of this matrix (lhs) to matrix rhs, values of factor goes from 0.0 to 1.0. | |
rhs | Second Matrix for interpolation |
Matrix4< T >::operator T * | ( | ) | [inline] |
Conversion to pointer operator
Matrix4< T >::operator const T * | ( | ) | const [inline] |
Conversion to pointer operator
std::ostream& operator<< | ( | std::ostream & | lhs, | |
const Matrix4< T > & | rhs | |||
) | [friend] |
Output to stream operator
lhs | Left hand side argument of operator (commonly ostream instance). | |
rhs | Right hand side argument of operator. |