vhdMatrix3 Class Reference

#include <vhdMatrix3.h>

List of all members.

Public Member Functions

 vhdMatrix3 ()
 vhdMatrix3 (const vhtReal arr[3][3])
 vhdMatrix3 (const vhtReal *pm)
 vhdMatrix3 (const vhdMatrix3 &rkMatrix)
 vhdMatrix3 (vhtReal fEntry00, vhtReal fEntry01, vhtReal fEntry02, vhtReal fEntry10, vhtReal fEntry11, vhtReal fEntry12, vhtReal fEntry20, vhtReal fEntry21, vhtReal fEntry22)
vhtReal get (unsigned int row, unsigned int column) const
void set (unsigned int row, unsigned int column, vhtReal value)
vhtRealoperator[] (int iRow) const
 operator vhtReal * ()
vhdVector3 getColumn (int iCol) const
void setColumn (int iCol, const vhdVector3 &vec)
void fromAxes (const vhdVector3 &xAxis, const vhdVector3 &yAxis, const vhdVector3 &zAxis)
vhdMatrix3operator= (const vhdMatrix3 &rkMatrix)
bool operator== (const vhdMatrix3 &rkMatrix) const
bool operator!= (const vhdMatrix3 &rkMatrix) const
vhdMatrix3 operator+ (const vhdMatrix3 &rkMatrix) const
vhdMatrix3 operator- (const vhdMatrix3 &rkMatrix) const
vhdMatrix3 operator * (const vhdMatrix3 &rkMatrix) const
vhdMatrix3 operator- () const
vhdVector3 operator * (const vhdVector3 &rkvhdVector) const
vhdMatrix3 operator * (vhtReal fScalar) const
vhdMatrix3 transpose () const
bool inverse (vhdMatrix3 &rkInverse, vhtReal fTolerance=1e-06) const
vhdMatrix3 inverse (vhtReal fTolerance=1e-06) const
vhtReal determinant () const
void singularValueDecomposition (vhdMatrix3 &rkL, vhdVector3 &rkS, vhdMatrix3 &rkR) const
void singularValueComposition (const vhdMatrix3 &rkL, const vhdVector3 &rkS, const vhdMatrix3 &rkR)
void orthonormalize ()
void qduDecomposition (vhdMatrix3 &rkQ, vhdVector3 &rkD, vhdVector3 &rkU) const
vhtReal spectralNorm () const
void toAxisAngle (vhdVector3 &rkAxis, vhtReal &rfRadians) const
void fromAxisAngle (const vhdVector3 &rkAxis, vhtReal fRadians)
bool toEulerAnglesXYZ (float &rfYAngle, float &rfPAngle, float &rfRAngle) const
bool toEulerAnglesXZY (float &rfYAngle, float &rfPAngle, float &rfRAngle) const
bool toEulerAnglesYXZ (float &rfYAngle, float &rfPAngle, float &rfRAngle) const
bool toEulerAnglesYZX (float &rfYAngle, float &rfPAngle, float &rfRAngle) const
bool toEulerAnglesZXY (float &rfYAngle, float &rfPAngle, float &rfRAngle) const
bool toEulerAnglesZYX (float &rfYAngle, float &rfPAngle, float &rfRAngle) const
void fromEulerAnglesXYZ (float fYAngle, float fPAngle, float fRAngle)
void fromEulerAnglesXZY (float fYAngle, float fPAngle, float fRAngle)
void fromEulerAnglesYXZ (float fYAngle, float fPAngle, float fRAngle)
void fromEulerAnglesYZX (float fYAngle, float fPAngle, float fRAngle)
void fromEulerAnglesZXY (float fYAngle, float fPAngle, float fRAngle)
void fromEulerAnglesZYX (float fYAngle, float fPAngle, float fRAngle)
void eigenSolveSymmetric (vhtReal afEigenvalue[3], vhdVector3 akEigenvhdVector[3]) const
void tridiagonal (vhtReal afDiag[3], vhtReal afSubDiag[3])
bool qLAlgorithm (vhtReal afDiag[3], vhtReal afSubDiag[3])

Static Public Member Functions

static void tensorProduct (const vhdVector3 &rkU, const vhdVector3 &rkV, vhdMatrix3 &rkProduct)
static void bidiagonalize (vhdMatrix3 &kA, vhdMatrix3 &kL, vhdMatrix3 &kR)
static void golubKahanStep (vhdMatrix3 &kA, vhdMatrix3 &kL, vhdMatrix3 &kR)
static vhtReal maxCubicRoot (vhtReal afCoeff[3])

Public Attributes

vhtReal m [3][3]

Static Public Attributes

static const vhdMatrix3 ZERO
static const vhdMatrix3 IDENTITY
static const vhtReal ms_fSvdEpsilon
static const int ms_iSvdMaxIterations

Friends

class vhdMatrix4
vhdVector3 operator * (const vhdVector3 &rkvhdVector, const vhdMatrix3 &rkMatrix)
vhdMatrix3 operator * (vhtReal fScalar, const vhdMatrix3 &rkMatrix)


Constructor & Destructor Documentation

vhdMatrix3::vhdMatrix3 (  ) 

vhdMatrix3::vhdMatrix3 ( const vhtReal  arr[3][3]  ) 

vhdMatrix3::vhdMatrix3 ( const vhtReal pm  )  [inline]

Constructor for a 9-element array of vhtReals.

vhdMatrix3::vhdMatrix3 ( const vhdMatrix3 rkMatrix  ) 

vhdMatrix3::vhdMatrix3 ( vhtReal  fEntry00,
vhtReal  fEntry01,
vhtReal  fEntry02,
vhtReal  fEntry10,
vhtReal  fEntry11,
vhtReal  fEntry12,
vhtReal  fEntry20,
vhtReal  fEntry21,
vhtReal  fEntry22 
)


Member Function Documentation

vhtReal vhdMatrix3::get ( unsigned int  row,
unsigned int  column 
) const [inline]

Returns a value of this matrix specified by the given row and column index.

void vhdMatrix3::set ( unsigned int  row,
unsigned int  column,
vhtReal  value 
) [inline]

Sets a value of this matrix specified by the given row and column index.

vhtReal * vhdMatrix3::operator[] ( int  iRow  )  const

vhdMatrix3::operator vhtReal * (  ) 

vhdVector3 vhdMatrix3::getColumn ( int  iCol  )  const

void vhdMatrix3::setColumn ( int  iCol,
const vhdVector3 vec 
)

void vhdMatrix3::fromAxes ( const vhdVector3 xAxis,
const vhdVector3 yAxis,
const vhdVector3 zAxis 
)

vhdMatrix3 & vhdMatrix3::operator= ( const vhdMatrix3 rkMatrix  ) 

bool vhdMatrix3::operator== ( const vhdMatrix3 rkMatrix  )  const

bool vhdMatrix3::operator!= ( const vhdMatrix3 rkMatrix  )  const

vhdMatrix3 vhdMatrix3::operator+ ( const vhdMatrix3 rkMatrix  )  const

vhdMatrix3 vhdMatrix3::operator- ( const vhdMatrix3 rkMatrix  )  const

vhdMatrix3 vhdMatrix3::operator * ( const vhdMatrix3 rkMatrix  )  const

vhdMatrix3 vhdMatrix3::operator- (  )  const

vhdVector3 vhdMatrix3::operator * ( const vhdVector3 rkvhdVector  )  const

vhdMatrix3 vhdMatrix3::operator * ( vhtReal  fScalar  )  const

vhdMatrix3 vhdMatrix3::transpose (  )  const

bool vhdMatrix3::inverse ( vhdMatrix3 rkInverse,
vhtReal  fTolerance = 1e-06 
) const

vhdMatrix3 vhdMatrix3::inverse ( vhtReal  fTolerance = 1e-06  )  const

vhtReal vhdMatrix3::determinant (  )  const

void vhdMatrix3::singularValueDecomposition ( vhdMatrix3 rkL,
vhdVector3 rkS,
vhdMatrix3 rkR 
) const

void vhdMatrix3::singularValueComposition ( const vhdMatrix3 rkL,
const vhdVector3 rkS,
const vhdMatrix3 rkR 
)

void vhdMatrix3::orthonormalize (  ) 

void vhdMatrix3::qduDecomposition ( vhdMatrix3 rkQ,
vhdVector3 rkD,
vhdVector3 rkU 
) const

vhtReal vhdMatrix3::spectralNorm (  )  const

void vhdMatrix3::toAxisAngle ( vhdVector3 rkAxis,
vhtReal rfRadians 
) const

void vhdMatrix3::fromAxisAngle ( const vhdVector3 rkAxis,
vhtReal  fRadians 
)

bool vhdMatrix3::toEulerAnglesXYZ ( float &  rfYAngle,
float &  rfPAngle,
float &  rfRAngle 
) const

bool vhdMatrix3::toEulerAnglesXZY ( float &  rfYAngle,
float &  rfPAngle,
float &  rfRAngle 
) const

bool vhdMatrix3::toEulerAnglesYXZ ( float &  rfYAngle,
float &  rfPAngle,
float &  rfRAngle 
) const

bool vhdMatrix3::toEulerAnglesYZX ( float &  rfYAngle,
float &  rfPAngle,
float &  rfRAngle 
) const

bool vhdMatrix3::toEulerAnglesZXY ( float &  rfYAngle,
float &  rfPAngle,
float &  rfRAngle 
) const

bool vhdMatrix3::toEulerAnglesZYX ( float &  rfYAngle,
float &  rfPAngle,
float &  rfRAngle 
) const

void vhdMatrix3::fromEulerAnglesXYZ ( float  fYAngle,
float  fPAngle,
float  fRAngle 
)

void vhdMatrix3::fromEulerAnglesXZY ( float  fYAngle,
float  fPAngle,
float  fRAngle 
)

void vhdMatrix3::fromEulerAnglesYXZ ( float  fYAngle,
float  fPAngle,
float  fRAngle 
)

void vhdMatrix3::fromEulerAnglesYZX ( float  fYAngle,
float  fPAngle,
float  fRAngle 
)

void vhdMatrix3::fromEulerAnglesZXY ( float  fYAngle,
float  fPAngle,
float  fRAngle 
)

void vhdMatrix3::fromEulerAnglesZYX ( float  fYAngle,
float  fPAngle,
float  fRAngle 
)

void vhdMatrix3::eigenSolveSymmetric ( vhtReal  afEigenvalue[3],
vhdVector3  akEigenvhdVector[3] 
) const

void vhdMatrix3::tensorProduct ( const vhdVector3 rkU,
const vhdVector3 rkV,
vhdMatrix3 rkProduct 
) [static]

void vhdMatrix3::tridiagonal ( vhtReal  afDiag[3],
vhtReal  afSubDiag[3] 
)

bool vhdMatrix3::qLAlgorithm ( vhtReal  afDiag[3],
vhtReal  afSubDiag[3] 
)

void vhdMatrix3::bidiagonalize ( vhdMatrix3 kA,
vhdMatrix3 kL,
vhdMatrix3 kR 
) [static]

void vhdMatrix3::golubKahanStep ( vhdMatrix3 kA,
vhdMatrix3 kL,
vhdMatrix3 kR 
) [static]

vhtReal vhdMatrix3::maxCubicRoot ( vhtReal  afCoeff[3]  )  [static]


Friends And Related Function Documentation

friend class vhdMatrix4 [friend]

vhdVector3 operator * ( const vhdVector3 rkvhdVector,
const vhdMatrix3 rkMatrix 
) [friend]

vhdMatrix3 operator * ( vhtReal  fScalar,
const vhdMatrix3 rkMatrix 
) [friend]


Member Data Documentation

const vhdMatrix3 vhdMatrix3::ZERO [static]

const vhdMatrix3 vhdMatrix3::IDENTITY [static]

const vhtReal vhdMatrix3::ms_fSvdEpsilon [static]

const int vhdMatrix3::ms_iSvdMaxIterations [static]

vhtReal vhdMatrix3::m[3][3]


Generated on Thu Jan 18 10:06:24 2007 for vhdPLUS by  doxygen 1.5.1-p1