Matrix3D< TMatrix2D > Class Template Reference

stores a set of ordinatry matrices More...

#include <Matrix3D.h>

Collaboration diagram for Matrix3D< TMatrix2D >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef TMatrix2D Matrix2D_Type

Public Member Functions

 ~Matrix3D ()
constructors

 Matrix3D (unsigned int rows, unsigned int cols, unsigned int depth, const typename TMatrix2D::RingType *ring, string name="")
 Matrix3D (unsigned int rows, unsigned int cols, const vector< TMatrix2D * > &matlist, const typename TMatrix2D::RingType *ring=NULL, string name="")
properties

unsigned int getRowNum () const
unsigned int getColNum () const
unsigned int getZNum () const
 returns number of frontal matrices (spatial z-dimension)
const TMatrix2D::RingType * getRing () const
void setName (string name)
std::string getName (string name) const
data access

void setVal (unsigned int row, unsigned int col, unsigned int z, typename TMatrix2D::ElementType val)
TMatrix2D::ElementType getVal (unsigned int row, unsigned int col, unsigned int z) const
void setFrontalMatrix (unsigned int index, TMatrix2D *matrix)
void appendFrontalMatrix (TMatrix2D *matrix)
TMatrix2D & getFrontalMatrixRef (unsigned int index)
const TMatrix2D & getFrontalMatrixConstRef (unsigned int index) const
operators

Matrix3DleftMultiply (const TMatrix2D *mat) const
 multiplies all frontal matrices with given matrix
Matrix3DrightMultiply (const TMatrix2D *mat) const
 multiplies all frontal matrices with given matrix
Matrix3DgetTransversalForm () const
Matrix3DcomputeFrontalMatrixBasis () const
 Ermittelt eine Basis einer MatrixListe matrix3D, also aller Frontal-Matrizen.
void clear ()
output

void printTransversalView () const
void print3DMatrix (ostream &os) const
void print3DMatrix () const

Private Member Functions

safety

void checkDimensions (unsigned int row, unsigned int col, unsigned int depth) const

Private Attributes

data

unsigned int rows_m
 frontal matrix rows
unsigned int cols_m
 frontal matrix cols
const TMatrix2D::RingType * ring_m
 Matrix Elements are elements of a Ring; each matrix has the same pointer to this ring.
string name_m
vector< TMatrix2D * > matrix2DList_m
 2D matrix list

Detailed Description

template<class TMatrix2D>
class Matrix3D< TMatrix2D >

Note:
Limitations: matrix size = rows * cols must fit in int !
if you put a matrix pointer into Matrix3D object, dont delete the matrix, because Matrix3D will!

/

Todo:
TMatrix, Matrix3D: wenn der Ring-Parameter NULL ist, muss eventuell der gewoehnliche operator* funktionieren (gewoehnliche Multiplikation)

Definition at line 12 of file Matrix3D.h.


Member Typedef Documentation

template<class TMatrix2D>
typedef TMatrix2D Matrix3D< TMatrix2D >::Matrix2D_Type

Definition at line 32 of file Matrix3D.h.


Constructor & Destructor Documentation

template<class TMatrix2D >
Matrix3D< TMatrix2D >::Matrix3D ( unsigned int  rows,
unsigned int  cols,
unsigned int  depth,
const typename TMatrix2D::RingType *  ring,
string  name = "" 
) [inline]
template<class TMatrix2D >
Matrix3D< TMatrix2D >::Matrix3D ( unsigned int  rows,
unsigned int  cols,
const vector< TMatrix2D * > &  matlist,
const typename TMatrix2D::RingType *  ring = NULL,
string  name = "" 
) [inline]
template<class TMatrix2D >
Matrix3D< TMatrix2D >::~Matrix3D (  )  [inline]

Definition at line 333 of file Matrix3D.hpp.

References Matrix3D< TMatrix2D >::matrix2DList_m.


Member Function Documentation

template<class TMatrix2D >
void Matrix3D< TMatrix2D >::appendFrontalMatrix ( TMatrix2D *  matrix  )  [inline]
template<class TMatrix2D >
void Matrix3D< TMatrix2D >::checkDimensions ( unsigned int  row,
unsigned int  col,
unsigned int  depth 
) const [inline, private]
template<class TMatrix2D >
void Matrix3D< TMatrix2D >::clear (  )  [inline]

Definition at line 321 of file Matrix3D.hpp.

References Matrix3D< TMatrix2D >::matrix2DList_m.

template<class TMatrix2D >
Matrix3D< TMatrix2D > * Matrix3D< TMatrix2D >::computeFrontalMatrixBasis (  )  const [inline]
template<class TMatrix2D >
unsigned int Matrix3D< TMatrix2D >::getColNum (  )  const [inline]
template<class TMatrix2D >
const TMatrix2D & Matrix3D< TMatrix2D >::getFrontalMatrixConstRef ( unsigned int  index  )  const [inline]
template<class TMatrix2D >
TMatrix2D & Matrix3D< TMatrix2D >::getFrontalMatrixRef ( unsigned int  index  )  [inline]

Definition at line 142 of file Matrix3D.hpp.

References Matrix3D< TMatrix2D >::matrix2DList_m.

template<class TMatrix2D >
std::string Matrix3D< TMatrix2D >::getName ( string  name  )  const [inline]

Definition at line 65 of file Matrix3D.hpp.

References Matrix3D< TMatrix2D >::name_m.

template<class TMatrix2D >
const TMatrix2D::RingType * Matrix3D< TMatrix2D >::getRing (  )  const [inline]
template<class TMatrix2D >
unsigned int Matrix3D< TMatrix2D >::getRowNum (  )  const [inline]
template<class TMatrix2D >
Matrix3D< TMatrix2D > * Matrix3D< TMatrix2D >::getTransversalForm (  )  const [inline]
template<class TMatrix2D >
TMatrix2D::ElementType Matrix3D< TMatrix2D >::getVal ( unsigned int  row,
unsigned int  col,
unsigned int  z 
) const [inline]
template<class TMatrix2D >
unsigned int Matrix3D< TMatrix2D >::getZNum (  )  const [inline]
template<class TMatrix2D >
Matrix3D< TMatrix2D > * Matrix3D< TMatrix2D >::leftMultiply ( const TMatrix2D *  mat  )  const [inline]
template<class TMatrix2D >
void Matrix3D< TMatrix2D >::print3DMatrix (  )  const [inline]

Definition at line 314 of file Matrix3D.hpp.

template<class TMatrix2D >
void Matrix3D< TMatrix2D >::print3DMatrix ( ostream &  os  )  const [inline]
template<class TMatrix2D >
void Matrix3D< TMatrix2D >::printTransversalView (  )  const [inline]

Definition at line 223 of file Matrix3D.hpp.

References Matrix3D< TMatrix2D >::getTransversalForm(), and Matrix3D< TMatrix2D >::print3DMatrix().

Referenced by nCenterFocus::CenterFocusExperiment< variant >::computeQuadric().

Here is the call graph for this function:

template<class TMatrix2D >
Matrix3D< TMatrix2D > * Matrix3D< TMatrix2D >::rightMultiply ( const TMatrix2D *  mat  )  const [inline]
template<class TMatrix2D >
void Matrix3D< TMatrix2D >::setFrontalMatrix ( unsigned int  index,
TMatrix2D *  matrix 
) [inline]
Todo:
set kann auch durch append ersetzt werden

Definition at line 93 of file Matrix3D.hpp.

References Matrix3D< TMatrix2D >::cols_m, Matrix3D< TMatrix2D >::matrix2DList_m, Matrix3D< TMatrix2D >::ring_m, and Matrix3D< TMatrix2D >::rows_m.

template<class TMatrix2D >
void Matrix3D< TMatrix2D >::setName ( string  name  )  [inline]
template<class TMatrix2D >
void Matrix3D< TMatrix2D >::setVal ( unsigned int  row,
unsigned int  col,
unsigned int  z,
typename TMatrix2D::ElementType  val 
) [inline]

Member Data Documentation

template<class TMatrix2D>
unsigned int Matrix3D< TMatrix2D >::cols_m [private]
template<class TMatrix2D>
vector< TMatrix2D *> Matrix3D< TMatrix2D >::matrix2DList_m [private]
template<class TMatrix2D>
string Matrix3D< TMatrix2D >::name_m [private]
template<class TMatrix2D>
const TMatrix2D::RingType* Matrix3D< TMatrix2D >::ring_m [private]
template<class TMatrix2D>
unsigned int Matrix3D< TMatrix2D >::rows_m [private]

The documentation for this class was generated from the following files:
Generated on Tue Nov 23 13:10:53 2010 for centerfocus by  doxygen 1.6.3