Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes

LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA > Class Template Reference

A unstructuredgrid for irregular structures. More...

#include <unstructuredgrid.h>

Inherits GridBase< ELEMENT_TYPE, 1 >.

Collaboration diagram for LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::vector< std::pair
< ELEMENT_TYPE, VALUE_TYPE > > 
NeighborList
typedef std::vector< std::pair
< ELEMENT_TYPE, VALUE_TYPE >
>::iterator 
NeighborListIterator

Public Member Functions

 UnstructuredGrid (const Coord< DIM > &dim=Coord< DIM >(), const ELEMENT_TYPE &defaultElement=ELEMENT_TYPE(), const ELEMENT_TYPE &edgeElement=ELEMENT_TYPE())
template<typename O_ELEMENT_TYPE >
UnstructuredGrid< ELEMENT_TYPE,
MATRICES, VALUE_TYPE, C, SIGMA > & 
operator= (const UnstructuredGrid< O_ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA > &other)
template<typename ITERATOR >
void setAdjacency (size_t const matrixID, ITERATOR start, const ITERATOR end)
 iterator musst be an interator over pair< Coord<2>, VALUE_TYPE >
const
SellCSigmaSparseMatrixContainer
< VALUE_TYPE, C, SIGMA > & 
getAdjacency (size_t const matrixID) const
SellCSigmaSparseMatrixContainer
< VALUE_TYPE, C, SIGMA > & 
getAdjacency (size_t const matrixID)
NeighborList getNeighborhood (const Coord< DIM > &center) const
 returns a list of pairs representing the neighborhood of center element.
const Coord< DIM > & getDimensions () const
const ELEMENT_TYPE & operator[] (const int y) const
ELEMENT_TYPE & operator[] (const int y)
ELEMENT_TYPE & operator[] (const Coord< DIM > &coord)
const ELEMENT_TYPE & operator[] (const Coord< DIM > &coord) const
bool operator== (const UnstructuredGrid &other) const
bool operator== (const GridBase< ELEMENT_TYPE, DIM > &other) const
bool operator!= (const UnstructuredGrid &other) const
bool operator!= (const GridBase< ELEMENT_TYPE, DIM > &other) const
std::string toString () const
virtual void set (const Coord< DIM > &coord, const ELEMENT_TYPE &element)
virtual void set (const Streak< DIM > &streak, const ELEMENT_TYPE *element)
virtual ELEMENT_TYPE get (const Coord< DIM > &coord) const
virtual void get (const Streak< DIM > &streak, ELEMENT_TYPE *element) const
ELEMENT_TYPE & getEdgeElement ()
const ELEMENT_TYPE & getEdgeElement () const
virtual void setEdge (const ELEMENT_TYPE &element)
virtual const ELEMENT_TYPE & getEdge () const
virtual CoordBox< DIMboundingBox () const

Static Public Attributes

static const int DIM = 1

Protected Member Functions

void saveMemberImplementation (char *target, const Selector< ELEMENT_TYPE > &selector, const Region< DIM > &region) const
void loadMemberImplementation (const char *source, const Selector< ELEMENT_TYPE > &selector, const Region< DIM > &region)

Private Attributes

std::vector< ELEMENT_TYPE > elements
SellCSigmaSparseMatrixContainer
< VALUE_TYPE, C, SIGMA > 
matrices [MATRICES]
ELEMENT_TYPE edgeElement
Coord< DIMdimension

Detailed Description

template<typename ELEMENT_TYPE, size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
class LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >

A unstructuredgrid for irregular structures.


Member Typedef Documentation

template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
typedef std::vector<std::pair<ELEMENT_TYPE, VALUE_TYPE> > LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::NeighborList
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
typedef std::vector<std::pair<ELEMENT_TYPE, VALUE_TYPE> >::iterator LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::NeighborListIterator

Constructor & Destructor Documentation

template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::UnstructuredGrid ( const Coord< DIM > &  dim = Coord<DIM>(),
const ELEMENT_TYPE &  defaultElement = ELEMENT_TYPE(),
const ELEMENT_TYPE &  edgeElement = ELEMENT_TYPE() 
) [inline, explicit]

Member Function Documentation

template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
virtual CoordBox<DIM> LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::boundingBox (  )  const [inline, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
virtual void LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::get ( const Streak< DIM > &  streak,
ELEMENT_TYPE *  element 
) const [inline, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
virtual ELEMENT_TYPE LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::get ( const Coord< DIM > &  coord  )  const [inline, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
const SellCSigmaSparseMatrixContainer<VALUE_TYPE,C,SIGMA>& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::getAdjacency ( size_t const   matrixID  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
SellCSigmaSparseMatrixContainer<VALUE_TYPE,C,SIGMA>& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::getAdjacency ( size_t const   matrixID  )  [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
const Coord<DIM>& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::getDimensions (  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
virtual const ELEMENT_TYPE& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::getEdge (  )  const [inline, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
const ELEMENT_TYPE& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::getEdgeElement (  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
ELEMENT_TYPE& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::getEdgeElement (  )  [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
NeighborList LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::getNeighborhood ( const Coord< DIM > &  center  )  const [inline]

returns a list of pairs representing the neighborhood of center element.

the first element of the pair is the ELEMENT_TYPE and the secound the ADJACENCY_TYPE. The first Element of the list is the center element it selfe. if center element does not exist the EdggeElement ist reurnt. In bothe cases ADJACENCY_TYPE = -1

References LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::matrices.

template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
void LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::loadMemberImplementation ( const char *  source,
const Selector< ELEMENT_TYPE > &  selector,
const Region< DIM > &  region 
) [inline, protected, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
bool LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator!= ( const UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA > &  other  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
bool LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator!= ( const GridBase< ELEMENT_TYPE, DIM > &  other  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
template<typename O_ELEMENT_TYPE >
UnstructuredGrid<ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA>& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator= ( const UnstructuredGrid< O_ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA > &  other  )  [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
bool LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator== ( const GridBase< ELEMENT_TYPE, DIM > &  other  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
bool LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator== ( const UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA > &  other  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
ELEMENT_TYPE& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator[] ( const int  y  )  [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
ELEMENT_TYPE& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator[] ( const Coord< DIM > &  coord  )  [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
const ELEMENT_TYPE& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator[] ( const Coord< DIM > &  coord  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
const ELEMENT_TYPE& LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::operator[] ( const int  y  )  const [inline]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
void LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::saveMemberImplementation ( char *  target,
const Selector< ELEMENT_TYPE > &  selector,
const Region< DIM > &  region 
) const [inline, protected, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
virtual void LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::set ( const Coord< DIM > &  coord,
const ELEMENT_TYPE &  element 
) [inline, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
virtual void LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::set ( const Streak< DIM > &  streak,
const ELEMENT_TYPE *  element 
) [inline, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
template<typename ITERATOR >
void LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::setAdjacency ( size_t const   matrixID,
ITERATOR  start,
const ITERATOR  end 
) [inline]

iterator musst be an interator over pair< Coord<2>, VALUE_TYPE >

References LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::matrices.

template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
virtual void LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::setEdge ( const ELEMENT_TYPE &  element  )  [inline, virtual]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
std::string LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::toString (  )  const [inline]

Member Data Documentation

template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
const int LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::DIM = 1 [static]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
Coord<DIM> LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::dimension [private]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
ELEMENT_TYPE LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::edgeElement [private]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
std::vector<ELEMENT_TYPE> LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::elements [private]
template<typename ELEMENT_TYPE , size_t MATRICES = 1, typename VALUE_TYPE = double, int C = 64, int SIGMA = 1>
SellCSigmaSparseMatrixContainer<VALUE_TYPE, C, SIGMA> LibGeoDecomp::UnstructuredGrid< ELEMENT_TYPE, MATRICES, VALUE_TYPE, C, SIGMA >::matrices[MATRICES] [private]

The documentation for this class was generated from the following file: