TexGen
|
Class to represent a matrix and perform various operations on it. More...
#include <Matrix.h>
Public Member Functions | |
CMatrix () | |
CMatrix (int iHeight, int iWidth) | |
CMatrix (const CMatrix &CopyMe) | |
~CMatrix (void) | |
void | Initialise (int iHeight, int iWidth) |
void | InitialiseIdentity (int iSize) |
CMatrix | GetTranspose () |
CMatrix & | GetSubMatrix (CMatrix &SubMatrix, int iRow, int iColumn) const |
void | SetSubMatrix (CMatrix &SubMatrix, int iRow, int iColumn) |
void | ZeroMatrix () |
double & | operator() (int i, int j) |
const double & | operator() (int i, int j) const |
const double | GetValue (int i, int j) const |
void | SetValue (int i, int j, double dVal) |
CMatrix | operator* (const CMatrix &RightMatrix) const |
CMatrix | operator* (double dRight) const |
CMatrix | operator+ (const CMatrix &RightMatrix) const |
CMatrix | operator- (const CMatrix &RightMatrix) const |
CMatrix & | operator*= (double dRight) |
CMatrix & | operator/= (double dRight) |
CMatrix & | operator+= (const CMatrix &RightMatrix) |
CMatrix & | operator-= (const CMatrix &RightMatrix) |
CMatrix & | operator= (const CMatrix &RightMatrix) |
double | GetDeterminant () const |
double | GetInverse (CMatrix &Inverse) const |
void | GetSquareRoot (CMatrix &Root) const |
void | GetEigen (CMatrix &EigenVectors, CMatrix &EigenValues) const |
void | GetPolarDecomposition (CMatrix &U, CMatrix &P) const |
bool | Empty () const |
int | GetHeight () const |
int | GetWidth () const |
void | SwapRows (int iRow1, int iRow2) |
void | SwapColumns (int iColumn1, int iColumn2) |
void | DivideRow (int iRow, double dDivisor) |
void | DivideColumn (int iColumn, double dDivisor) |
void | SubtractRow (int iRow1, int iRow2, double dScale) |
void | SubtractColumn (int iColumn1, int iColumn2, double dScale) |
void | Identity () |
CMatrix & | EqualsMultiple (const CMatrix &LeftMatrix, const CMatrix &RightMatrix) |
This function multiplies the left matrix with the right matrix. More... | |
CMatrix & | EqualsTransposeMultiple (const CMatrix &LeftMatrix, const CMatrix &RightMatrix) |
This function multiplies the transpose of the left matrix with the right matrix. More... | |
CMatrix & | EqualsMultipleTranspose (const CMatrix &LeftMatrix, const CMatrix &RightMatrix) |
This function multiplies the transpose of the left matrix with the right matrix. More... | |
void | PrintMatrix (char szMatrixName[], ostream &Output=cout, int iWidth=16, bool bScientific=true) |
Protected Member Functions | |
double | GetInverseSlow (CMatrix &Inverse) const |
Protected Attributes | |
int | m_iWidth |
int | m_iHeight |
double * | m_dMatrix |
Class to represent a matrix and perform various operations on it.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 171 of file Matrix.h.
References m_iHeight, and m_iWidth.
Referenced by operator+=(), and operator-=().
|
inline |
This function multiplies the left matrix with the right matrix.
Warning, LeftMatrix and RightMatrix parameters should not be equal to this
Definition at line 293 of file Matrix.h.
References Initialise(), m_iHeight, m_iWidth, and ZeroMatrix().
Referenced by TexGen::CElement::GetBMatrix(), TexGen::CElementTriTension::GetDMatrix(), TexGen::CInterpolationCubic::GetNaturalCubicSplines(), TexGen::CInterpolationCubic::GetPeriodicCubicSplines(), GetPolarDecomposition(), and GetSquareRoot().
|
inline |
This function multiplies the transpose of the left matrix with the right matrix.
Warning, LeftMatrix and RightMatrix parameters should not be equal to this
Definition at line 347 of file Matrix.h.
References Initialise(), m_iHeight, m_iWidth, and ZeroMatrix().
Referenced by TexGen::CElementTriBending::GetDMatrix().
|
inline |
This function multiplies the transpose of the left matrix with the right matrix.
Warning, LeftMatrix and RightMatrix parameters should not be equal to this
Definition at line 320 of file Matrix.h.
References Initialise(), m_iHeight, m_iWidth, and ZeroMatrix().
Referenced by TexGen::CElement::GetKeMatrix(), and GetPolarDecomposition().
|
inline |
Definition at line 489 of file Matrix.h.
References GetInverse(), m_iHeight, and m_iWidth.
Referenced by TexGen::CElementTri::GetArea(), GetInverse(), and GetInverseSlow().
Definition at line 827 of file Matrix.h.
References Initialise(), m_iHeight, and m_iWidth.
Referenced by GetSquareRoot().
|
inline |
Definition at line 176 of file Matrix.h.
References m_iHeight.
Referenced by TexGen::CLinearTransformation::CLinearTransformation().
|
inline |
Definition at line 544 of file Matrix.h.
References GetDeterminant(), Identity(), Initialise(), m_iHeight, and m_iWidth.
Referenced by TexGen::CDomainPlanes::Deform(), TexGen::CElement::GetBMatrix(), GetDeterminant(), TexGen::CElementTriBending::GetDMatrix(), TexGen::CElementTriTension::GetDMatrix(), TexGen::CInterpolationCubic::GetNaturalCubicSplines(), TexGen::CInterpolationCubic::GetPeriodicCubicSplines(), GetPolarDecomposition(), and GetSquareRoot().
|
inlineprotected |
Definition at line 677 of file Matrix.h.
References GetDeterminant(), GetSubMatrix(), Initialise(), m_iHeight, and m_iWidth.
Definition at line 817 of file Matrix.h.
References EqualsMultiple(), EqualsTransposeMultiple(), GetInverse(), GetSquareRoot(), m_iHeight, and m_iWidth.
|
inline |
Definition at line 461 of file Matrix.h.
References EqualsMultiple(), GetEigen(), GetInverse(), m_iHeight, and m_iWidth.
Referenced by GetPolarDecomposition().
Definition at line 793 of file Matrix.h.
References Initialise(), m_iHeight, and m_iWidth.
Referenced by GetInverseSlow().
|
inline |
Definition at line 220 of file Matrix.h.
References m_iHeight, and m_iWidth.
Referenced by TexGen::CDomainPlanes::Deform().
|
inline |
Definition at line 200 of file Matrix.h.
References m_dMatrix, and m_iWidth.
Referenced by SetSubMatrix().
|
inline |
Definition at line 181 of file Matrix.h.
References m_iWidth.
Referenced by TexGen::CLinearTransformation::CLinearTransformation().
|
inline |
Definition at line 527 of file Matrix.h.
References m_iHeight, and m_iWidth.
Referenced by GetInverse(), InitialiseIdentity(), and TexGen::CLinearTransformation::ResetTransformation().
|
inline |
Definition at line 144 of file Matrix.h.
References m_dMatrix, m_iHeight, m_iWidth, and ZeroMatrix().
Referenced by EqualsMultiple(), EqualsMultipleTranspose(), EqualsTransposeMultiple(), TexGen::CElementTriBending::GetAMatrix(), TexGen::CElementTriTension::GetAMatrix(), TexGen::CElementTriBending::GetDMatrix(), TexGen::CElementTriTension::GetDMatrix(), GetEigen(), TexGen::CElementTri::GetIntegrationPoints(), GetInverse(), GetInverseSlow(), GetSubMatrix(), TexGen::CElementTriBending::GetXMatrix(), TexGen::CElementTriTension::GetXMatrix(), TexGen::operator*(), operator+=(), operator-=(), and operator=().
|
inline |
Definition at line 155 of file Matrix.h.
References Identity(), m_dMatrix, m_iHeight, and m_iWidth.
Referenced by TexGen::CLinearTransformation::AddScale(), TexGen::CLinearTransformation::CLinearTransformation(), TexGen::ConvertRotation(), and TexGen::CTextileDeformer::CTextileDeformer().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 437 of file Matrix.h.
References m_iHeight, and m_iWidth.
Referenced by TexGen::operator<<().
|
inline |
Definition at line 1119 of file Matrix.h.
References GetValue(), m_iHeight, and m_iWidth.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 215 of file Matrix.h.
References m_dMatrix, m_iHeight, and m_iWidth.
Referenced by CMatrix(), EqualsMultiple(), EqualsMultipleTranspose(), EqualsTransposeMultiple(), TexGen::CElement::GetKeMatrix(), and Initialise().
|
protected |
Definition at line 101 of file Matrix.h.
Referenced by CMatrix(), GetValue(), Initialise(), InitialiseIdentity(), operator()(), operator+(), operator-(), operator=(), SetValue(), ZeroMatrix(), and ~CMatrix().
|
protected |
Definition at line 100 of file Matrix.h.
Referenced by CMatrix(), DivideColumn(), DivideRow(), Empty(), EqualsMultiple(), EqualsMultipleTranspose(), EqualsTransposeMultiple(), GetDeterminant(), GetEigen(), GetHeight(), GetInverse(), GetInverseSlow(), GetPolarDecomposition(), GetSquareRoot(), GetSubMatrix(), GetTranspose(), Identity(), Initialise(), InitialiseIdentity(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/=(), operator=(), PrintMatrix(), SetSubMatrix(), SubtractColumn(), SubtractRow(), SwapColumns(), SwapRows(), and ZeroMatrix().
|
protected |
Definition at line 99 of file Matrix.h.
Referenced by CMatrix(), DivideColumn(), DivideRow(), Empty(), EqualsMultiple(), EqualsMultipleTranspose(), EqualsTransposeMultiple(), GetDeterminant(), GetEigen(), GetInverse(), GetInverseSlow(), GetPolarDecomposition(), GetSquareRoot(), GetSubMatrix(), GetTranspose(), GetValue(), GetWidth(), Identity(), Initialise(), InitialiseIdentity(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/=(), operator=(), PrintMatrix(), SetSubMatrix(), SetValue(), SubtractColumn(), SubtractRow(), SwapColumns(), SwapRows(), and ZeroMatrix().