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
idMat5 Class Reference

#include <Matrix.h>

Public Member Functions

 idMat5 (void)
 
 idMat5 (const idVec5 &v0, const idVec5 &v1, const idVec5 &v2, const idVec5 &v3, const idVec5 &v4)
 
 idMat5 (const float src[5][5])
 
const idVec5 & operator[] (int index) const
 
idVec5 & operator[] (int index)
 
idMat5 operator* (const float a) const
 
idVec5 operator* (const idVec5 &vec) const
 
idMat5 operator* (const idMat5 &a) const
 
idMat5 operator+ (const idMat5 &a) const
 
idMat5 operator- (const idMat5 &a) const
 
idMat5 & operator*= (const float a)
 
idMat5 & operator*= (const idMat5 &a)
 
idMat5 & operator+= (const idMat5 &a)
 
idMat5 & operator-= (const idMat5 &a)
 
bool Compare (const idMat5 &a) const
 
bool Compare (const idMat5 &a, const float epsilon) const
 
bool operator== (const idMat5 &a) const
 
bool operator!= (const idMat5 &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
 
float Trace (void) const
 
float Determinant (void) const
 
idMat5 Transpose (void) const
 
idMat5 & TransposeSelf (void)
 
idMat5 Inverse (void) const
 
bool InverseSelf (void)
 
idMat5 InverseFast (void) const
 
bool InverseFastSelf (void)
 
int GetDimension (void) const
 
const float * ToFloatPtr (void) const
 
float * ToFloatPtr (void)
 
const char * ToString (int precision=2) const
 

Private Attributes

idVec5 mat [5]
 

Friends

idMat5 operator* (const float a, const idMat5 &mat)
 
idVec5 operator* (const idVec5 &vec, const idMat5 &mat)
 
idVec5 & operator*= (idVec5 &vec, const idMat5 &mat)
 

Detailed Description

Definition at line 1152 of file Matrix.h.

Constructor & Destructor Documentation

ID_INLINE idMat5::idMat5 ( void  )

Definition at line 1208 of file Matrix.h.

ID_INLINE idMat5::idMat5 ( const idVec5 &  v0,
const idVec5 &  v1,
const idVec5 &  v2,
const idVec5 &  v3,
const idVec5 &  v4 
)
explicit

Definition at line 1215 of file Matrix.h.

ID_INLINE idMat5::idMat5 ( const float  src[5][5])
explicit

Definition at line 1211 of file Matrix.h.

Member Function Documentation

ID_INLINE bool idMat5::Compare ( const idMat5 &  a) const

Definition at line 1338 of file Matrix.h.

ID_INLINE bool idMat5::Compare ( const idMat5 &  a,
const float  epsilon 
) const

Definition at line 1352 of file Matrix.h.

float idMat5::Determinant ( void  ) const

Definition at line 1100 of file Matrix.cpp.

ID_INLINE int idMat5::GetDimension ( void  ) const

Definition at line 1430 of file Matrix.h.

ID_INLINE void idMat5::Identity ( void  )

Definition at line 1378 of file Matrix.h.

ID_INLINE idMat5 idMat5::Inverse ( void  ) const

Definition at line 1412 of file Matrix.h.

ID_INLINE idMat5 idMat5::InverseFast ( void  ) const

Definition at line 1421 of file Matrix.h.

bool idMat5::InverseFastSelf ( void  )

Definition at line 1301 of file Matrix.cpp.

bool idMat5::InverseSelf ( void  )

Definition at line 1142 of file Matrix.cpp.

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

Definition at line 1397 of file Matrix.h.

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

Definition at line 1382 of file Matrix.h.

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

Definition at line 1386 of file Matrix.h.

ID_INLINE bool idMat5::operator!= ( const idMat5 &  a) const

Definition at line 1370 of file Matrix.h.

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

Definition at line 1257 of file Matrix.h.

ID_INLINE idVec5 idMat5::operator* ( const idVec5 &  vec) const

Definition at line 1266 of file Matrix.h.

ID_INLINE idMat5 idMat5::operator* ( const idMat5 &  a) const

Definition at line 1233 of file Matrix.h.

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

Definition at line 1293 of file Matrix.h.

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

Definition at line 1302 of file Matrix.h.

ID_INLINE idMat5 idMat5::operator+ ( const idMat5 &  a) const

Definition at line 1275 of file Matrix.h.

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

Definition at line 1307 of file Matrix.h.

ID_INLINE idMat5 idMat5::operator- ( const idMat5 &  a) const

Definition at line 1284 of file Matrix.h.

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

Definition at line 1316 of file Matrix.h.

ID_INLINE bool idMat5::operator== ( const idMat5 &  a) const

Definition at line 1366 of file Matrix.h.

ID_INLINE const idVec5 & idMat5::operator[] ( int  index) const

Definition at line 1223 of file Matrix.h.

ID_INLINE idVec5 & idMat5::operator[] ( int  index)

Definition at line 1228 of file Matrix.h.

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

Definition at line 1434 of file Matrix.h.

ID_INLINE float * idMat5::ToFloatPtr ( void  )

Definition at line 1438 of file Matrix.h.

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

Definition at line 1738 of file Matrix.cpp.

ID_INLINE float idMat5::Trace ( void  ) const

Definition at line 1408 of file Matrix.h.

idMat5 idMat5::Transpose ( void  ) const

Definition at line 1064 of file Matrix.cpp.

idMat5 & idMat5::TransposeSelf ( void  )

Definition at line 1081 of file Matrix.cpp.

ID_INLINE void idMat5::Zero ( void  )

Definition at line 1374 of file Matrix.h.

Friends And Related Function Documentation

idMat5 operator* ( const float  a,
const idMat5 &  mat 
)
friend

Definition at line 1329 of file Matrix.h.

idVec5 operator* ( const idVec5 &  vec,
const idMat5 &  mat 
)
friend

Definition at line 1325 of file Matrix.h.

idVec5& operator*= ( idVec5 &  vec,
const idMat5 &  mat 
)
friend

Definition at line 1333 of file Matrix.h.

Member Data Documentation

idVec5 idMat5::mat[5]
private

Definition at line 1201 of file Matrix.h.


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