Triton
Visual simulation library for ocean rendering.
|
An implementation of a 4x4 matrix and some simple operations on it. More...
#include <Matrix4.h>
Public Member Functions | |
Matrix4 () | |
Default constructor; initializes the matrix to an identity transform. | |
Matrix4 (double e11, double e12, double e13, double e14, double e21, double e22, double e23, double e24, double e31, double e32, double e33, double e34, double e41, double e42, double e43, double e44) | |
This constructor allows you to initialize the matrix as you please. | |
Matrix4 (const double *m) | |
Initializes the matrix from an array of 16 double-precision values (row-major). | |
~Matrix4 () | |
Destructor. | |
double TRITONAPI | operator() (int x, int y) const |
Retrieve a specific matrix element. | |
void TRITONAPI | ToFloatArray (float val[16]) const |
Populates a static array of 16 floats with the contents of the matrix. | |
Matrix4 TRITONAPI | operator* (const Matrix4 &mat) const |
Multiplies two matrices together. | |
Vector4 TRITONAPI | operator* (const Vector4 &vec) const |
Transform a point by the matrix. | |
Vector3 TRITONAPI | operator* (const Vector3 &vec) const |
Transform a point by the matrix. | |
void TRITONAPI | Transpose () |
Transposes the matrix in-place. | |
Matrix4 TRITONAPI | InverseCramers (double epsilon=1E-12) const |
Computes the inverse of the matrix using Cramer's rule. | |
double *TRITONAPI | GetRow (int row) const |
Retrieves a pointer into the requested row of the matrix. | |
Public Attributes | |
double | elem [4][4] |
Data members are public for convenience. | |
Friends | |
Vector4 TRITONAPI | operator* (const Vector4 &vec, const Matrix4 &mat) |
Multiplies a 1x3 vector by a matrix, yielding a 1x3 vector. | |
An implementation of a 4x4 matrix and some simple operations on it.