math::matrix4 Class Reference

4x4 element matrix More...

#include <core_math.h>

Inheritance diagram for math::matrix4:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 matrix4 ()
 Create uninitialized matrix.

 matrix4 (scalar_t e00, scalar_t e01, scalar_t e02, scalar_t e03, scalar_t e10, scalar_t e11, scalar_t e12, scalar_t e13, scalar_t e20, scalar_t e21, scalar_t e22, scalar_t e23, scalar_t e30, scalar_t e31, scalar_t e32, scalar_t e33)
 Create matrix initialized by all it's 16 values.

const scalar_toperator[] (int i) const
 operator [] is used to read, () is to write (const correctness).

scalar_toperator() (int i)
 operator [] is used to read, () is to write (const correctness) m[x][y] or m(x)[y] is the correct form.

matrix4load_identity ()
 Load Identity matrix.

matrix4load_rotation (const scalar_t angle, const vector4 axis)
 Load matrix representing rotation about arbitrary vector by arbitrary angle.

matrix4load_translation (const vector4 &diff)
 Load matrix representing translation in 3D space along diff[] vector.

matrix4load_scale (scalar_t x, scalar_t y, scalar_t z)
 Load matrix representing scaling in 3D space in x, y and z axes.

matrix4load_basis_change (const vector3 &u, const vector3 &v, const vector3 &n)
 Load BasisChange matrix.

matrix4load_basis_change (const vector3 &v, const vector3 &n)
 Load BasisChange matrix.

matrix4load_perspective_projection (scalar_t width, scalar_t height, scalar_t z_near, scalar_t z_far)
 Load perspective projection matrix.

matrix4load_parallel_projection (scalar_t left_plane, scalar_t right_plane, scalar_t top_plane, scalar_t bottom_plane, scalar_t near_plane, scalar_t far_plane)
 Load parallel projection matrix.


Detailed Description

4x4 element matrix


Constructor & Destructor Documentation

math::matrix4::matrix4  )  [inline]
 

Create uninitialized matrix.

math::matrix4::matrix4 scalar_t  e00,
scalar_t  e01,
scalar_t  e02,
scalar_t  e03,
scalar_t  e10,
scalar_t  e11,
scalar_t  e12,
scalar_t  e13,
scalar_t  e20,
scalar_t  e21,
scalar_t  e22,
scalar_t  e23,
scalar_t  e30,
scalar_t  e31,
scalar_t  e32,
scalar_t  e33
[inline]
 

Create matrix initialized by all it's 16 values.


Member Function Documentation

const scalar_t* math::matrix4::operator[] int  i  )  const [inline]
 

operator [] is used to read, () is to write (const correctness).

m[x][y] or m(x)[y] is the correct form.

scalar_t* math::matrix4::operator() int  i  )  [inline]
 

operator [] is used to read, () is to write (const correctness) m[x][y] or m(x)[y] is the correct form.

matrix4& math::matrix4::load_identity  )  [inline]
 

Load Identity matrix.

matrix4& math::matrix4::load_rotation const scalar_t  angle,
const vector4  axis
[inline]
 

Load matrix representing rotation about arbitrary vector by arbitrary angle.

matrix4& math::matrix4::load_translation const vector4 diff  )  [inline]
 

Load matrix representing translation in 3D space along diff[] vector.

Only first 3 elements of diff[] are used.

matrix4& math::matrix4::load_scale scalar_t  x,
scalar_t  y,
scalar_t  z
[inline]
 

Load matrix representing scaling in 3D space in x, y and z axes.

matrix4& math::matrix4::load_basis_change const vector3 u,
const vector3 v,
const vector3 n
[inline]
 

Load BasisChange matrix.

New base is defined by given vectors u and v and n (normal)

matrix4& math::matrix4::load_basis_change const vector3 v,
const vector3 n
[inline]
 

Load BasisChange matrix.

New base is defined by specified vectors u, v and n, while u is calculated automatically as cross product of given v and n vectors.

matrix4& math::matrix4::load_perspective_projection scalar_t  width,
scalar_t  height,
scalar_t  z_near,
scalar_t  z_far
[inline]
 

Load perspective projection matrix.

matrix4& math::matrix4::load_parallel_projection scalar_t  left_plane,
scalar_t  right_plane,
scalar_t  top_plane,
scalar_t  bottom_plane,
scalar_t  near_plane,
scalar_t  far_plane
[inline]
 

Load parallel projection matrix.


The documentation for this class was generated from the following file:
Generated on Sun May 1 17:34:32 2005 for RealityStrike Game Engine API by doxygen 1.3.6