decMatrix Class Reference

4x4 Component Matrix. More...

#include <decMatrix.h>

List of all members.

Public Member Functions

Constructors and Destructors
 decMatrix ()
 Creates a new matrix initialized to identity.
Management
void SetIdentity ()
 Sets identity matrix.
void SetTranslation (float x, float y, float z)
 Sets translation matrix.
void SetTranslation (const decVector &t)
 Sets translation matrix.
void SetScale (float sx, float sy, float sz)
 Sets scaling matrix.
void SetScale (const decVector &s)
 Sets scaling matrix.
void SetRotationX (float arc)
 Sets rotation around the x axis matrix.
void SetRotationY (float arc)
 Sets rotation around the y axis matrix.
void SetRotationZ (float arc)
 Sets rotation around the z axis matrix.
void SetRotation (float rx, float ry, float rz)
 Sets rotation around the all three axes matrix.
void SetRotation (const decVector &r)
 Sets rotation around the all three axes matrix.
void SetRotationAxis (const decVector &axis, float angle)
 Sets rotation around an arbitrary axis matrix.
void SetWorld (const decVector &pos, const decVector &view, const decVector &up)
 Sets world space matrix.
void SetWorld (const decVector &pos, const decQuaternion &orientation)
 Sets world space matrix.
void SetCamera (const decVector &pos, const decVector &view, const decVector &up)
 Sets camera space matrix.
void SetProjection (int width, int height, float fov, float fovRatio, float znear, float zfar)
 Sets projection matrix based on a finite view frustum.
void SetProjectionInfinite (int width, int height, float fov, float fovRatio, float znear)
 Sets projection matrix based on a infinite view frustum.
void SetOrtho (int left, int right, int top, int bottom, int znear, int zfar)
 Sets orthogonal projection matrix.
void SetClipSpace ()
 Sets matrix to transform a projection matrix into cliping space.
void SetBiasMatrix ()
 Sets bias matrix which multiplies all coordinates by 0.5 and offsets them by 0.5.
void SetRT (const decVector &rot, const decVector &pos)
 Sets rotation-translation matrix.
void SetSRT (const decVector &scale, const decVector &rot, const decVector &pos)
 Sets scale-rotation-translation matrix.
void SetSVUT (const decVector &scale, const decVector &view, const decVector &up, const decVector &pos)
 Sets scale-view-up-translation matrix.
void SetVU (const decVector &view, const decVector &up)
 Sets view-up matrix.
void SetFromQuaternion (const decQuaternion &q)
 Sets rotation matrix from a quaternion.
void SetFromQuaternion (const decQuaternion &q, const decVector &pivot)
 Sets rotation matrix from a quaternion.
float Determinant () const
 Calculates the determinant of the matrix.
decMatrix Invert () const
 Retrieves the inverse of this matrix if the inverse is possible.
decVector GetEulerAngles () const
 Calculates a set of euler angles producing this matrix if they are used as rotation vector for creating a rotation matrix.
decQuaternion ToQuaternion () const
 Converts the matrix into a rotation quaternion.
decVector GetPosition () const
 Retrieves the position of the matrix.
decVector TransformView () const
 Retrieves the view vector of this matrix.
decVector TransformRight () const
 Retrieves the right vector of this matrix.
decVector TransformUp () const
 Retrieves the up vector of this matrix.
decVector TransformNormal (const decVector &normal) const
 Transforms a normal by this matrix.
decVector Transform (float x, float y, float z) const
 Transforms a vector.
decVector4 Transform (float x, float y, float z, float w) const
void Transform (decVector &result, float x, float y, float z) const
void Transform (decVector4 &result, float x, float y, float z, float w) const
decMatrix GetRotationMatrix () const
 Retrieves the rotation part of the matrix.
bool IsEqualTo (const decMatrix &matrix, float threshold=0.0001) const
 Determines if this matrix is cell wise equal to anither one in respect to a threshold.
Quick Calculations

Quick calculations are a special set of functions designed to work only with matrices which are non-projective.

This kind of matrices have only a rotation part and a translation part. The entire last row has the values 0,0,0,1 . Those functions are the same as the non-quick versions with the difference that calculations are stripped out due to the last row beeing 0,0,0,1 . As the name suggests those functions are faster than the normal ones for projective matrices due to them having less calculations. Only use those functions if you know for sure that your matrices are of the described kind.

decMatrix QuickMultiply (const decMatrix &matrix) const
 Quick multiplies this matrix with another one.
decMatrix QuickMultiply (float k) const
 Quick multiplies this matrix with a value k.
float QuickDeterminant () const
 Quick calculates the determinant of this matrix.
decMatrix QuickInvert () const
 Quick calculates the inverse of this matrix.
decMatrixQuickAddTo (const decMatrix &m)
 Quick cell wise adds another matrix to this matrix.
Operators
decMatrixoperator= (const decMatrix &m)
 Sets the cells of this matrix to the values of another one.
decMatrixoperator+= (const decMatrix &m)
 Adds the cells of another matrix to this one.
decMatrixoperator-= (const decMatrix &m)
 Subtracts the cells of another matrix from this vector.
decMatrixoperator*= (float k)
 Multiplies the cells of this matrix with a value k.
decMatrixoperator/= (float k)
 Divides the cells of this matrix by a value k.
decMatrixoperator*= (const decMatrix &m)
 Multiplies this matrix with another one.
decMatrix operator+ (const decMatrix &m) const
 Retrieves a new matrix with the sum of this matrix with another one.
decMatrix operator- (const decMatrix &m) const
 Retrieves a new matrix with the difference of this matrix to another one.
decMatrix operator* (float k) const
 Retrieves a new matrix with this matrix scaled by k.
decMatrix operator/ (float k) const
 Retrieves a new matrix with this matrix divided by k.
decMatrix operator* (const decMatrix &m) const
 Retrieves a new matrix with this matrix multiplied with another one.
decVector operator* (const decVector &v) const
 Transforms vector by this matrix.
decVector4 operator* (const decVector4 &v) const
 Transforms 4 component vector by this matrix.

Static Public Member Functions

Matrix Creation
static decMatrix CreateIdentity ()
 Creates a new identity matrix.
static decMatrix CreateTranslation (float x, float y, float z)
 Creates a new translation matrix.
static decMatrix CreateTranslation (const decVector &t)
 Creates a new translation matrix.
static decMatrix CreateScale (float sx, float sy, float sz)
 Creates a new scaling matrix.
static decMatrix CreateScale (const decVector &s)
 Creates a new scaling matrix.
static decMatrix CreateRotationX (float arc)
 Creates a new rotation around the x axis matrix.
static decMatrix CreateRotationY (float arc)
 Creates a new rotation around the y axis matrix.
static decMatrix CreateRotationZ (float arc)
 Creates a new rotation around the z axis matrix.
static decMatrix CreateRotation (float rx, float ry, float rz)
 Creates a new rotation around the all three axes matrix.
static decMatrix CreateRotation (const decVector &r)
 Creates a new rotation around the all three axes matrix.
static decMatrix CreateRotationAxis (const decVector &axis, float angle)
 Creates a new rotation around an arbitrary axis matrix.
static decMatrix CreateWorld (const decVector &pos, const decVector &view, const decVector &up)
 Creates a new world space matrix.
static decMatrix CreateWorld (const decVector &pos, const decQuaternion &orientation)
 Creates a new world space matrix.
static decMatrix CreateCamera (const decVector &pos, const decVector &view, const decVector &up)
 Creates a new camera space matrix.
static decMatrix CreateProjection (int width, int height, float fov, float fovRatio, float znear, float zfar)
 Creates a projection matrix based on a finite view frustum.
static decMatrix CreateProjectionInfinite (int width, int height, float fov, float fovRatio, float znear)
 Creates a projection matrix based on a infinite view frustum.
static decMatrix CreateOrtho (int left, int right, int top, int bottom, int znear, int zfar)
 Creates an orthogonal projection matrix.
static decMatrix CreateClipSpace ()
 Creates a matrix to transform a projection matrix into cliping space.
static decMatrix CreateBiasMatrix ()
 Creates a bias matrix which multiplies all coordinates by 0.5 and offsets them by 0.5.
static decMatrix CreateRT (const decVector &rot, const decVector &pos)
 Creates a rotation-translation matrix.
static decMatrix CreateSRT (const decVector &scale, const decVector &rot, const decVector &pos)
 Creates a scale-rotation-translation matrix.
static decMatrix CreateSVUT (const decVector &scale, const decVector &view, const decVector &up, const decVector &pos)
 Creates a scale-view-up-translation matrix.
static decMatrix CreateVU (const decVector &view, const decVector &up)
 Creates a view-up matrix.
static decMatrix CreateFromQuaternion (const decQuaternion &q)
 Creates a rotation matrix from a quaternion.
static decMatrix CreateFromQuaternion (const decQuaternion &q, const decVector &pivot)
 Creates a rotation matrix from a quaternion.

Public Attributes

Cells

The first number indicates the row the second the column.

float a11
float a12
float a13
float a14
float a21
float a22
float a23
float a24
float a31
float a32
float a33
float a34
float a41
float a42
float a43
float a44

Detailed Description

4x4 Component Matrix.

Provides matrix calculation on a 4x4 matrix in row major order. The coordinate system used by axis oriented creation functions is a left handed one. The X axis points to the right, the Y axis points up and the Z axis points into the screen. Rotations are always in counter clockwise orientation. Rotation angles are measured in radians.

Author:
Plüss Roland
Version:
1.0
Date:
2008

Constructor & Destructor Documentation

decMatrix::decMatrix (  )

Creates a new matrix initialized to identity.


Member Function Documentation

static decMatrix decMatrix::CreateBiasMatrix (  ) [static]

Creates a bias matrix which multiplies all coordinates by 0.5 and offsets them by 0.5.

static decMatrix decMatrix::CreateCamera ( const decVector pos,
const decVector view,
const decVector up 
) [static]

Creates a new camera space matrix.

A camera space matrix is different from a world space matrix in that it does transform positions from an world coordinate system into a coordinate system where the x axis points right, the y axis up and the z-axis straight into the screen. Best example to understand is a rotation. A world space matrix rotates a vector pointing straight down the z axis into the view vector used to create the matrix. A camera matrix though transforms a vector pointing into the view direction of the camera matrix into a vector pointing straight down the z axis. Hence the camera matrix is kinda the inverse of the world matrix what goes for the final transformation.

Parameters:
posPosition of camera
viewView vector of camera not necessary normalized
upUp vector of camera not necessary normalized
static decMatrix decMatrix::CreateClipSpace (  ) [static]

Creates a matrix to transform a projection matrix into cliping space.

In cliping space the view frustum turns into a cube.

static decMatrix decMatrix::CreateFromQuaternion ( const decQuaternion q ) [static]

Creates a rotation matrix from a quaternion.

Parameters:
qRotation quaternion
static decMatrix decMatrix::CreateFromQuaternion ( const decQuaternion q,
const decVector pivot 
) [static]

Creates a rotation matrix from a quaternion.

static decMatrix decMatrix::CreateIdentity (  ) [static]

Creates a new identity matrix.

static decMatrix decMatrix::CreateOrtho ( int  left,
int  right,
int  top,
int  bottom,
int  znear,
int  zfar 
) [static]

Creates an orthogonal projection matrix.

Parameters:
leftLeft cliping plane position
rightRight cliping plane position
topTop cliping plane position
bottomBottom cliping plane position
znearDistance to near cliping plane
zfarDistance to far cliping plane
static decMatrix decMatrix::CreateProjection ( int  width,
int  height,
float  fov,
float  fovRatio,
float  znear,
float  zfar 
) [static]

Creates a projection matrix based on a finite view frustum.

The width and height are used to derive the aspect ratio from.

Parameters:
widthWidth of the viewport window
heightHeight of the viewport window
fovVertical field of view of the projection. Indicates the radian angle from the left side of the view frustum to the right side
fovRatioAspect ratio of the horizontal to the vertical field of view.
znearDistance to near cliping plane
zfarDistance to far cliping plane
static decMatrix decMatrix::CreateProjectionInfinite ( int  width,
int  height,
float  fov,
float  fovRatio,
float  znear 
) [static]

Creates a projection matrix based on a infinite view frustum.

The width and height are used to derive the aspect ratio from.

Parameters:
widthWidth of the viewport window
heightHeight of the viewport window
fovVertical field of view of the projection. Indicates the radian angle from the left side of the view frustum to the right side
fovRatioAspect ratio of the horizontal to the vertical field of view.
znearDistance to near cliping plane
static decMatrix decMatrix::CreateRotation ( float  rx,
float  ry,
float  rz 
) [static]

Creates a new rotation around the all three axes matrix.

This matrix is the same as first applying a z axis roation, then an x axis rotation and then an y axis rotation.

static decMatrix decMatrix::CreateRotation ( const decVector r ) [static]

Creates a new rotation around the all three axes matrix.

This matrix is the same as first applying a z axis roation, then an x axis rotation and then an y axis rotation.

static decMatrix decMatrix::CreateRotationAxis ( const decVector axis,
float  angle 
) [static]

Creates a new rotation around an arbitrary axis matrix.

static decMatrix decMatrix::CreateRotationX ( float  arc ) [static]

Creates a new rotation around the x axis matrix.

static decMatrix decMatrix::CreateRotationY ( float  arc ) [static]

Creates a new rotation around the y axis matrix.

static decMatrix decMatrix::CreateRotationZ ( float  arc ) [static]

Creates a new rotation around the z axis matrix.

static decMatrix decMatrix::CreateRT ( const decVector rot,
const decVector pos 
) [static]

Creates a rotation-translation matrix.

This is the same as first doing a 3-axis rotation and then a translation.

Parameters:
rotRotation vector
posTranslation vector
static decMatrix decMatrix::CreateScale ( float  sx,
float  sy,
float  sz 
) [static]

Creates a new scaling matrix.

static decMatrix decMatrix::CreateScale ( const decVector s ) [static]

Creates a new scaling matrix.

static decMatrix decMatrix::CreateSRT ( const decVector scale,
const decVector rot,
const decVector pos 
) [static]

Creates a scale-rotation-translation matrix.

This is the same as first doing a scaling, then a 3-axis rotation and then a translation.

Parameters:
scaleScaling vector
rotRotation vector
posTranslation vector
static decMatrix decMatrix::CreateSVUT ( const decVector scale,
const decVector view,
const decVector up,
const decVector pos 
) [static]

Creates a scale-view-up-translation matrix.

This is the same as first doing a scaling, then a world space matrix.

Parameters:
scaleScaling vector
viewView vector
upUp vector
posTranslation vector
static decMatrix decMatrix::CreateTranslation ( float  x,
float  y,
float  z 
) [static]

Creates a new translation matrix.

static decMatrix decMatrix::CreateTranslation ( const decVector t ) [static]

Creates a new translation matrix.

static decMatrix decMatrix::CreateVU ( const decVector view,
const decVector up 
) [static]

Creates a view-up matrix.

This is the same as doing a world space matrix but with the zero vector as position.

Parameters:
viewView vector
upUp vector
static decMatrix decMatrix::CreateWorld ( const decVector pos,
const decVector view,
const decVector up 
) [static]

Creates a new world space matrix.

A world matrix is used to transform coordinates from the coordinate system of one object to another one.

Parameters:
posPosition of object
viewView vector of object not necessary normalized
upUp vector of object not necessary normalized
static decMatrix decMatrix::CreateWorld ( const decVector pos,
const decQuaternion orientation 
) [static]

Creates a new world space matrix.

A world matrix is used to transform coordinates from the coordinate system of one object to another one.

Parameters:
posPosition of object
orientationOrientation
float decMatrix::Determinant (  ) const

Calculates the determinant of the matrix.

decVector decMatrix::GetEulerAngles (  ) const

Calculates a set of euler angles producing this matrix if they are used as rotation vector for creating a rotation matrix.

The calculated angles are not unique and different rotation vectors lead usually to the same matrix. The calculated rotation vector is garanteed to produce the matrix it has been calculated from. Furthermore there exist ambigious situations where the calculated rotation vector is undefined. You should avoid using this function if you can.

decVector decMatrix::GetPosition (  ) const [inline]

Retrieves the position of the matrix.

This is the same as transforming the vector ( 0,0,0 ) by this matrix but faster.

References a14, a24, and a34.

decMatrix decMatrix::GetRotationMatrix (  ) const

Retrieves the rotation part of the matrix.

The result is a 4x4 identity matrix with the upper left 3x3 copied from this matrix.

decMatrix decMatrix::Invert (  ) const

Retrieves the inverse of this matrix if the inverse is possible.

bool decMatrix::IsEqualTo ( const decMatrix matrix,
float  threshold = 0.0001 
) const

Determines if this matrix is cell wise equal to anither one in respect to a threshold.

decVector4 decMatrix::operator* ( const decVector4 v ) const

Transforms 4 component vector by this matrix.

decMatrix decMatrix::operator* ( float  k ) const

Retrieves a new matrix with this matrix scaled by k.

decMatrix decMatrix::operator* ( const decMatrix m ) const

Retrieves a new matrix with this matrix multiplied with another one.

decVector decMatrix::operator* ( const decVector v ) const

Transforms vector by this matrix.

decMatrix& decMatrix::operator*= ( float  k )

Multiplies the cells of this matrix with a value k.

decMatrix& decMatrix::operator*= ( const decMatrix m )

Multiplies this matrix with another one.

decMatrix decMatrix::operator+ ( const decMatrix m ) const

Retrieves a new matrix with the sum of this matrix with another one.

decMatrix& decMatrix::operator+= ( const decMatrix m )

Adds the cells of another matrix to this one.

decMatrix decMatrix::operator- ( const decMatrix m ) const

Retrieves a new matrix with the difference of this matrix to another one.

decMatrix& decMatrix::operator-= ( const decMatrix m )

Subtracts the cells of another matrix from this vector.

decMatrix decMatrix::operator/ ( float  k ) const

Retrieves a new matrix with this matrix divided by k.

If k is 0 an exception is thrown.

decMatrix& decMatrix::operator/= ( float  k )

Divides the cells of this matrix by a value k.

If the value k is 0 an exception is thrown.

decMatrix& decMatrix::operator= ( const decMatrix m )

Sets the cells of this matrix to the values of another one.

decMatrix& decMatrix::QuickAddTo ( const decMatrix m )

Quick cell wise adds another matrix to this matrix.

float decMatrix::QuickDeterminant (  ) const

Quick calculates the determinant of this matrix.

decMatrix decMatrix::QuickInvert (  ) const

Quick calculates the inverse of this matrix.

decMatrix decMatrix::QuickMultiply ( const decMatrix matrix ) const

Quick multiplies this matrix with another one.

decMatrix decMatrix::QuickMultiply ( float  k ) const

Quick multiplies this matrix with a value k.

void decMatrix::SetBiasMatrix (  )

Sets bias matrix which multiplies all coordinates by 0.5 and offsets them by 0.5.

void decMatrix::SetCamera ( const decVector pos,
const decVector view,
const decVector up 
)

Sets camera space matrix.

A camera space matrix is different from a world space matrix in that it does transform positions from an world coordinate system into a coordinate system where the x axis points right, the y axis up and the z-axis straight into the screen. Best example to understand is a rotation. A world space matrix rotates a vector pointing straight down the z axis into the view vector used to create the matrix. A camera matrix though transforms a vector pointing into the view direction of the camera matrix into a vector pointing straight down the z axis. Hence the camera matrix is kinda the inverse of the world matrix what goes for the final transformation.

Parameters:
posPosition of camera
viewView vector of camera not necessary normalized
upUp vector of camera not necessary normalized
void decMatrix::SetClipSpace (  )

Sets matrix to transform a projection matrix into cliping space.

In cliping space the view frustum turns into a cube.

void decMatrix::SetFromQuaternion ( const decQuaternion q )

Sets rotation matrix from a quaternion.

Parameters:
qRotation quaternion
void decMatrix::SetFromQuaternion ( const decQuaternion q,
const decVector pivot 
)

Sets rotation matrix from a quaternion.

void decMatrix::SetIdentity (  )

Sets identity matrix.

void decMatrix::SetOrtho ( int  left,
int  right,
int  top,
int  bottom,
int  znear,
int  zfar 
)

Sets orthogonal projection matrix.

Parameters:
leftLeft cliping plane position
rightRight cliping plane position
topTop cliping plane position
bottomBottom cliping plane position
znearDistance to near cliping plane
zfarDistance to far cliping plane
void decMatrix::SetProjection ( int  width,
int  height,
float  fov,
float  fovRatio,
float  znear,
float  zfar 
)

Sets projection matrix based on a finite view frustum.

The width and height are used to derive the aspect ratio from.

Parameters:
widthWidth of the viewport window
heightHeight of the viewport window
fovVertical field of view of the projection. Indicates the radian angle from the left side of the view frustum to the right side
fovRatioAspect ratio of the horizontal to the vertical field of view.
znearDistance to near cliping plane
zfarDistance to far cliping plane
void decMatrix::SetProjectionInfinite ( int  width,
int  height,
float  fov,
float  fovRatio,
float  znear 
)

Sets projection matrix based on a infinite view frustum.

The width and height are used to derive the aspect ratio from.

Parameters:
widthWidth of the viewport window
heightHeight of the viewport window
fovVertical field of view of the projection. Indicates the radian angle from the left side of the view frustum to the right side
fovRatioAspect ratio of the horizontal to the vertical field of view.
znearDistance to near cliping plane
void decMatrix::SetRotation ( float  rx,
float  ry,
float  rz 
)

Sets rotation around the all three axes matrix.

This matrix is the same as first applying a z axis roation, then an x axis rotation and then an y axis rotation.

void decMatrix::SetRotation ( const decVector r )

Sets rotation around the all three axes matrix.

This matrix is the same as first applying a z axis roation, then an x axis rotation and then an y axis rotation.

void decMatrix::SetRotationAxis ( const decVector axis,
float  angle 
)

Sets rotation around an arbitrary axis matrix.

void decMatrix::SetRotationX ( float  arc )

Sets rotation around the x axis matrix.

void decMatrix::SetRotationY ( float  arc )

Sets rotation around the y axis matrix.

void decMatrix::SetRotationZ ( float  arc )

Sets rotation around the z axis matrix.

void decMatrix::SetRT ( const decVector rot,
const decVector pos 
)

Sets rotation-translation matrix.

This is the same as first doing a 3-axis rotation and then a translation.

Parameters:
rotRotation vector
posTranslation vector
void decMatrix::SetScale ( const decVector s )

Sets scaling matrix.

void decMatrix::SetScale ( float  sx,
float  sy,
float  sz 
)

Sets scaling matrix.

void decMatrix::SetSRT ( const decVector scale,
const decVector rot,
const decVector pos 
)

Sets scale-rotation-translation matrix.

This is the same as first doing a scaling, then a 3-axis rotation and then a translation.

Parameters:
scaleScaling vector
rotRotation vector
posTranslation vector
void decMatrix::SetSVUT ( const decVector scale,
const decVector view,
const decVector up,
const decVector pos 
)

Sets scale-view-up-translation matrix.

This is the same as first doing a scaling, then a world space matrix.

Parameters:
scaleScaling vector
viewView vector
upUp vector
posTranslation vector
void decMatrix::SetTranslation ( const decVector t )

Sets translation matrix.

void decMatrix::SetTranslation ( float  x,
float  y,
float  z 
)

Sets translation matrix.

void decMatrix::SetVU ( const decVector view,
const decVector up 
)

Sets view-up matrix.

This is the same as doing a world space matrix but with the zero vector as position.

Parameters:
viewView vector
upUp vector
void decMatrix::SetWorld ( const decVector pos,
const decVector view,
const decVector up 
)

Sets world space matrix.

A world matrix is used to transform coordinates from the coordinate system of one object to another one.

Parameters:
posPosition of object
viewView vector of object not necessary normalized
upUp vector of object not necessary normalized
void decMatrix::SetWorld ( const decVector pos,
const decQuaternion orientation 
)

Sets world space matrix.

A world matrix is used to transform coordinates from the coordinate system of one object to another one.

Parameters:
posPosition of object
orientationOrientation
decQuaternion decMatrix::ToQuaternion (  ) const

Converts the matrix into a rotation quaternion.

This conversion is well defined in contrast to the rotation vector function.

decVector4 decMatrix::Transform ( float  x,
float  y,
float  z,
float  w 
) const
void decMatrix::Transform ( decVector4 result,
float  x,
float  y,
float  z,
float  w 
) const
decVector decMatrix::Transform ( float  x,
float  y,
float  z 
) const

Transforms a vector.

void decMatrix::Transform ( decVector result,
float  x,
float  y,
float  z 
) const
decVector decMatrix::TransformNormal ( const decVector normal ) const

Transforms a normal by this matrix.

This is the same as transforming the normal by only the rotation part of it.

decVector decMatrix::TransformRight (  ) const [inline]

Retrieves the right vector of this matrix.

This is the same as transforing the vector ( 1,0,0 ) by this matrix but faster.

References a11, a21, and a31.

decVector decMatrix::TransformUp (  ) const [inline]

Retrieves the up vector of this matrix.

This is the same as transforing the vector ( 0,1,0 ) by this matrix but faster.

References a12, a22, and a32.

decVector decMatrix::TransformView (  ) const [inline]

Retrieves the view vector of this matrix.

This is the same as transforing the vector ( 0,0,1 ) by this matrix but faster.

References a13, a23, and a33.


Member Data Documentation

Referenced by TransformRight().

Referenced by TransformUp().

Referenced by TransformView().

Referenced by GetPosition().

Referenced by TransformRight().

Referenced by TransformUp().

Referenced by TransformView().

Referenced by GetPosition().

Referenced by TransformRight().

Referenced by TransformUp().

Referenced by TransformView().

Referenced by GetPosition().


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