|
vmath
vmath-0.13
|
Class for matrix 4x4. More...
#include <vmath.h>
Collaboration diagram for Matrix4< T >:Public Member Functions | |
| Matrix4 () | |
| Creates identity matrix. More... | |
| Matrix4 (const T *dt) | |
| Copy matrix values from array (these data must be in column major order!) More... | |
| Matrix4 (const Matrix4< T > &src) | |
| Copy constructor. More... | |
| template<class FromT > | |
| Matrix4 (const Matrix4< FromT > &src) | |
| Copy casting constructor. More... | |
| void | identity () |
| Resets matrix to be identity matrix. More... | |
| bool | operator== (const Matrix4< T > &rhs) const |
| Equality test operator. More... | |
| bool | operator!= (const Matrix4< T > &rhs) const |
| Inequality test operator. More... | |
| T & | at (int x, int y) |
| Get reference to element at postion (x,y). More... | |
| const T & | at (int x, int y) const |
| Get constant reference to element at position (x,y). More... | |
| T & | operator() (int i, int j) |
| Get reference to element at position (i,j), with math matrix notation. More... | |
| const T & | operator() (int i, int j) const |
| Get constant reference to element at position (i,j), with math matrix notation. More... | |
| void | setTranslation (const Vector3< T > &v) |
| Sets translation part of matrix. More... | |
| Vector3< T > | getTranslation () const |
| void | setRotation (const Matrix3< T > &m) |
| Sets rotation part (matrix 3x3) of matrix. More... | |
| Vector3< T > | getScale () const |
| Gets matrix scale. More... | |
| void | setScale (T s) |
| Sets matrix uniform scale values. More... | |
| void | setScale (T sx, T sy, T sz) |
| Sets matrix scale for all axes. More... | |
| void | setScale (const Vector3< T > &s) |
| Sets matrix scale for all axes. More... | |
| Matrix4< T > & | operator= (const Matrix4< T > &rhs) |
| Copy operator. More... | |
| template<class FromT > | |
| Matrix4< T > & | operator= (const Matrix4< FromT > &rhs) |
| Copy casting operator. More... | |
| Matrix4< T > & | operator= (const T *rhs) |
| Copy operator. More... | |
| Matrix4< T > | operator+ (const Matrix4< T > &rhs) const |
| Addition operator. More... | |
| Matrix4< T > | operator- (const Matrix4< T > &rhs) const |
| Subtraction operator. More... | |
| Matrix4< T > | operator+ (T rhs) const |
| Addition operator. More... | |
| Matrix4< T > | operator- (T rhs) const |
| Subtraction operator. More... | |
| Matrix4< T > | operator* (T rhs) const |
| Multiplication operator. More... | |
| Matrix4< T > | operator/ (T rhs) const |
| Division operator. More... | |
| Vector4< T > | operator* (const Vector4< T > &rhs) const |
| Multiplication operator. More... | |
| Vector3< T > | operator* (const Vector3< T > &rhs) const |
| Multiplication operator. More... | |
| Matrix4< T > | operator* (Matrix4< T > rhs) const |
| Multiplication operator. More... | |
| T | det () |
| Computes determinant of matrix. More... | |
| Matrix4< T > | inverse () |
| Computes inverse matrix. More... | |
| Matrix4< T > | transpose () |
| Transpose matrix. More... | |
| Matrix4< T > | lerp (T fact, const Matrix4< T > &rhs) const |
| Linear interpolation of two matrices. More... | |
| operator T* () | |
| Conversion to pointer operator. More... | |
| operator const T * () const | |
| Conversion to pointer operator. More... | |
| std::string | toString () const |
| Gets string representation. More... | |
Static Public Member Functions | |
| static Matrix4< T > | createRotationAroundAxis (T xDeg, T yDeg, T zDeg) |
| Creates rotation matrix by rotation around axis. More... | |
| static Matrix4< T > | createTranslation (T x, T y, T z, T w=1) |
| Creates translation matrix. More... | |
| static Matrix4< T > | createScale (T sx, T sy, T sz) |
| Create scale matrix with sx, sy, and sz being values of matrix main diagonal. More... | |
| static Matrix4< T > | createLookAt (const Vector3< T > &eyePos, const Vector3< T > ¢erPos, const Vector3< T > &upDir) |
| Creates new view matrix to look from specified position eyePos to specified position centerPos. More... | |
| static Matrix4< T > | createFrustum (T left, T right, T bottom, T top, T zNear, T zFar) |
| Creates OpenGL compatible perspective projection according specified frustum parameters. More... | |
| static Matrix4< T > | createOrtho (T left, T right, T bottom, T top, T zNear, T zFar) |
| Creates OpenGL compatible orthographic projection matrix. More... | |
| template<class FromT > | |
| static Matrix4< T > | fromRowMajorArray (const FromT *arr) |
| Creates new matrix 4x4 from array that represents such matrix 4x4 as array of tightly packed elements in row major order. More... | |
| template<class FromT > | |
| static Matrix4< T > | fromColumnMajorArray (const FromT *arr) |
| Creates new matrix 4x4 from array that represents such matrix 4x4 as array of tightly packed elements in column major order. More... | |
Public Attributes | |
| T | data [16] |
| Data stored in column major order. More... | |
Friends | |
| std::ostream & | operator<< (std::ostream &lhs, const Matrix4< T > &rhs) |
| Output to stream operator. More... | |
Class for matrix 4x4.
Copy matrix values from array (these data must be in column major order!)
Copy constructor.
| src | Data source for new created instance of Matrix4. |
|
inline |
Copy casting constructor.
| src | Data source for new created instance of Matrix4. |
|
inline |
Get reference to element at postion (x,y).
| x | Number of column (0..3) |
| y | Number of row (0..3) |
|
inline |
Get constant reference to element at position (x,y).
| x | Number of column (0..3) |
| y | Number of row (0..3) |
|
inlinestatic |
Creates OpenGL compatible perspective projection according specified frustum parameters.
| left | Specify the coordinate for the left vertical clipping plane, |
| right | Specify the coordinate for the right vertical clipping plane. |
| bottom | Specify the coordinate for the bottom horizontal clipping plane, |
| top | Specify the coordinate for the top horizontal clipping plane. |
| zNear | Specify the distance to the near clipping plane. Distance must be positive. |
| zFar | Specify the distance to the far depth clipping plane. Distance must be positive. |
|
inlinestatic |
Creates new view matrix to look from specified position eyePos to specified position centerPos.
| eyePos | A position of camera |
| centerPos | A position where camera looks-at |
| upDir | Direction of up vector |
|
inlinestatic |
Creates OpenGL compatible orthographic projection matrix.
| left | Specify the coordinate for the left vertical clipping plane, |
| right | Specify the coordinate for the right vertical clipping plane. |
| bottom | Specify the coordinate for the bottom horizontal clipping plane, |
| top | Specify the coordinate for the top horizontal clipping plane. |
| zNear | Specify the distance to the nearer depth clipping plane. This value is negative if the plane is to be behind the viewer, |
| zFar | Specify the distance to the farther depth clipping plane. This value is negative if the plane is to be behind the viewer. |
|
inlinestatic |
Creates rotation matrix by rotation around axis.
| xDeg | Angle (in degrees) of rotation around axis X. |
| yDeg | Angle (in degrees) of rotation around axis Y. |
| zDeg | Angle (in degrees) of rotation around axis Z. |
Create scale matrix with sx, sy, and sz being values of matrix main diagonal.
| sx | Scale in X-axis |
| sy | Scale in Y-axis |
| sz | Scale in Z-axis |
|
inlinestatic |
Creates translation matrix.
Creates translation matrix.
| x | X-direction translation |
| y | Y-direction translation |
| z | Z-direction translation |
| w | for W-coordinate translation (implicitly set to 1) |
|
inline |
Computes determinant of matrix.
|
inlinestatic |
Creates new matrix 4x4 from array that represents such matrix 4x4 as array of tightly packed elements in column major order.
| arr | An array of elements for 4x4 matrix in column major order. |
|
inlinestatic |
Creates new matrix 4x4 from array that represents such matrix 4x4 as array of tightly packed elements in row major order.
| arr | An array of elements for 4x4 matrix in row major order. |
Gets matrix scale.
|
inline |
Resets matrix to be identity matrix.
Computes inverse matrix.
Linear interpolation of two matrices.
| 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 |
|
inline |
Conversion to pointer operator.
|
inline |
Conversion to pointer operator.
Inequality test operator.
| rhs | Right hand side argument of binary operator. |
|
inline |
Get reference to element at position (i,j), with math matrix notation.
| i | Number of row (1..4) |
| j | Number of column (1..4) |
|
inline |
Get constant reference to element at position (i,j), with math matrix notation.
| i | Number of row (1..4) |
| j | Number of column (1..4) |
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. |
Multiplication operator.
| rhs | Right hand side argument of binary operator. |
Addition operator.
| rhs | Right hand side argument of binary operator. |
Addition operator.
| rhs | Right hand side argument of binary operator. |
Subtraction operator.
| rhs | Right hand side argument of binary operator. |
Subtraction operator.
| rhs | Right hand side argument of binary operator. |
Division operator.
| rhs | Right hand side argument of binary operator. |
Copy operator.
| rhs | Right hand side argument of binary operator. |
|
inline |
Copy casting operator.
| rhs | Right hand side argument of binary operator. |
Copy operator.
| rhs | Right hand side argument of binary operator. |
Equality test operator.
| rhs | Right hand side argument of binary operator. |
Sets rotation part (matrix 3x3) of matrix.
| m | Rotation part of matrix |
|
inline |
Sets matrix uniform scale values.
| s | Uniform scale value |
|
inline |
Sets matrix scale for all axes.
| sx | X-axis scale factor |
| sy | Y-axis scale factor |
| sz | Z-axis scale factor |
Sets matrix scale for all axes.
| s | Scale factors for X, Y, and Z coordinate. |
Sets translation part of matrix.
| v | Vector of translation to be set. |
|
inline |
Gets string representation.
|
friend |
Output to stream operator.
| lhs | Left hand side argument of operator (commonly ostream instance). |
| rhs | Right hand side argument of operator. |
| T Matrix4< T >::data[16] |
Data stored in column major order.