doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | Friends | List of all members
idMat4 Class Reference

#include <Matrix.h>

Public Member Functions

 idMat4 (void)
 
 idMat4 (const idVec4 &x, const idVec4 &y, const idVec4 &z, const idVec4 &w)
 
 idMat4 (const float xx, const float xy, const float xz, const float xw, const float yx, const float yy, const float yz, const float yw, const float zx, const float zy, const float zz, const float zw, const float wx, const float wy, const float wz, const float ww)
 
 idMat4 (const idMat3 &rotation, const idVec3 &translation)
 
 idMat4 (const float src[4][4])
 
const idVec4operator[] (int index) const
 
idVec4operator[] (int index)
 
idMat4 operator* (const float a) const
 
idVec4 operator* (const idVec4 &vec) const
 
idVec3 operator* (const idVec3 &vec) const
 
idMat4 operator* (const idMat4 &a) const
 
idMat4 operator+ (const idMat4 &a) const
 
idMat4 operator- (const idMat4 &a) const
 
idMat4operator*= (const float a)
 
idMat4operator*= (const idMat4 &a)
 
idMat4operator+= (const idMat4 &a)
 
idMat4operator-= (const idMat4 &a)
 
bool Compare (const idMat4 &a) const
 
bool Compare (const idMat4 &a, const float epsilon) const
 
bool operator== (const idMat4 &a) const
 
bool operator!= (const idMat4 &a) const
 
void Zero (void)
 
void Identity (void)
 
bool IsIdentity (const float epsilon=MATRIX_EPSILON) const
 
bool IsSymmetric (const float epsilon=MATRIX_EPSILON) const
 
bool IsDiagonal (const float epsilon=MATRIX_EPSILON) const
 
bool IsRotated (void) const
 
void ProjectVector (const idVec4 &src, idVec4 &dst) const
 
void UnprojectVector (const idVec4 &src, idVec4 &dst) const
 
float Trace (void) const
 
float Determinant (void) const
 
idMat4 Transpose (void) const
 
idMat4TransposeSelf (void)
 
idMat4 Inverse (void) const
 
bool InverseSelf (void)
 
idMat4 InverseFast (void) const
 
bool InverseFastSelf (void)
 
idMat4 TransposeMultiply (const idMat4 &b) const
 
int GetDimension (void) const
 
const floatToFloatPtr (void) const
 
floatToFloatPtr (void)
 
const char * ToString (int precision=2) const
 

Private Attributes

idVec4 mat [4]
 

Friends

idMat4 operator* (const float a, const idMat4 &mat)
 
idVec4 operator* (const idVec4 &vec, const idMat4 &mat)
 
idVec3 operator* (const idVec3 &vec, const idMat4 &mat)
 
idVec4operator*= (idVec4 &vec, const idMat4 &mat)
 
idVec3operator*= (idVec3 &vec, const idMat4 &mat)
 

Detailed Description

Definition at line 764 of file Matrix.h.

Constructor & Destructor Documentation

ID_INLINE idMat4::idMat4 ( void  )

Definition at line 833 of file Matrix.h.

ID_INLINE idMat4::idMat4 ( const idVec4 x,
const idVec4 y,
const idVec4 z,
const idVec4 w 
)
explicit

Definition at line 836 of file Matrix.h.

ID_INLINE idMat4::idMat4 ( const float  xx,
const float  xy,
const float  xz,
const float  xw,
const float  yx,
const float  yy,
const float  yz,
const float  yw,
const float  zx,
const float  zy,
const float  zz,
const float  zw,
const float  wx,
const float  wy,
const float  wz,
const float  ww 
)
explicit

Definition at line 843 of file Matrix.h.

ID_INLINE idMat4::idMat4 ( const idMat3 rotation,
const idVec3 translation 
)
explicit

Definition at line 853 of file Matrix.h.

ID_INLINE idMat4::idMat4 ( const float  src[4][4])
explicit

Definition at line 873 of file Matrix.h.

Member Function Documentation

ID_INLINE bool idMat4::Compare ( const idMat4 a) const

Definition at line 1013 of file Matrix.h.

ID_INLINE bool idMat4::Compare ( const idMat4 a,
const float  epsilon 
) const

Definition at line 1027 of file Matrix.h.

float idMat4::Determinant ( void  ) const

Definition at line 665 of file Matrix.cpp.

ID_INLINE int idMat4::GetDimension ( void  ) const

Definition at line 1133 of file Matrix.h.

ID_INLINE void idMat4::Identity ( void  )

Definition at line 1053 of file Matrix.h.

ID_INLINE idMat4 idMat4::Inverse ( void  ) const

Definition at line 1107 of file Matrix.h.

ID_INLINE idMat4 idMat4::InverseFast ( void  ) const

Definition at line 1116 of file Matrix.h.

bool idMat4::InverseFastSelf ( void  )

Definition at line 775 of file Matrix.cpp.

bool idMat4::InverseSelf ( void  )

Definition at line 689 of file Matrix.cpp.

ID_INLINE bool idMat4::IsDiagonal ( const float  epsilon = MATRIX_EPSILON) const

Definition at line 1072 of file Matrix.h.

ID_INLINE bool idMat4::IsIdentity ( const float  epsilon = MATRIX_EPSILON) const

Definition at line 1057 of file Matrix.h.

ID_INLINE bool idMat4::IsRotated ( void  ) const

Definition at line 1083 of file Matrix.h.

ID_INLINE bool idMat4::IsSymmetric ( const float  epsilon = MATRIX_EPSILON) const

Definition at line 1061 of file Matrix.h.

ID_INLINE bool idMat4::operator!= ( const idMat4 a) const

Definition at line 1045 of file Matrix.h.

ID_INLINE idMat4 idMat4::operator* ( const float  a) const

Definition at line 887 of file Matrix.h.

ID_INLINE idVec4 idMat4::operator* ( const idVec4 vec) const

Definition at line 895 of file Matrix.h.

ID_INLINE idVec3 idMat4::operator* ( const idVec3 vec) const

Definition at line 903 of file Matrix.h.

ID_INLINE idMat4 idMat4::operator* ( const idMat4 a) const

Definition at line 923 of file Matrix.h.

ID_INLINE idMat4 & idMat4::operator*= ( const float  a)

Definition at line 962 of file Matrix.h.

ID_INLINE idMat4 & idMat4::operator*= ( const idMat4 a)

Definition at line 970 of file Matrix.h.

ID_INLINE idMat4 idMat4::operator+ ( const idMat4 a) const

Definition at line 946 of file Matrix.h.

ID_INLINE idMat4 & idMat4::operator+= ( const idMat4 a)

Definition at line 975 of file Matrix.h.

ID_INLINE idMat4 idMat4::operator- ( const idMat4 a) const

Definition at line 954 of file Matrix.h.

ID_INLINE idMat4 & idMat4::operator-= ( const idMat4 a)

Definition at line 983 of file Matrix.h.

ID_INLINE bool idMat4::operator== ( const idMat4 a) const

Definition at line 1041 of file Matrix.h.

ID_INLINE const idVec4 & idMat4::operator[] ( int  index) const

Definition at line 877 of file Matrix.h.

ID_INLINE idVec4 & idMat4::operator[] ( int  index)

Definition at line 882 of file Matrix.h.

ID_INLINE void idMat4::ProjectVector ( const idVec4 src,
idVec4 dst 
) const

Definition at line 1092 of file Matrix.h.

ID_INLINE const float * idMat4::ToFloatPtr ( void  ) const

Definition at line 1137 of file Matrix.h.

ID_INLINE float * idMat4::ToFloatPtr ( void  )

Definition at line 1141 of file Matrix.h.

const char * idMat4::ToString ( int  precision = 2) const

Definition at line 1045 of file Matrix.cpp.

ID_INLINE float idMat4::Trace ( void  ) const

Definition at line 1103 of file Matrix.h.

idMat4 idMat4::Transpose ( void  ) const

Definition at line 629 of file Matrix.cpp.

idMat4 idMat4::TransposeMultiply ( const idMat4 b) const
idMat4 & idMat4::TransposeSelf ( void  )

Definition at line 646 of file Matrix.cpp.

ID_INLINE void idMat4::UnprojectVector ( const idVec4 src,
idVec4 dst 
) const

Definition at line 1099 of file Matrix.h.

ID_INLINE void idMat4::Zero ( void  )

Definition at line 1049 of file Matrix.h.

Friends And Related Function Documentation

idMat4 operator* ( const float  a,
const idMat4 mat 
)
friend

Definition at line 991 of file Matrix.h.

idVec4 operator* ( const idVec4 vec,
const idMat4 mat 
)
friend

Definition at line 995 of file Matrix.h.

idVec3 operator* ( const idVec3 vec,
const idMat4 mat 
)
friend

Definition at line 999 of file Matrix.h.

idVec4& operator*= ( idVec4 vec,
const idMat4 mat 
)
friend

Definition at line 1003 of file Matrix.h.

idVec3& operator*= ( idVec3 vec,
const idMat4 mat 
)
friend

Definition at line 1008 of file Matrix.h.

Member Data Documentation

idVec4 idMat4::mat[4]
private

Definition at line 826 of file Matrix.h.


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