Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | List of all members
CMatrix3D Class Reference

#include <Matrix3D.h>

Public Member Functions

 CMatrix3D ()
 
 CMatrix3D (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)
 
 CMatrix3D (float data[])
 
float & operator() (int col, int row)
 
const float & operator() (int col, int row) const
 
float & operator[] (int idx)
 
const float & operator[] (int idx) const
 
CMatrix3D operator* (const CMatrix3D &matrix) const
 
CMatrix3Doperator*= (const CMatrix3D &matrix)
 
CMatrix3D operator* (float f) const
 
CMatrix3D operator+ (const CMatrix3D &m) const
 
CMatrix3Doperator+= (const CMatrix3D &m)
 
bool operator== (const CMatrix3D &m) const
 
bool operator!= (const CMatrix3D &m) const
 
void SetIdentity ()
 
void SetZero ()
 
void SetOrtho (float l, float r, float b, float t, float n, float f)
 
void Concatenate (const CMatrix3D &m)
 
void Blend (const CMatrix3D &m, float f)
 
void AddBlend (const CMatrix3D &m, float f)
 
void SetXRotation (float angle)
 
void SetYRotation (float angle)
 
void SetZRotation (float angle)
 
void SetRotation (const CQuaternion &quat)
 
void RotateX (float angle)
 
void RotateY (float angle)
 
void RotateZ (float angle)
 
void Rotate (const CQuaternion &quat)
 
void SetTranslation (float x, float y, float z)
 
void SetTranslation (const CVector3D &vector)
 
void Translate (float x, float y, float z)
 
void Translate (const CVector3D &vector)
 
void PostTranslate (float x, float y, float z)
 
void SetScaling (float x_scale, float y_scale, float z_scale)
 
void Scale (float x_scale, float y_scale, float z_scale)
 
void GetInverse (CMatrix3D &dst) const
 
CMatrix3D GetInverse () const
 
CMatrix3D GetTranspose () const
 
CVector3D GetTranslation () const
 
CVector3D GetLeft () const
 
CVector3D GetUp () const
 
CVector3D GetIn () const
 
CQuaternion GetRotation () const
 
float GetYRotation () const
 
CVector3D Transform (const CVector3D &vector) const
 
void Transform (const CVector3D &vector, CVector3D &result) const
 
CVector4D Transform (const CVector4D &vector) const
 
void Transform (const CVector4D &vector, CVector4D &result) const
 
CVector3D Rotate (const CVector3D &vector) const
 
void Rotate (const CVector3D &vector, CVector3D &result) const
 
void RotateTransposed (const CVector3D &vector, CVector3D &result) const
 
CVector3D RotateTransposed (const CVector3D &vector) const
 

Public Attributes

union {
   struct {
      float   _11
 
      float   _21
 
      float   _31
 
      float   _41
 
      float   _12
 
      float   _22
 
      float   _32
 
      float   _42
 
      float   _13
 
      float   _23
 
      float   _33
 
      float   _43
 
      float   _14
 
      float   _24
 
      float   _34
 
      float   _44
 
   } 
 
   float   _data [16]
 
   float   _data2d [4][4]
 
}; 
 

Detailed Description

Definition at line 33 of file Matrix3D.h.

Constructor & Destructor Documentation

CMatrix3D::CMatrix3D ( )
inline

Definition at line 54 of file Matrix3D.h.

CMatrix3D::CMatrix3D ( 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 
)
inline

Definition at line 58 of file Matrix3D.h.

CMatrix3D::CMatrix3D ( float  data[])
inline

Definition at line 70 of file Matrix3D.h.

Member Function Documentation

void CMatrix3D::AddBlend ( const CMatrix3D m,
float  f 
)
inline

Definition at line 203 of file Matrix3D.h.

void CMatrix3D::Blend ( const CMatrix3D m,
float  f 
)
inline

Definition at line 194 of file Matrix3D.h.

void CMatrix3D::Concatenate ( const CMatrix3D m)
inline

Definition at line 188 of file Matrix3D.h.

CVector3D CMatrix3D::GetIn ( ) const

Definition at line 253 of file Matrix3D.cpp.

void CMatrix3D::GetInverse ( CMatrix3D dst) const

Definition at line 277 of file Matrix3D.cpp.

CMatrix3D CMatrix3D::GetInverse ( ) const

Definition at line 347 of file Matrix3D.cpp.

CVector3D CMatrix3D::GetLeft ( ) const

Definition at line 241 of file Matrix3D.cpp.

CQuaternion CMatrix3D::GetRotation ( ) const

Definition at line 360 of file Matrix3D.cpp.

CVector3D CMatrix3D::GetTranslation ( ) const

Definition at line 195 of file Matrix3D.cpp.

CMatrix3D CMatrix3D::GetTranspose ( ) const

Definition at line 230 of file Matrix3D.cpp.

CVector3D CMatrix3D::GetUp ( ) const

Definition at line 247 of file Matrix3D.cpp.

float CMatrix3D::GetYRotation ( ) const

Definition at line 403 of file Matrix3D.cpp.

bool CMatrix3D::operator!= ( const CMatrix3D m) const
inline

Definition at line 175 of file Matrix3D.h.

float& CMatrix3D::operator() ( int  col,
int  row 
)
inline

Definition at line 82 of file Matrix3D.h.

const float& CMatrix3D::operator() ( int  col,
int  row 
) const
inline

Definition at line 86 of file Matrix3D.h.

CMatrix3D CMatrix3D::operator* ( const CMatrix3D matrix) const
inline

Definition at line 101 of file Matrix3D.h.

CMatrix3D CMatrix3D::operator* ( float  f) const
inline

Definition at line 134 of file Matrix3D.h.

CMatrix3D& CMatrix3D::operator*= ( const CMatrix3D matrix)
inline

Definition at line 127 of file Matrix3D.h.

CMatrix3D CMatrix3D::operator+ ( const CMatrix3D m) const
inline

Definition at line 145 of file Matrix3D.h.

CMatrix3D& CMatrix3D::operator+= ( const CMatrix3D m)
inline

Definition at line 156 of file Matrix3D.h.

bool CMatrix3D::operator== ( const CMatrix3D m) const
inline

Definition at line 166 of file Matrix3D.h.

float& CMatrix3D::operator[] ( int  idx)
inline

Definition at line 91 of file Matrix3D.h.

const float& CMatrix3D::operator[] ( int  idx) const
inline

Definition at line 95 of file Matrix3D.h.

void CMatrix3D::PostTranslate ( float  x,
float  y,
float  z 
)

Definition at line 186 of file Matrix3D.cpp.

void CMatrix3D::Rotate ( const CQuaternion quat)

Definition at line 354 of file Matrix3D.cpp.

CVector3D CMatrix3D::Rotate ( const CVector3D vector) const
inline

Definition at line 303 of file Matrix3D.h.

void CMatrix3D::Rotate ( const CVector3D vector,
CVector3D result 
) const
inline

Definition at line 310 of file Matrix3D.h.

void CMatrix3D::RotateTransposed ( const CVector3D vector,
CVector3D result 
) const

Definition at line 269 of file Matrix3D.cpp.

CVector3D CMatrix3D::RotateTransposed ( const CVector3D vector) const

Definition at line 260 of file Matrix3D.cpp.

void CMatrix3D::RotateX ( float  angle)

Definition at line 97 of file Matrix3D.cpp.

void CMatrix3D::RotateY ( float  angle)

Definition at line 117 of file Matrix3D.cpp.

void CMatrix3D::RotateZ ( float  angle)

Definition at line 137 of file Matrix3D.cpp.

void CMatrix3D::Scale ( float  x_scale,
float  y_scale,
float  z_scale 
)

Definition at line 210 of file Matrix3D.cpp.

void CMatrix3D::SetIdentity ( )

Definition at line 30 of file Matrix3D.cpp.

void CMatrix3D::SetOrtho ( float  l,
float  r,
float  b,
float  t,
float  n,
float  f 
)

Definition at line 47 of file Matrix3D.cpp.

void CMatrix3D::SetRotation ( const CQuaternion quat)

Definition at line 398 of file Matrix3D.cpp.

void CMatrix3D::SetScaling ( float  x_scale,
float  y_scale,
float  z_scale 
)

Definition at line 201 of file Matrix3D.cpp.

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

Definition at line 158 of file Matrix3D.cpp.

void CMatrix3D::SetTranslation ( const CVector3D vector)

Definition at line 166 of file Matrix3D.cpp.

void CMatrix3D::SetXRotation ( float  angle)

Definition at line 61 of file Matrix3D.cpp.

void CMatrix3D::SetYRotation ( float  angle)

Definition at line 72 of file Matrix3D.cpp.

void CMatrix3D::SetZero ( )

Definition at line 39 of file Matrix3D.cpp.

void CMatrix3D::SetZRotation ( float  angle)

Definition at line 83 of file Matrix3D.cpp.

CVector3D CMatrix3D::Transform ( const CVector3D vector) const
inline

Definition at line 272 of file Matrix3D.h.

void CMatrix3D::Transform ( const CVector3D vector,
CVector3D result 
) const
inline

Definition at line 279 of file Matrix3D.h.

CVector4D CMatrix3D::Transform ( const CVector4D vector) const
inline

Definition at line 287 of file Matrix3D.h.

void CMatrix3D::Transform ( const CVector4D vector,
CVector4D result 
) const
inline

Definition at line 294 of file Matrix3D.h.

void CMatrix3D::Translate ( float  x,
float  y,
float  z 
)

Definition at line 172 of file Matrix3D.cpp.

void CMatrix3D::Translate ( const CVector3D vector)

Definition at line 179 of file Matrix3D.cpp.

Member Data Documentation

union { ... }
float CMatrix3D::_11

Definition at line 42 of file Matrix3D.h.

float CMatrix3D::_12

Definition at line 43 of file Matrix3D.h.

float CMatrix3D::_13

Definition at line 44 of file Matrix3D.h.

float CMatrix3D::_14

Definition at line 45 of file Matrix3D.h.

float CMatrix3D::_21

Definition at line 42 of file Matrix3D.h.

float CMatrix3D::_22

Definition at line 43 of file Matrix3D.h.

float CMatrix3D::_23

Definition at line 44 of file Matrix3D.h.

float CMatrix3D::_24

Definition at line 45 of file Matrix3D.h.

float CMatrix3D::_31

Definition at line 42 of file Matrix3D.h.

float CMatrix3D::_32

Definition at line 43 of file Matrix3D.h.

float CMatrix3D::_33

Definition at line 44 of file Matrix3D.h.

float CMatrix3D::_34

Definition at line 45 of file Matrix3D.h.

float CMatrix3D::_41

Definition at line 42 of file Matrix3D.h.

float CMatrix3D::_42

Definition at line 43 of file Matrix3D.h.

float CMatrix3D::_43

Definition at line 44 of file Matrix3D.h.

float CMatrix3D::_44

Definition at line 45 of file Matrix3D.h.

float CMatrix3D::_data[16]

Definition at line 47 of file Matrix3D.h.

float CMatrix3D::_data2d[4][4]

Definition at line 48 of file Matrix3D.h.


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