Dune::SingleCodimSingleGeomTypeMapper< G, IS, c > Class Template Reference
[Mappers]

#include <scsgmapper.hh>

Inheritance diagram for Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >:

Dune::Mapper< G, MapperImp >

List of all members.


Detailed Description

template<typename G, typename IS, int c>
class Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >

Implementation class for a single codim and single geometry type mapper.

In this implementation of a mapper the entity set used as domain for the map consists of the entities of a given codimension c for all entities in the given index set. The index set may only contain entities of a single geometry type, otherwise an exception is thrown. This version is usually not used directly but is used to implement versions for leafwise and levelwise entity sets.

Template parameters are:

G
A Dune grid type.
IS
LeafIndexSet or LevelIndexSet type of the given grid.
c
A valid codimension.

Public Member Functions

 SingleCodimSingleGeomTypeMapper (const G &grid, const IS &indexset)
 Construct mapper from grid and one fo its index sets.
template<class EntityType>
int map (const EntityType &e) const
 Map entity to array index.
template<int cc>
int map (const typename G::Traits::template Codim< 0 >::Entity &e, int i) const
 Map subentity of codim 0 entity to array index.
int size () const
 Return total number of entities in the entity set managed by the mapper.
template<class EntityType>
bool contains (const EntityType &e, int &result) const
 Returns true if the entity is contained in the index set.
template<int cc>
bool contains (const typename G::Traits::template Codim< 0 >::Entity &e, int i, int &result) const
 Returns true if the entity is contained in the index set.
void update ()
 Recalculates map after mesh adaptation.

Constructor & Destructor Documentation

template<typename G, typename IS, int c>
Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >::SingleCodimSingleGeomTypeMapper ( const G &  grid,
const IS &  indexset 
) [inline]

Construct mapper from grid and one fo its index sets.

Parameters:
grid A Dune grid object.
indexset IndexSet object returned by grid.


Member Function Documentation

template<typename G, typename IS, int c>
template<class EntityType>
int Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >::map ( const EntityType &  e  )  const [inline]

Map entity to array index.

Parameters:
e Reference to codim cc entity, where cc is the template parameter of the function.
Returns:
An index in the range 0 ... Max number of entities in set - 1.

Reimplemented from Dune::Mapper< G, MapperImp >.

Referenced by Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >::contains().

template<typename G, typename IS, int c>
template<int cc>
int Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >::map ( const typename G::Traits::template Codim< 0 >::Entity e,
int  i 
) const [inline]

Map subentity of codim 0 entity to array index.

Parameters:
e Reference to codim 0 entity.
i Number of codim cc subentity of e, where cc is the template parameter of the function.
Returns:
An index in the range 0 ... Max number of entities in set - 1.

Reimplemented from Dune::Mapper< G, MapperImp >.

template<typename G, typename IS, int c>
int Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >::size (  )  const [inline]

Return total number of entities in the entity set managed by the mapper.

This number can be used to allocate a vector of data elements associated with the entities of the set. In the parallel case this number is per process (i.e. it may be different in different processes).

Returns:
Size of the entity set.

Reimplemented from Dune::Mapper< G, MapperImp >.

template<typename G, typename IS, int c>
template<class EntityType>
bool Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >::contains ( const EntityType &  e,
int &  result 
) const [inline]

Returns true if the entity is contained in the index set.

Parameters:
e Reference to entity
result integer reference where corresponding index is stored if true
Returns:
true if entity is in entity set of the mapper

Reimplemented from Dune::Mapper< G, MapperImp >.

References Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >::map().

template<typename G, typename IS, int c>
template<int cc>
bool Dune::SingleCodimSingleGeomTypeMapper< G, IS, c >::contains ( const typename G::Traits::template Codim< 0 >::Entity e,
int  i,
int &  result 
) const [inline]

Returns true if the entity is contained in the index set.

Parameters:
e Reference to codim 0 entity
i subentity number
result integer reference where corresponding index is stored if true
Returns:
true if entity is in entity set of the mapper

Reimplemented from Dune::Mapper< G, MapperImp >.


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

Generated on 6 Nov 2008 with Doxygen (ver 1.5.6) [logfile].