le3d - LightEngine 3D
A straightforward C++ 3D software engine for real-time graphics
Public Member Functions | Public Attributes | List of all members
LeMatrix Struct Reference

Represent a 4x4 matrix to handle 3D transforms. More...

#include <geometry_scalar.h>

Public Member Functions

 LeMatrix ()
 
void identity ()
 
void zero ()
 
void transpose ()
 
void translate (LeVertex d)
 
void scale (LeVertex s)
 
void rotateEulerXYZ (LeVertex a)
 
void rotateEulerXZY (LeVertex a)
 
void rotateEulerYZX (LeVertex a)
 
void rotateEulerYXZ (LeVertex a)
 
void rotateEulerZXY (LeVertex a)
 
void rotateEulerZYX (LeVertex a)
 
void rotateX (float a)
 
void rotateY (float a)
 
void rotateZ (float a)
 
void rotate (LeVertex axis, float angle)
 
void toEulerZYX (LeVertex &angle)
 
void alignBackUp (LeVertex back, LeVertex up)
 
void alignBackRight (LeVertex back, LeVertex right)
 
LeMatrix inverse3x3 ()
 
LeVertex operator* (LeVertex v) const
 
LeMatrix operator+ (LeMatrix m) const
 
LeMatrix operator* (LeMatrix m) const
 

Public Attributes

float mat [4][4]
 

Detailed Description

Represent a 4x4 matrix to handle 3D transforms.

Constructor & Destructor Documentation

LeMatrix::LeMatrix ( )
inline

Member Function Documentation

void LeMatrix::alignBackRight ( LeVertex  back,
LeVertex  right 
)
inline
void LeMatrix::alignBackUp ( LeVertex  back,
LeVertex  up 
)
inline
void LeMatrix::identity ( )
inline
LeMatrix LeMatrix::inverse3x3 ( )
inline
LeVertex LeMatrix::operator* ( LeVertex  v) const
inline
LeMatrix LeMatrix::operator* ( LeMatrix  m) const
inline
LeMatrix LeMatrix::operator+ ( LeMatrix  m) const
inline
void LeMatrix::rotate ( LeVertex  axis,
float  angle 
)
inline
void LeMatrix::rotateEulerXYZ ( LeVertex  a)
inline
void LeMatrix::rotateEulerXZY ( LeVertex  a)
inline
void LeMatrix::rotateEulerYXZ ( LeVertex  a)
inline
void LeMatrix::rotateEulerYZX ( LeVertex  a)
inline
void LeMatrix::rotateEulerZXY ( LeVertex  a)
inline
void LeMatrix::rotateEulerZYX ( LeVertex  a)
inline
void LeMatrix::rotateX ( float  a)
inline
void LeMatrix::rotateY ( float  a)
inline
void LeMatrix::rotateZ ( float  a)
inline
void LeMatrix::scale ( LeVertex  s)
inline
void LeMatrix::toEulerZYX ( LeVertex angle)
inline
void LeMatrix::translate ( LeVertex  d)
inline
void LeMatrix::transpose ( )
inline
void LeMatrix::zero ( )
inline

Member Data Documentation

float LeMatrix::mat[4][4]

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