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

#include <Matrix.h>

Public Member Functions

 idMat3 (void)
 
 idMat3 (const idVec3 &x, const idVec3 &y, const idVec3 &z)
 
 idMat3 (const float xx, const float xy, const float xz, const float yx, const float yy, const float yz, const float zx, const float zy, const float zz)
 
 idMat3 (const float src[3][3])
 
const idVec3operator[] (int index) const
 
idVec3operator[] (int index)
 
idMat3 operator- () const
 
idMat3 operator* (const float a) const
 
idVec3 operator* (const idVec3 &vec) const
 
idMat3 operator* (const idMat3 &a) const
 
idMat3 operator+ (const idMat3 &a) const
 
idMat3 operator- (const idMat3 &a) const
 
idMat3operator*= (const float a)
 
idMat3operator*= (const idMat3 &a)
 
idMat3operator+= (const idMat3 &a)
 
idMat3operator-= (const idMat3 &a)
 
bool Compare (const idMat3 &a) const
 
bool Compare (const idMat3 &a, const float epsilon) const
 
bool operator== (const idMat3 &a) const
 
bool operator!= (const idMat3 &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 idVec3 &src, idVec3 &dst) const
 
void UnprojectVector (const idVec3 &src, idVec3 &dst) const
 
bool FixDegeneracies (void)
 
bool FixDenormals (void)
 
float Trace (void) const
 
float Determinant (void) const
 
idMat3 OrthoNormalize (void) const
 
idMat3OrthoNormalizeSelf (void)
 
idMat3 Transpose (void) const
 
idMat3TransposeSelf (void)
 
idMat3 Inverse (void) const
 
bool InverseSelf (void)
 
idMat3 InverseFast (void) const
 
bool InverseFastSelf (void)
 
idMat3 TransposeMultiply (const idMat3 &b) const
 
idMat3 InertiaTranslate (const float mass, const idVec3 &centerOfMass, const idVec3 &translation) const
 
idMat3InertiaTranslateSelf (const float mass, const idVec3 &centerOfMass, const idVec3 &translation)
 
idMat3 InertiaRotate (const idMat3 &rotation) const
 
idMat3InertiaRotateSelf (const idMat3 &rotation)
 
int GetDimension (void) const
 
idAngles ToAngles (void) const
 
idQuat ToQuat (void) const
 
idCQuat ToCQuat (void) const
 
idRotation ToRotation (void) const
 
idMat4 ToMat4 (void) const
 
idVec3 ToAngularVelocity (void) const
 
const floatToFloatPtr (void) const
 
floatToFloatPtr (void)
 
const char * ToString (int precision=2) const
 

Private Attributes

idVec3 mat [3]
 

Friends

idMat3 operator* (const float a, const idMat3 &mat)
 
idVec3 operator* (const idVec3 &vec, const idMat3 &mat)
 
idVec3operator*= (idVec3 &vec, const idMat3 &mat)
 
void TransposeMultiply (const idMat3 &inv, const idMat3 &b, idMat3 &dst)
 
idMat3 SkewSymmetric (idVec3 const &src)
 

Detailed Description

Definition at line 333 of file Matrix.h.

Constructor & Destructor Documentation

ID_INLINE idMat3::idMat3 ( void  )

Definition at line 415 of file Matrix.h.

ID_INLINE idMat3::idMat3 ( const idVec3 x,
const idVec3 y,
const idVec3 z 
)
explicit

Definition at line 418 of file Matrix.h.

ID_INLINE idMat3::idMat3 ( const float  xx,
const float  xy,
const float  xz,
const float  yx,
const float  yy,
const float  yz,
const float  zx,
const float  zy,
const float  zz 
)
explicit

Definition at line 424 of file Matrix.h.

ID_INLINE idMat3::idMat3 ( const float  src[3][3])
explicit

Definition at line 430 of file Matrix.h.

Member Function Documentation

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

Definition at line 561 of file Matrix.h.

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

Definition at line 570 of file Matrix.h.

float idMat3::Determinant ( void  ) const

Definition at line 319 of file Matrix.cpp.

ID_INLINE bool idMat3::FixDegeneracies ( void  )

Definition at line 638 of file Matrix.h.

ID_INLINE bool idMat3::FixDenormals ( void  )

Definition at line 645 of file Matrix.h.

ID_INLINE int idMat3::GetDimension ( void  ) const

Definition at line 745 of file Matrix.h.

ID_INLINE void idMat3::Identity ( void  )

Definition at line 591 of file Matrix.h.

idMat3 idMat3::InertiaRotate ( const idMat3 rotation) const

Definition at line 589 of file Matrix.cpp.

idMat3 & idMat3::InertiaRotateSelf ( const idMat3 rotation)

Definition at line 599 of file Matrix.cpp.

idMat3 idMat3::InertiaTranslate ( const float  mass,
const idVec3 centerOfMass,
const idVec3 translation 
) const

Definition at line 537 of file Matrix.cpp.

idMat3 & idMat3::InertiaTranslateSelf ( const float  mass,
const idVec3 centerOfMass,
const idVec3 translation 
)

Definition at line 562 of file Matrix.cpp.

ID_INLINE idMat3 idMat3::Inverse ( void  ) const

Definition at line 699 of file Matrix.h.

ID_INLINE idMat3 idMat3::InverseFast ( void  ) const

Definition at line 708 of file Matrix.h.

bool idMat3::InverseFastSelf ( void  )

Definition at line 378 of file Matrix.cpp.

bool idMat3::InverseSelf ( void  )

Definition at line 333 of file Matrix.cpp.

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

Definition at line 612 of file Matrix.h.

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

Definition at line 595 of file Matrix.h.

ID_INLINE bool idMat3::IsRotated ( void  ) const

Definition at line 624 of file Matrix.h.

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

Definition at line 599 of file Matrix.h.

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

Definition at line 583 of file Matrix.h.

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

Definition at line 479 of file Matrix.h.

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

Definition at line 450 of file Matrix.h.

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

Definition at line 457 of file Matrix.h.

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

Definition at line 500 of file Matrix.h.

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

Definition at line 508 of file Matrix.h.

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

Definition at line 486 of file Matrix.h.

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

Definition at line 528 of file Matrix.h.

ID_INLINE idMat3 idMat3::operator- ( ) const

Definition at line 444 of file Matrix.h.

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

Definition at line 493 of file Matrix.h.

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

Definition at line 536 of file Matrix.h.

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

Definition at line 579 of file Matrix.h.

ID_INLINE const idVec3 & idMat3::operator[] ( int  index) const

Definition at line 434 of file Matrix.h.

ID_INLINE idVec3 & idMat3::operator[] ( int  index)

Definition at line 439 of file Matrix.h.

ID_INLINE idMat3 idMat3::OrthoNormalize ( void  ) const

Definition at line 656 of file Matrix.h.

ID_INLINE idMat3 & idMat3::OrthoNormalizeSelf ( void  )

Definition at line 668 of file Matrix.h.

ID_INLINE void idMat3::ProjectVector ( const idVec3 src,
idVec3 dst 
) const

Definition at line 628 of file Matrix.h.

idAngles idMat3::ToAngles ( void  ) const

Definition at line 147 of file Matrix.cpp.

idVec3 idMat3::ToAngularVelocity ( void  ) const

Definition at line 309 of file Matrix.cpp.

idCQuat idMat3::ToCQuat ( void  ) const

Definition at line 233 of file Matrix.cpp.

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

Definition at line 749 of file Matrix.h.

ID_INLINE float * idMat3::ToFloatPtr ( void  )

Definition at line 753 of file Matrix.h.

ID_INLINE idMat4 idMat3::ToMat4 ( void  ) const

Definition at line 1125 of file Matrix.h.

idQuat idMat3::ToQuat ( void  ) const

Definition at line 182 of file Matrix.cpp.

idRotation idMat3::ToRotation ( void  ) const

Definition at line 246 of file Matrix.cpp.

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

Definition at line 610 of file Matrix.cpp.

ID_INLINE float idMat3::Trace ( void  ) const

Definition at line 652 of file Matrix.h.

ID_INLINE idMat3 idMat3::Transpose ( void  ) const

Definition at line 677 of file Matrix.h.

ID_INLINE idMat3 idMat3::TransposeMultiply ( const idMat3 b) const

Definition at line 717 of file Matrix.h.

ID_INLINE idMat3 & idMat3::TransposeSelf ( void  )

Definition at line 683 of file Matrix.h.

ID_INLINE void idMat3::UnprojectVector ( const idVec3 src,
idVec3 dst 
) const

Definition at line 634 of file Matrix.h.

ID_INLINE void idMat3::Zero ( void  )

Definition at line 587 of file Matrix.h.

Friends And Related Function Documentation

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

Definition at line 548 of file Matrix.h.

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

Definition at line 544 of file Matrix.h.

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

Definition at line 552 of file Matrix.h.

idMat3 SkewSymmetric ( idVec3 const src)
friend

Definition at line 741 of file Matrix.h.

void TransposeMultiply ( const idMat3 inv,
const idMat3 b,
idMat3 dst 
)
friend

Definition at line 729 of file Matrix.h.

Member Data Documentation

idVec3 idMat3::mat[3]
private

Definition at line 408 of file Matrix.h.


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