ARSTD::Matrix44 Class Reference

List of all members.

Public Member Functions

 Matrix44 ()
 Matrix44 (const Vector3 &vecXAxis, const Vector3 &vecYAxis, const Vector3 &vecZAxis, const Vector3 &vecTranslation)
void orthoInvert ()

Related Functions

(Note that these are not member functions.)

const Matrix44 operator * (const Matrix44 &lhs, const Matrix44 &rhs)
const Vector3 operator * (const Matrix44 &lhs, const Vector3 &rhs)

Detailed Description

This class represents a 4x4 Matrix

Constructor & Destructor Documentation

ARSTD::Matrix44::Matrix44 (  ) 

Constructor, which is as default not initialised.

ARSTD::Matrix44::Matrix44 ( const Vector3 vecXAxis,
const Vector3 vecYAxis,
const Vector3 vecZAxis,
const Vector3 vecTranslation 

Initialises the matrix with 4 three-component vectors, one for each column. The first three represent the x/y/z axis of the rotational part and the fourth represents the translation part. The forth row of the matrix is set to (0 0 0 1).

vecXAxis The x-axis of the rotational part.
vecYAxis The y-axis of the rotational part.
vecZAxis The z-axis of the rotational part.
vecTranslation The translation that is set to the matrix.

Member Function Documentation

void ARSTD::Matrix44::orthoInvert (  ) 

Inverts the matrix if it is orthonormal

Friends And Related Function Documentation

const Matrix44 operator * ( const Matrix44 lhs,
const Matrix44 rhs 
) [related]

Multiplies the matrix with another one. The matrix on the right side of the operator is multiplied onto the left one.

lhs The first matrix.
rhs The second matrix.
The result of the operation.

const Vector3 operator * ( const Matrix44 lhs,
const Vector3 rhs 
) [related]

Multiplies a 3 component vector with the matrix. Because it's normally not possible to multiply a 4x4 matrix with a 3-component vector it is assumed that the 4th component of the vector (homogenous component) is 1, so the transform include rotation and translation of the vector.

lhs The matrix.
rhs The vector.
The transformed vector.

Generated at 2 Jan 2007 for project CodeSubWars.