AI_TMatrix33 Class Reference
[Mathematics]

#include <AI_TMatrix33.h>

List of all members.


Detailed Description

A generic AI_Matrix33 class.

(C) 2002 RadonLabs GmbH

Public Member Functions

 AI_TMatrix33 ()
 constructor 1
 AI_TMatrix33 (const AI_TVector3 &v0, const AI_TVector3 &v1, const AI_TVector3 &v2)
 constructor 2
 AI_TMatrix33 (const AI_TMatrix33 &mx)
 constructor 3
 AI_TMatrix33 (float _m11, float _m12, float _m13, float _m21, float _m22, float _m23, float _m31, float _m32, float _m33)
 constructor 4
 AI_TMatrix33 (const AI_Quaternion &q)
 constructor 5
AI_Quaternion get_quaternion () const
 get as AI_Quaternion
AI_TVector3 to_euler () const
 get as euler representation
void from_euler (const AI_TVector3 &ea)
 set as euler
void lookat (const AI_TVector3 &from, const AI_TVector3 &to, const AI_TVector3 &up)
 unrestricted lookat
void billboard (const AI_TVector3 &from, const AI_TVector3 &to, const AI_TVector3 &up)
 restricted lookat (billboard)
void set (float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33)
 set 1
void set (const AI_TVector3 &v0, const AI_TVector3 &v1, const AI_TVector3 &v2)
 set 2
void set (const AI_TMatrix33 &m1)
 set 3
void ident ()
 set to identity
void transpose ()
 set to transpose
bool orthonorm (float limit)
 is orthonormal?
void scale (const AI_TVector3 &s)
 scale
void rotate_x (const float a)
 rotate about global x
void rotate_y (const float a)
 rotates matrix about global y
void rotate_z (const float a)
 rotate about global z
void rotate_local_x (const float a)
 rotate about local x (not very fast)
void rotate_local_y (const float a)
 rotate about local y (not very fast)
void rotate_local_z (const float a)
 rotate about local z (not very fast)
void rotate (const AI_TVector3 &vec, float a)
 rotate about any axis
AI_TVector3 x_component (void) const
 get x component
AI_TVector3 y_component (void) const
 get y component
AI_TVector3 z_component (void) const
 get z component
void operator *= (const AI_TMatrix33 &m1)
void mult (const AI_TVector3 &src, AI_TVector3 &dst) const
 multiply source vector into target vector
void translate (const AI_TVector2 &t)
 translate, this treats the matrix as a 2x2 rotation + translate matrix

Public Attributes

float m [3][3]


Constructor & Destructor Documentation

AI_TMatrix33::AI_TMatrix33 (  )  [inline]

constructor 1

AI_TMatrix33::AI_TMatrix33 ( const AI_TVector3 v0,
const AI_TVector3 v1,
const AI_TVector3 v2 
) [inline]

constructor 2

AI_TMatrix33::AI_TMatrix33 ( const AI_TMatrix33 mx  )  [inline]

constructor 3

AI_TMatrix33::AI_TMatrix33 ( float  _m11,
float  _m12,
float  _m13,
float  _m21,
float  _m22,
float  _m23,
float  _m31,
float  _m32,
float  _m33 
) [inline]

constructor 4

AI_TMatrix33::AI_TMatrix33 ( const AI_Quaternion q  )  [inline]

constructor 5


Member Function Documentation

AI_Quaternion AI_TMatrix33::get_quaternion (  )  const [inline]

get as AI_Quaternion

AI_TVector3 AI_TMatrix33::to_euler (  )  const [inline]

get as euler representation

void AI_TMatrix33::from_euler ( const AI_TVector3 ea  )  [inline]

set as euler

void AI_TMatrix33::lookat ( const AI_TVector3 from,
const AI_TVector3 to,
const AI_TVector3 up 
) [inline]

unrestricted lookat

void AI_TMatrix33::billboard ( const AI_TVector3 from,
const AI_TVector3 to,
const AI_TVector3 up 
) [inline]

restricted lookat (billboard)

void AI_TMatrix33::set ( float  m11,
float  m12,
float  m13,
float  m21,
float  m22,
float  m23,
float  m31,
float  m32,
float  m33 
) [inline]

set 1

void AI_TMatrix33::set ( const AI_TVector3 v0,
const AI_TVector3 v1,
const AI_TVector3 v2 
) [inline]

set 2

void AI_TMatrix33::set ( const AI_TMatrix33 m1  )  [inline]

set 3

void AI_TMatrix33::ident ( void   )  [inline]

set to identity

void AI_TMatrix33::transpose (  )  [inline]

set to transpose

bool AI_TMatrix33::orthonorm ( float  limit  )  [inline]

is orthonormal?

void AI_TMatrix33::scale ( const AI_TVector3 s  )  [inline]

scale

void AI_TMatrix33::rotate_x ( const float  a  )  [inline]

rotate about global x

void AI_TMatrix33::rotate_y ( const float  a  )  [inline]

rotates matrix about global y

void AI_TMatrix33::rotate_z ( const float  a  )  [inline]

rotate about global z

void AI_TMatrix33::rotate_local_x ( const float  a  )  [inline]

rotate about local x (not very fast)

void AI_TMatrix33::rotate_local_y ( const float  a  )  [inline]

rotate about local y (not very fast)

void AI_TMatrix33::rotate_local_z ( const float  a  )  [inline]

rotate about local z (not very fast)

void AI_TMatrix33::rotate ( const AI_TVector3 vec,
float  a 
) [inline]

rotate about any axis

AI_TVector3 AI_TMatrix33::x_component ( void   )  const [inline]

get x component

AI_TVector3 AI_TMatrix33::y_component ( void   )  const [inline]

get y component

AI_TVector3 AI_TMatrix33::z_component ( void   )  const [inline]

get z component

void AI_TMatrix33::operator *= ( const AI_TMatrix33 m1  )  [inline]

void AI_TMatrix33::mult ( const AI_TVector3 src,
AI_TVector3 dst 
) const [inline]

multiply source vector into target vector

multiply source vector with matrix and store in destination vector this eliminates the construction of a temp AI_TVector3 object

void AI_TMatrix33::translate ( const AI_TVector2 t  )  [inline]

translate, this treats the matrix as a 2x2 rotation + translate matrix


Member Data Documentation

float AI_TMatrix33::m[3][3]


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