matrix4 Class Reference

#include <matrix4.h>

Public Member Functions

Data Fields


Constructor & Destructor Documentation

matrix4 (  )  [inline]

matrix4 ( const matrix4 other  )  [inline]

matrix4 ( const f32 _00,
const f32 _01,
const f32 _02,
const f32 _03,
const f32 _10,
const f32 _11,
const f32 _12,
const f32 _13,
const f32 _20,
const f32 _21,
const f32 _22,
const f32 _23,
const f32 _30,
const f32 _31,
const f32 _32,
const f32 _33 
) [inline]


Member Function Documentation

void buildCameraLookAtMatrixLH ( const vector3df position,
const vector3df forwardVector,
const vector3df rightVector,
const vector3df upVector 
) [inline]

void buildCameraLookAtMatrixLH ( const vector3df position,
const vector3df target,
const vector3df upVector 
) [inline]

void buildCameraLookAtMatrixRH ( const vector3df position,
const vector3df forwardVector,
const vector3df rightVector,
const vector3df upVector 
) [inline]

void buildCameraLookAtMatrixRH ( const vector3df position,
const vector3df target,
const vector3df upVector 
) [inline]

void buildNDCToDCMatrix ( const core::rect< s32 > &  area,
f32  zScale 
) [inline]

Used to scale <-1,-1><1,1> to viewport, for example from von <-1,-1> <1,1> to the viewport <0,0><0,640>

void buildProjectionMatrixOrthoLH ( f32  widthOfViewVolume,
f32  heightOfViewVolume,
f32  zNear,
f32  zFar 
) [inline]

void buildProjectionMatrixOrthoRH ( f32  widthOfViewVolume,
f32  heightOfViewVolume,
f32  zNear,
f32  zFar 
) [inline]

void buildProjectionMatrixPerspectiveFovLH ( f32  fieldOfViewRadians,
f32  aspectRatio,
f32  zNear,
f32  zFar 
) [inline]

void buildProjectionMatrixPerspectiveFovRH ( f32  fieldOfViewRadians,
f32  aspectRatio,
f32  zNear,
f32  zFar 
) [inline]

void buildProjectionMatrixPerspectiveLH ( f32  widthOfViewVolume,
f32  heightOfViewVolume,
f32  zNear,
f32  zFar 
) [inline]

void buildProjectionMatrixPerspectiveRH ( f32  widthOfViewVolume,
f32  heightOfViewVolume,
f32  zNear,
f32  zFar 
) [inline]

void buildShadowMatrix ( const core::vector3df light,
core::plane3df  plane,
f32  point = 1.0f 
) [inline]

Builds a matrix that flattens geometry into a plane.

Parameters:
light,: light source
plane,: plane into which the geometry if flattened into
point,: value between 0 and 1, describing the light source. If this is 1, it is a point light, if it is 0, it is a directional light.

f32 getDeterminant (  )  const [inline]

void getInverse ( matrix4 out  )  const [inline]

returns the inversed matrix of this one

Parameters:
out,: where result matrix is written to.
Returns:
Returns false if there is no inverse matrix.

core::vector3df getRotationDegrees (  )  const [inline]

Returns the rotation, as set by setRotation(). This code was sent in by Chev.

vector3df getScale (  )  const [inline]

vector3df getTranslation (  )  const [inline]

matrix4 getTransposed (  )  const [inline]

matrix4 interpolate ( const core::matrix4 b,
f32  time 
) const [inline]

creates a new matrix as interpolated matrix from to other ones.

Parameters:
b,: other matrix to interpolate with
time,: Must be a value between 0 and 1.

void inverseRotateVect ( vector3df vect  )  const [inline]

void inverseTranslateVect ( vector3df vect  )  const [inline]

bool isIdentity (  )  const [inline]

void makeIdentity (  )  [inline]

void makeInverse (  )  [inline]

void makeTransposed (  )  [inline]

void multiplyWith1x4Matrix ( f32 matrix  )  const [inline]

matrix4 operator * ( const f32 scalar  )  const [inline]

plane3df operator * ( const plane3df plane  )  const [inline]

vector4df operator * ( const vector4df vector  )  const [inline]

vector3df operator * ( const vector3df vector  )  const [inline]

matrix4 operator * ( const matrix4 other  )  const [inline]

matrix4 & operator *= ( const f32 scalar  )  [inline]

matrix4 & operator *= ( const matrix4 other  )  [inline]

bool operator!= ( const matrix4 other  )  const [inline]

const f32& operator() ( s32  row,
s32  col 
) const [inline]

f32& operator() ( s32  row,
s32  col 
) [inline]

matrix4 & operator= ( const matrix4 other  )  [inline]

bool operator== ( const matrix4 other  )  const [inline]

void rotateVect ( vector3df vect  )  const [inline]

void setbyproduct ( const matrix4 other_a,
const matrix4 other_b 
) [inline]

void setbyproduct_nocheck ( const matrix4 other_a,
const matrix4 other_b 
) [inline]

set this matrix to the product of two matrices, no logical optimation use it if you know you never have a identity matrix

void setInverseRotationDegrees ( const vector3df rotation  )  [inline]

void setInverseRotationRadians ( const vector3df rotation  )  [inline]

void setInverseTranslation ( const vector3df translation  )  [inline]

void setRotationDegrees ( const vector3df rotation  )  [inline]

void setRotationRadians ( const vector3df rotation  )  [inline]

void setScale ( const f32 x,
const f32 y,
const f32 z 
) [inline]

void setScale ( const vector3df scale  )  [inline]

void setTranslation ( const vector3df translation  )  [inline]

void transformBox ( core::aabbox3d< f32 > &  box  )  const [inline]

The result box of this operation may not be very accurate. For accurate results, use transformBoxEx()

void transformBoxEx ( core::aabbox3d< f32 > &  box  )  const [inline]

The result box of this operation should by quite accurate, but this operation is slower than transformBox().

void transformPlane ( const core::plane3d< f32 > &  in,
core::plane3d< f32 > &  out 
) const [inline]

void transformPlane ( core::plane3d< f32 > &  plane  )  const [inline]

void transformVect ( vector4df out,
const vector4df in 
) const [inline]

void transformVect ( vector4df vect  )  const [inline]

void transformVect ( f32 out,
const core::vector3df in 
) const [inline]

void transformVect ( vector3df out,
const vector3df in 
) const [inline]

void transformVect ( vector3df vect  )  const [inline]

void translateVect ( vector3df vect  )  const [inline]


Field Documentation

union { ... }

f32 m[4][4]

f32 M[16]

f32 m00

f32 m01

f32 m02

f32 m03

f32 m10

f32 m11

f32 m12

f32 m13

f32 m20

f32 m21

f32 m22

f32 m23

f32 m30

f32 m31

f32 m32

f32 m33


Generated on Fri Apr 27 14:47:02 2007 for IrrSpintz by  doxygen 1.5.1-p1