Public Member Functions | Static Public Member Functions

zeus::TSquareMatrix3 Class Reference

#include <SquareMatrix3.h>

Inheritance diagram for zeus::TSquareMatrix3:
zeus::ISquareMatrix3 zeus::IMatrix

List of all members.

Public Member Functions

 TSquareMatrix3 (const Float &f11, const Float &f12, const Float &f13, const Float &f21, const Float &f22, const Float &f23, const Float &f31, const Float &f32, const Float &f33)
 TSquareMatrix3 ()
 Default constructor, initializing as zero matrix.
 TSquareMatrix3 (const TSquareMatrix3 &rMatrix)
 Copy constructor: Constructor taking class type matrix.
 TSquareMatrix3 (const ISquareMatrix3 &rMatrix)
 Copy constructor: Constructor taking interface type matrix.
 TSquareMatrix3 (const IMatrix &rMatrix)
 Constructor taking generic IMatrix type matrix.
virtual ~TSquareMatrix3 ()
 Virtual destructor.
virtual void MQUALIFIER setValues (const Float &f11, const Float &f12, const Float &f13, const Float &f21, const Float &f22, const Float &f23, const Float &f31, const Float &f32, const Float &f33)
virtual void MQUALIFIER initAsRotationXMatrix (const IAngle &rAngle)
virtual void MQUALIFIER initAsRotationYMatrix (const IAngle &rAngle)
virtual void MQUALIFIER initAsRotationZMatrix (const IAngle &rAngle)
virtual void MQUALIFIER assign (const IMatrix &rMatrix)
virtual Float MQUALIFIER calcDeterminant () const
virtual bool MQUALIFIER calcInverse (IMatrix &rInverseMatrix) const
virtual void MQUALIFIER calcTransposed (IMatrix &rTransposedMatrix) const
virtual bool MQUALIFIER equals (const IMatrix &rMatrix, Float fPrecision=FLOAT_PRECISION) const
virtual Float MQUALIFIER getCell (Int iRow, Int iColumn, bool *pbError=NULL) const
virtual bool MQUALIFIER getRow (Int iRow, IVector &rVector) const
virtual bool MQUALIFIER getColumn (Int iColumn, IVector &rVector) const
virtual bool MQUALIFIER getDiagonalVector (IVector &rDiagVector) const
virtual Int MQUALIFIER getRowCount () const
virtual Int MQUALIFIER getColumnCount () const
virtual void MQUALIFIER initAsIdentityMatrix ()
virtual void MQUALIFIER initAsZeroMatrix ()
virtual bool MQUALIFIER invert ()
virtual bool MQUALIFIER isIdentityMatrix () const
virtual bool MQUALIFIER isInvertible () const
virtual bool MQUALIFIER isSquaredMatrix () const
virtual bool MQUALIFIER isZeroMatrix () const
virtual bool MQUALIFIER setCell (Int iRow, Int iColumn, const Float &rValue)
virtual bool MQUALIFIER setRow (Int iRow, const IVector &rVector)
virtual bool MQUALIFIER setColumn (Int iColumn, const IVector &rVector)
virtual void MQUALIFIER setDiagonalValue (const Float &fValue)
virtual void MQUALIFIER setDiagonalVector (const IVector &rDiagVector)
virtual Retval MQUALIFIER setDimensions (Int iRows, Int iColumns)
virtual bool MQUALIFIER swapCells (Int iRow1, Int iColumn1, Int iRow2, Int iColumn2)
virtual void MQUALIFIER transpose ()
virtual Float MQUALIFIER getEntropy () const
virtual void MQUALIFIER addConstant (Float fConstant)
virtual void MQUALIFIER multiplyConstant (Float fConstant)
TSquareMatrix3 operator+ (const Float &f) const
TSquareMatrix3 operator- (const Float &f) const
TVector3D operator* (const IVector3D &rVector) const
TSquareMatrix3 operator* (const TSquareMatrix3 &rMatrix) const
TSquareMatrix3 operator* (const Float &f) const
TSquareMatrix3 operator/ (const Float &f) const
const TSquareMatrix3operator+= (const Float &f)
const TSquareMatrix3operator-= (const Float &f)
const TSquareMatrix3operator*= (const Float &f)
const TSquareMatrix3operator/= (const Float &f)
const TSquareMatrix3operator= (const IMatrix &rMatrix)
const TSquareMatrix3operator= (const TSquareMatrix3 &rMatrix)
bool operator== (const IMatrix &rMatrix) const
bool operator!= (const IMatrix &rMatrix) const

Static Public Member Functions

static const TSquareMatrix3getZeroMatrix ()
 Returns the zero matrix.
static const TSquareMatrix3getIdentityMatrix ()
 Returns the identity matrix.

Detailed Description

TSquareMatrix3 encapsulates a 3x3 (SQUAREMATRIX3_DIMENSIONS) floating point matrix for coordinate transformations.

TSquareMatrix3 objects are stack objects.


Constructor & Destructor Documentation

zeus::TSquareMatrix3::TSquareMatrix3 ( const Float &  f11,
const Float &  f12,
const Float &  f13,
const Float &  f21,
const Float &  f22,
const Float &  f23,
const Float &  f31,
const Float &  f32,
const Float &  f33 
)

Constructor taking the values of all cells. All parameters are labeled as ij (Value of cell at row i and column j)

Parameters:
f11[IN]: Value of cell at row 1 and column 1.
f12[IN]: Value of cell at row 1 and column 2.
f13[IN]: Value of cell at row 1 and column 3.
f21[IN]: Value of cell at row 2 and column 1.
f22[IN]: Value of cell at row 2 and column 2.
f23[IN]: Value of cell at row 2 and column 3.
f31[IN]: Value of cell at row 3 and column 1.
f32[IN]: Value of cell at row 3 and column 2.
f33[IN]: Value of cell at row 3 and column 3.
zeus::TSquareMatrix3::TSquareMatrix3 (  ) [inline]

Default constructor, initializing as zero matrix.

zeus::TSquareMatrix3::TSquareMatrix3 ( const TSquareMatrix3 rMatrix ) [inline]

Copy constructor: Constructor taking class type matrix.

zeus::TSquareMatrix3::TSquareMatrix3 ( const ISquareMatrix3 rMatrix ) [inline]

Copy constructor: Constructor taking interface type matrix.

zeus::TSquareMatrix3::TSquareMatrix3 ( const IMatrix rMatrix ) [inline]

Constructor taking generic IMatrix type matrix.

virtual zeus::TSquareMatrix3::~TSquareMatrix3 (  ) [inline, virtual]

Virtual destructor.


Member Function Documentation

void MQUALIFIER zeus::TSquareMatrix3::addConstant ( Float  fConstant ) [virtual]
See also:
IMatrix::addConstant

Implements zeus::IMatrix.

void MQUALIFIER zeus::TSquareMatrix3::assign ( const IMatrix rMatrix ) [virtual]
See also:
IMatrix::assign

Implements zeus::IMatrix.

Float MQUALIFIER zeus::TSquareMatrix3::calcDeterminant (  ) const [virtual]
bool MQUALIFIER zeus::TSquareMatrix3::calcInverse ( IMatrix rInverseMatrix ) const [virtual]
See also:
IMatrix::calcInverse

Implements zeus::IMatrix.

void MQUALIFIER zeus::TSquareMatrix3::calcTransposed ( IMatrix rTransposedMatrix ) const [virtual]
See also:
IMatrix::calcTransposed

Implements zeus::IMatrix.

bool MQUALIFIER zeus::TSquareMatrix3::equals ( const IMatrix rMatrix,
Float  fPrecision = FLOAT_PRECISION 
) const [virtual]
See also:
IMatrix::equals

Implements zeus::IMatrix.

Float MQUALIFIER zeus::TSquareMatrix3::getCell ( Int  iRow,
Int  iColumn,
bool *  pbError = NULL 
) const [virtual]
See also:
IMatrix::getCell

Implements zeus::IMatrix.

bool MQUALIFIER zeus::TSquareMatrix3::getColumn ( Int  iColumn,
IVector rVector 
) const [virtual]
See also:
IMatrix::getColumn

Implements zeus::IMatrix.

Int MQUALIFIER zeus::TSquareMatrix3::getColumnCount (  ) const [inline, virtual]
See also:
IMatrix::getColumnCount

Implements zeus::IMatrix.

bool MQUALIFIER zeus::TSquareMatrix3::getDiagonalVector ( IVector rDiagVector ) const [inline, virtual]
Float MQUALIFIER zeus::TSquareMatrix3::getEntropy (  ) const [virtual]
See also:
IMatrix::getEntropy

Implements zeus::IMatrix.

static const TSquareMatrix3& zeus::TSquareMatrix3::getIdentityMatrix (  ) [inline, static]

Returns the identity matrix.

bool MQUALIFIER zeus::TSquareMatrix3::getRow ( Int  iRow,
IVector rVector 
) const [virtual]
See also:
IMatrix::getRow

Implements zeus::IMatrix.

Int MQUALIFIER zeus::TSquareMatrix3::getRowCount (  ) const [inline, virtual]
See also:
IMatrix::getRowCount

Implements zeus::IMatrix.

static const TSquareMatrix3& zeus::TSquareMatrix3::getZeroMatrix (  ) [inline, static]

Returns the zero matrix.

void MQUALIFIER zeus::TSquareMatrix3::initAsIdentityMatrix (  ) [inline, virtual]
void MQUALIFIER zeus::TSquareMatrix3::initAsRotationXMatrix ( const IAngle rAngle ) [virtual]
void MQUALIFIER zeus::TSquareMatrix3::initAsRotationYMatrix ( const IAngle rAngle ) [virtual]
void MQUALIFIER zeus::TSquareMatrix3::initAsRotationZMatrix ( const IAngle rAngle ) [virtual]
void MQUALIFIER zeus::TSquareMatrix3::initAsZeroMatrix (  ) [inline, virtual]
bool MQUALIFIER zeus::TSquareMatrix3::invert (  ) [virtual]
See also:
IMatrix::invert

Implements zeus::IMatrix.

bool MQUALIFIER zeus::TSquareMatrix3::isIdentityMatrix (  ) const [inline, virtual]
bool MQUALIFIER zeus::TSquareMatrix3::isInvertible (  ) const [inline, virtual]
See also:
IMatrix::isInvertible

Implements zeus::IMatrix.

bool MQUALIFIER zeus::TSquareMatrix3::isSquaredMatrix (  ) const [inline, virtual]
bool MQUALIFIER zeus::TSquareMatrix3::isZeroMatrix (  ) const [inline, virtual]
See also:
IMatrix::isZeroMatrix

Implements zeus::IMatrix.

void MQUALIFIER zeus::TSquareMatrix3::multiplyConstant ( Float  fConstant ) [virtual]
bool zeus::TSquareMatrix3::operator!= ( const IMatrix rMatrix ) const [inline]

Inequality to another matrix?

Parameters:
rMatrix[IN]: The other matrix.
Return values:
true: Inequality.
false,:equal
TSquareMatrix3 zeus::TSquareMatrix3::operator* ( const Float &  f ) const

Scalar multiplication.

Parameters:
f[IN]: Multiplication factor to apply to all cells.
Returns:
Multiplied matrix.
TVector3D zeus::TSquareMatrix3::operator* ( const IVector3D rVector ) const

Vector multiplication.

Parameters:
rVector[IN]: Vector to be multiplied with this matrix.
Returns:
Resulting vector.
TSquareMatrix3 zeus::TSquareMatrix3::operator* ( const TSquareMatrix3 rMatrix ) const

Matrix multiplication.

Parameters:
rMatrix[IN]: Matrix to be multiplied with this matrix.
Returns:
Resulting matrix.
const TSquareMatrix3 & zeus::TSquareMatrix3::operator*= ( const Float &  f ) [inline]

Multiply this matrix by a float value, and assign the result to this matrix.

Parameters:
f[IN]: Float value.
Returns:
const reference to this matrix after the assignment.
TSquareMatrix3 zeus::TSquareMatrix3::operator+ ( const Float &  f ) const

Adds a value to each cell

Parameters:
f[IN]: constant to apply to all cells.
Returns:
Added matrix.
const TSquareMatrix3 & zeus::TSquareMatrix3::operator+= ( const Float &  f ) [inline]

adds a float value to this matrix .

Parameters:
f[IN]: Float value.
Returns:
const reference to this matrix after the assignment.
TSquareMatrix3 zeus::TSquareMatrix3::operator- ( const Float &  f ) const [inline]

Subtracts a value from each cell

Parameters:
f[IN]: constant to apply to all cells.
Returns:
Resulting matrix.
const TSquareMatrix3 & zeus::TSquareMatrix3::operator-= ( const Float &  f ) [inline]

subtracts a float value from this matrix .

Parameters:
f[IN]: Float value.
Returns:
const reference to this matrix after the assignment.
TSquareMatrix3 zeus::TSquareMatrix3::operator/ ( const Float &  f ) const [inline]

Divides each component of the matrix by a float value, and returns the resulting matrix

Parameters:
f[IN]: Float value.
Returns:
Resulting matrix
const TSquareMatrix3 & zeus::TSquareMatrix3::operator/= ( const Float &  f ) [inline]

Divides each component of the matrix by a float value, and assigns the result to this matrix.

Parameters:
f[IN]: Float value.
Returns:
const reference to this matrix after the assignment.
const TSquareMatrix3 & zeus::TSquareMatrix3::operator= ( const IMatrix rMatrix ) [inline]

Assignment of interface type object.

Parameters:
rMatrix[IN]: Matrix to be assigned to this matrix.
Returns:
const reference to this matrix after the assignment.
const TSquareMatrix3 & zeus::TSquareMatrix3::operator= ( const TSquareMatrix3 rMatrix ) [inline]

Assignment of class type object.

Parameters:
rMatrix[IN]: Matrix to be assigned to this matrix.
Returns:
const reference to this matrix after the assignment.
bool zeus::TSquareMatrix3::operator== ( const IMatrix rMatrix ) const [inline]

Equality to another matrix?

Parameters:
rMatrix[IN]: The other matrix.
Returns:
Equality.
bool MQUALIFIER zeus::TSquareMatrix3::setCell ( Int  iRow,
Int  iColumn,
const Float &  fValue 
) [virtual]
See also:
IMatrix::setCell

Implements zeus::IMatrix.

bool MQUALIFIER zeus::TSquareMatrix3::setColumn ( Int  iColumn,
const IVector rVector 
) [virtual]
See also:
IMatrix::setColumn

Implements zeus::IMatrix.

void MQUALIFIER zeus::TSquareMatrix3::setDiagonalValue ( const Float &  fValue ) [inline, virtual]
void MQUALIFIER zeus::TSquareMatrix3::setDiagonalVector ( const IVector rDiagVector ) [inline, virtual]
Retval MQUALIFIER zeus::TSquareMatrix3::setDimensions ( Int  iRows,
Int  iColumns 
) [inline, virtual]
See also:
IMatrix::setDimensions

Implements zeus::IMatrix.

bool MQUALIFIER zeus::TSquareMatrix3::setRow ( Int  iRow,
const IVector rVector 
) [virtual]
See also:
IMatrix::setRow

Implements zeus::IMatrix.

void MQUALIFIER zeus::TSquareMatrix3::setValues ( const Float &  f11,
const Float &  f12,
const Float &  f13,
const Float &  f21,
const Float &  f22,
const Float &  f23,
const Float &  f31,
const Float &  f32,
const Float &  f33 
) [virtual]
bool MQUALIFIER zeus::TSquareMatrix3::swapCells ( Int  iRow1,
Int  iColumn1,
Int  iRow2,
Int  iColumn2 
) [virtual]
See also:
IMatrix::swapCells

Implements zeus::IMatrix.

void MQUALIFIER zeus::TSquareMatrix3::transpose (  ) [virtual]
See also:
IMatrix::transpose

Implements zeus::IMatrix.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:32:27