iso::math::MatrixH< Type > Class Template Reference

nxn matrix class More...

#include <iso_math_matrixh.h>

Inherits iso::math::Matrix< Type >< Type >.

Inheritance diagram for iso::math::MatrixH< Type >:

Inheritance graph
[legend]
Collaboration diagram for iso::math::MatrixH< Type >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MatrixH ()
 create default zero matrix
 MatrixH (size_t pDim)
 create zero matrix
 MatrixH (size_t pDim, Type pValue)
 create matrix containing identical values
 MatrixH (size_t pDim, Type *pValues)
 create matrix
 MatrixH (const MatrixH< Type > &pMatrix)
 copy constructor
 MatrixH (const Matrix< Type > &pMatrix) throw (MathException)
 copy constructor
virtual ~MatrixH ()
 destructor
void setZero ()
 set all matrix elements to zer
void setIdentity ()
 set matrix elements to those of an identity matrix
virtual Matrix< Type > getInverse () const
 get inverse of matrix
virtual void getInverse (Matrix< Type > &pMatrix) const throw (MathException)
 calculate inverse of a matrix
virtual Matrix< Type > getInverseScale () const
 inverse scale of matrix
virtual void getInverseScale (Matrix< Type > &pMatrix) const
 calculate inverse scale of matrix
void scale (Type pScale)
 change scale
void scale (const Type *pScale)
 change scale
void scale (const Vector< Type > &pScale) throw (MathException)
 change scale
void setScale (Type pScale)
 set scale
void setScale (const Type *pScale)
 set scale
void setScale (const Vector< Type > &pScale) throw (MathException)
 set scale
void translate (const Type *pTrans)
 change translation
void translate (const Vector< Type > &pTrans) throw (MathException)
 change translation
void setTranslation (const Type *pTrans)
 set translation
void setTranslation (const Vector< Type > &pTrans) throw (MathException)
 set translation
void rotate (Type pAngle, const Vector< Type > &pAxis) throw (MathException)
 change rotation
void setRotation (Type pAngle, const Vector< Type > &pAxis) throw (MathException)
 set rotation
Vector< Type > multiply (const Vector< Type > &pVec) const throw (MathException)
 multiply vector/point in homogenous coordinates
Vector< Type > multiply (const Vector< Type > &pVec, Type pHValue) const throw (MathException)
 multiply standard coordinate vector

Detailed Description

template<class Type>
class iso::math::MatrixH< Type >

nxn matrix class

class

Created by Daniel Bisig on 7/16/06. Copyright 2006 Daniel Bisig All rights reserved.


Constructor & Destructor Documentation

template<class Type>
iso::math::MatrixH< Type >::MatrixH (  ) 

create default zero matrix

template<class Type>
iso::math::MatrixH< Type >::MatrixH ( size_t  pDim  ) 

create zero matrix

Parameters:
pDim dimension of matrix

template<class Type>
iso::math::MatrixH< Type >::MatrixH ( size_t  pDim,
Type  pValue 
)

create matrix containing identical values

Parameters:
pDim dimension of matrix
pValue value

template<class Type>
iso::math::MatrixH< Type >::MatrixH ( size_t  pDim,
Type *  pValues 
)

create matrix

Parameters:
pDim dimension of matrix
pValues values (must be of correct size!)

template<class Type>
iso::math::MatrixH< Type >::MatrixH ( const MatrixH< Type > &  pMatrix  ) 

copy constructor

Parameters:
pMatrix matrix

template<class Type>
iso::math::MatrixH< Type >::MatrixH ( const Matrix< Type > &  pMatrix  )  throw (MathException)

copy constructor

Parameters:
pMatrix matrix
Exceptions:
MathException pMatrix not a NxN matrix

template<class Type>
iso::math::MatrixH< Type >::~MatrixH (  )  [virtual]

destructor


Member Function Documentation

template<class Type>
void iso::math::MatrixH< Type >::setZero (  ) 

set all matrix elements to zer

template<class Type>
void iso::math::MatrixH< Type >::setIdentity (  ) 

set matrix elements to those of an identity matrix

template<class Type>
Matrix< Type > iso::math::MatrixH< Type >::getInverse (  )  const [virtual]

get inverse of matrix

Returns:
inverse of matrix

template<class Type>
void iso::math::MatrixH< Type >::getInverse ( Matrix< Type > &  pMatrix  )  const throw (MathException) [virtual]

calculate inverse of a matrix

Parameters:
pMatrix inverse matrix
Exceptions:
MathException matrix dimension mismatch

template<class Type>
Matrix< Type > iso::math::MatrixH< Type >::getInverseScale (  )  const [virtual]

inverse scale of matrix

Returns:
inverse scale of matrix

template<class Type>
void iso::math::MatrixH< Type >::getInverseScale ( Matrix< Type > &  pMatrix  )  const [virtual]

calculate inverse scale of matrix

Parameters:
pMatrix inversed scale matrix

template<class Type>
void iso::math::MatrixH< Type >::scale ( Type  pScale  ) 

change scale

Parameters:
pScale uniform scale

template<class Type>
void iso::math::MatrixH< Type >::scale ( const Type *  pScale  ) 

change scale

Parameters:
pScale non-uniform scale values
Remarks:
no size check is performed on array

template<class Type>
void iso::math::MatrixH< Type >::scale ( const Vector< Type > &  pScale  )  throw (MathException)

change scale

Parameters:
pScale non-uniform scale values
Exceptions:
MathException wrong scale vector dimension

template<class Type>
void iso::math::MatrixH< Type >::setScale ( Type  pScale  ) 

set scale

Parameters:
pScale uniform scale

template<class Type>
void iso::math::MatrixH< Type >::setScale ( const Type *  pScale  ) 

set scale

Parameters:
pScale non-uniform scale values
Remarks:
no size check is performed on array

template<class Type>
void iso::math::MatrixH< Type >::setScale ( const Vector< Type > &  pScale  )  throw (MathException)

set scale

Parameters:
pScale non-uniform scale values
Exceptions:
MathException wrong scale vector dimension

template<class Type>
void iso::math::MatrixH< Type >::translate ( const Type *  pTrans  ) 

change translation

Parameters:
pTrans translation values
Remarks:
no size check is performed on array

template<class Type>
void iso::math::MatrixH< Type >::translate ( const Vector< Type > &  pTrans  )  throw (MathException)

change translation

Parameters:
pTrans translation values
Exceptions:
MathException wrong translation vector dimension

template<class Type>
void iso::math::MatrixH< Type >::setTranslation ( const Type *  pTrans  ) 

set translation

Parameters:
pTrans translation values
Remarks:
no size check is performed on array

template<class Type>
void iso::math::MatrixH< Type >::setTranslation ( const Vector< Type > &  pTrans  )  throw (MathException)

set translation

Parameters:
pTrans translation values
Exceptions:
MathException wrong translation vector dimension

template<class Type>
void iso::math::MatrixH< Type >::rotate ( Type  pAngle,
const Vector< Type > &  pAxis 
) throw (MathException)

change rotation

Parameters:
pAngle rotation angle
pAxis rotation axis
Exceptions:
MathException wrong rotation axis vector dimension

template<class Type>
void iso::math::MatrixH< Type >::setRotation ( Type  pAngle,
const Vector< Type > &  pAxis 
) throw (MathException)

set rotation

Parameters:
pAngle rotation angle
pAxis rotation axis
Exceptions:
MathException wrong rotation axis vector dimension

template<class Type>
Vector< Type > iso::math::MatrixH< Type >::multiply ( const Vector< Type > &  pVec  )  const throw (MathException)

multiply vector/point in homogenous coordinates

Parameters:
pVec vector/point in homogenous coordinates
Returns:
vector in homogenous coordinates
Exceptions:
MathException wrong vector dimension

template<class Type>
Vector< Type > iso::math::MatrixH< Type >::multiply ( const Vector< Type > &  pVec,
Type  pHValue 
) const throw (MathException)

multiply standard coordinate vector

Parameters:
pVec vector in standard coordinates
pHValue homogenous last coordinate: 0 : vector 1: point
Returns:
vector in standard coordinates
Exceptions:
MathException wrong vector dimension


The documentation for this class was generated from the following file:
Generated on Fri Feb 25 14:04:07 2011 for iso_math by  doxygen 1.5.1