Triton
Visual simulation library for ocean rendering.
Public Member Functions | Public Attributes | Friends | List of all members
Triton::Matrix4 Class Reference

An implementation of a 4x4 matrix and some simple operations on it. More...

#include <Matrix4.h>

Inheritance diagram for Triton::Matrix4:
Inheritance graph
[legend]
Collaboration diagram for Triton::Matrix4:
Collaboration graph
[legend]

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.
 

Detailed Description

An implementation of a 4x4 matrix and some simple operations on it.


The documentation for this class was generated from the following file: