Matrix Class Reference

#include <Matrix.h>

List of all members.

Public Member Functions

 Matrix ()
 Matrix (const float &fElement0, const float &fElement4, const float &fElement8, const float &fElement12, const float &fElement1, const float &fElement5, const float &fElement9, const float &fElement13, const float &fElement2, const float &fElement6, const float &fElement10, const float &fElement14, const float &fElement3, const float &fElement7, const float &fElement11, const float &fElement15)
 Matrix (const Vector &vecOne, const Vector &vecTwo, const Vector &vecThree, const Vector &vecFour=Vector(0.0f, 0.0f, 0.0f))
 Matrix (const float *pElements)
 Matrix (const float vfElements[4][4])
 Matrix (const Quaternion &quaRotation)
 ~Matrix ()
void Set (const float *pElements)
void clearMatrix ()
const float * Get () const
void Set (const unsigned int i, const unsigned int j, const float &fValue)
const float & Get (const unsigned int i, const unsigned int j) const
const float & Get (const unsigned int i) const
void SetRow (const unsigned int i, const float vfValues[4])
void SetColumn (const unsigned int i, const float vfValues[4])
void SetRow (const unsigned int i, const Vector &vecVector)
void SetColumn (const unsigned int i, const Vector &vecVector)
float & operator() (const unsigned int i, const unsigned int j)
const float & operator() (const unsigned int i, const unsigned int j) const
void SetTranslation (const Vector &vecTranslation)
const Vector GetTranslation () const
const Quaternion GetRotation () const
const Matrix GetTranslated (const Vector &vecTranslation) const
void translate (const Vector &vecTranslation)
const Matrix GetScaled (const Vector &vecScale) const
void scale (const Vector &vecScale)
const Matrix GetRotated (const Quaternion &quaRotation) const
void rotate (const Quaternion &quaRotation)
const Matrix GetInverse () const
void invert ()
const Matrix GetTransposed () const
void transpose ()
const Vector GetRotated (const Vector &vecOther) const
const bool operator== (const Matrix &matOther) const
const bool operator!= (const Matrix &matOther) const
const Matrix operator * (const Matrix &matOther) const
const Matrixoperator *= (const Matrix &matOther)
const Vector operator * (const Vector &vecOther) const


Detailed Description

Definition at line 7 of file Matrix.h.


Constructor & Destructor Documentation

Matrix::Matrix (  )  [inline]

Definition at line 12 of file Matrix.h.

Referenced by GetRotated(), GetScaled(), GetTranslated(), GetTransposed(), and operator *().

Matrix::Matrix ( const float &  fElement0,
const float &  fElement4,
const float &  fElement8,
const float &  fElement12,
const float &  fElement1,
const float &  fElement5,
const float &  fElement9,
const float &  fElement13,
const float &  fElement2,
const float &  fElement6,
const float &  fElement10,
const float &  fElement14,
const float &  fElement3,
const float &  fElement7,
const float &  fElement11,
const float &  fElement15 
) [inline]

Creates a 4x4-matrix with specified elements in -major order

Definition at line 22 of file Matrix.h.

Matrix::Matrix ( const Vector vecOne,
const Vector vecTwo,
const Vector vecThree,
const Vector vecFour = Vector(0.0f,0.0f,0.0f) 
) [inline]

Definition at line 34 of file Matrix.h.

References Vector::GetX(), Vector::GetY(), and Vector::GetZ().

Here is the call graph for this function:

Matrix::Matrix ( const float *  pElements  )  [inline]

Definition at line 43 of file Matrix.h.

Matrix::Matrix ( const float  vfElements[4][4]  )  [inline]

Definition at line 48 of file Matrix.h.

Matrix::Matrix ( const Quaternion quaRotation  )  [inline]

Definition at line 53 of file Matrix.h.

References rotate().

Here is the call graph for this function:

Matrix::~Matrix (  )  [inline]

Definition at line 60 of file Matrix.h.


Member Function Documentation

void Matrix::Set ( const float *  pElements  )  [inline]

Definition at line 64 of file Matrix.h.

Referenced by operator>>().

void Matrix::clearMatrix (  )  [inline]

Definition at line 69 of file Matrix.h.

const float* Matrix::Get (  )  const [inline]

Definition at line 75 of file Matrix.h.

Referenced by operator<<().

void Matrix::Set ( const unsigned int  i,
const unsigned int  j,
const float &  fValue 
) [inline]

Definition at line 80 of file Matrix.h.

const float& Matrix::Get ( const unsigned int  i,
const unsigned int  j 
) const [inline]

Definition at line 85 of file Matrix.h.

const float& Matrix::Get ( const unsigned int  i  )  const [inline]

Get matrix-element at position i [0..15]

Definition at line 93 of file Matrix.h.

void Matrix::SetRow ( const unsigned int  i,
const float  vfValues[4] 
) [inline]

Definition at line 98 of file Matrix.h.

void Matrix::SetColumn ( const unsigned int  i,
const float  vfValues[4] 
) [inline]

Definition at line 106 of file Matrix.h.

void Matrix::SetRow ( const unsigned int  i,
const Vector vecVector 
) [inline]

Definition at line 114 of file Matrix.h.

References Vector::GetX(), Vector::GetY(), and Vector::GetZ().

Here is the call graph for this function:

void Matrix::SetColumn ( const unsigned int  i,
const Vector vecVector 
) [inline]

Definition at line 121 of file Matrix.h.

References Vector::GetX(), Vector::GetY(), and Vector::GetZ().

Here is the call graph for this function:

float& Matrix::operator() ( const unsigned int  i,
const unsigned int  j 
) [inline]

Definition at line 128 of file Matrix.h.

const float& Matrix::operator() ( const unsigned int  i,
const unsigned int  j 
) const [inline]

Definition at line 133 of file Matrix.h.

void Matrix::SetTranslation ( const Vector vecTranslation  )  [inline]

Definition at line 138 of file Matrix.h.

References Vector::GetX(), Vector::GetY(), and Vector::GetZ().

Here is the call graph for this function:

const Vector Matrix::GetTranslation (  )  const [inline]

Definition at line 146 of file Matrix.h.

const Quaternion Matrix::GetRotation (  )  const [inline]

Definition at line 151 of file Matrix.h.

const Matrix Matrix::GetTranslated ( const Vector vecTranslation  )  const [inline]

Definition at line 198 of file Matrix.h.

References Vector::GetX(), Vector::GetY(), Vector::GetZ(), and Matrix().

Referenced by translate().

Here is the call graph for this function:

void Matrix::translate ( const Vector vecTranslation  )  [inline]

Definition at line 203 of file Matrix.h.

References GetTranslated().

Here is the call graph for this function:

const Matrix Matrix::GetScaled ( const Vector vecScale  )  const [inline]

Definition at line 208 of file Matrix.h.

References Vector::GetX(), Vector::GetY(), Vector::GetZ(), and Matrix().

Referenced by scale().

Here is the call graph for this function:

void Matrix::scale ( const Vector vecScale  )  [inline]

Definition at line 213 of file Matrix.h.

References GetScaled().

Here is the call graph for this function:

const Matrix Matrix::GetRotated ( const Quaternion quaRotation  )  const [inline]

Definition at line 218 of file Matrix.h.

References Quaternion::GetScalar(), Quaternion::GetVector(), Vector::GetX(), Vector::GetY(), Vector::GetZ(), and Matrix().

Referenced by rotate().

Here is the call graph for this function:

void Matrix::rotate ( const Quaternion quaRotation  )  [inline]

Definition at line 233 of file Matrix.h.

References GetRotated().

Referenced by Matrix().

Here is the call graph for this function:

const Matrix Matrix::GetInverse (  )  const [inline]

Definition at line 238 of file Matrix.h.

References m_vfElements, and m_vfElements44.

Referenced by invert().

void Matrix::invert (  )  [inline]

Definition at line 323 of file Matrix.h.

References GetInverse().

Here is the call graph for this function:

const Matrix Matrix::GetTransposed (  )  const [inline]

Definition at line 328 of file Matrix.h.

References Matrix().

Referenced by transpose().

Here is the call graph for this function:

void Matrix::transpose (  )  [inline]

Definition at line 337 of file Matrix.h.

References GetTransposed().

Here is the call graph for this function:

const Vector Matrix::GetRotated ( const Vector vecOther  )  const [inline]

Definition at line 342 of file Matrix.h.

References Vector::GetX(), Vector::GetY(), and Vector::GetZ().

Here is the call graph for this function:

const bool Matrix::operator== ( const Matrix matOther  )  const [inline]

Definition at line 350 of file Matrix.h.

References m_vfElements, and m_vfElements16.

const bool Matrix::operator!= ( const Matrix matOther  )  const [inline]

Definition at line 361 of file Matrix.h.

const Matrix Matrix::operator * ( const Matrix matOther  )  const [inline]

Definition at line 366 of file Matrix.h.

References m_vfElements, m_vfElements16, and Matrix().

Here is the call graph for this function:

const Matrix& Matrix::operator *= ( const Matrix matOther  )  [inline]

Definition at line 390 of file Matrix.h.

const Vector Matrix::operator * ( const Vector vecOther  )  const [inline]

Definition at line 396 of file Matrix.h.

References Vector::GetX(), Vector::GetY(), and Vector::GetZ().

Here is the call graph for this function:


Member Data Documentation

float Matrix::m_vfElements16[16]

Definition at line 409 of file Matrix.h.

Referenced by operator *(), and operator==().

float Matrix::m_vfElements44[4][4]

Definition at line 410 of file Matrix.h.

Referenced by GetInverse().


The documentation for this class was generated from the following file:
Generated on Mon Dec 10 18:18:23 2007 for VisLU by  doxygen 1.5.4