dune-grid  2.2.1
Public Member Functions | List of all members
Dune::SingleCodimSingleGeomTypeMapper< GV, c > Class Template Reference

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

#include <dune/grid/common/scsgmapper.hh>

Inheritance diagram for Dune::SingleCodimSingleGeomTypeMapper< GV, c >:
Inheritance graph

Public Member Functions

 SingleCodimSingleGeomTypeMapper (const GV &gridView)
 Construct mapper from grid and one of its index sets.
template<class EntityType >
int map (const EntityType &e) const
 Map entity to array index.
int map (const typename GV::template Codim< 0 >::Entity &e, int i, unsigned int codim) 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.
bool contains (const typename GV::template Codim< 0 >::Entity &e, int i, int cc, int &result) const
 Returns true if the entity is contained in the index set.
void update ()
 Recalculates map after mesh adaptation.
int map (const typename GV::Grid::Traits::template Codim< 0 >::Entity &e, int i, unsigned int codim) const
 Map subentity i of codim cc of a codim 0 entity to array index.
bool contains (const typename GV::Grid::Traits::template Codim< 0 >::Entity &e, int i, int cc, int &result) const
 Returns true if the subentity is contained in the index set and at the same time the array index is returned.

Detailed Description

template<typename GV, int c>
class Dune::SingleCodimSingleGeomTypeMapper< GV, 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
GVA Dune grid view type
cA valid codimension

Constructor & Destructor Documentation

template<typename GV, int c>
Dune::SingleCodimSingleGeomTypeMapper< GV, c >::SingleCodimSingleGeomTypeMapper ( const GV &  gridView)

Construct mapper from grid and one of its index sets.

Parameters
gridViewA Dune GridView object.

Member Function Documentation

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

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

Parameters
eReference to entity
resultinteger reference where corresponding index is stored if true
Returns
true if entity is in entity set of the mapper

Reimplemented from Dune::Mapper< GV::Grid, SingleCodimSingleGeomTypeMapper< GV, c > >.

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

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

Parameters
eReference to codim 0 entity
isubentity number
ccsubentity codim
resultinteger reference where corresponding index is stored if true
Returns
true if entity is in entity set of the mapper
bool Dune::Mapper< GV::Grid , SingleCodimSingleGeomTypeMapper< GV, c > >::contains ( const typename GV::Grid ::Traits::template Codim< 0 >::Entity e,
int  i,
int  cc,
int &  result 
) const
inlineinherited

Returns true if the subentity is contained in the index set and at the same time the array index is returned.

Parameters
[in]eReference to codim 0 entity
[in]isubentity number
[in]ccsubentity codim
[out]resultFilled with array index if entity is contained
Returns
true if entity is in entity set of the mapper
template<typename GV , int c>
template<class EntityType >
int Dune::SingleCodimSingleGeomTypeMapper< GV, c >::map ( const EntityType &  e) const
inline

Map entity to array index.

Parameters
eReference 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< GV::Grid, SingleCodimSingleGeomTypeMapper< GV, c > >.

template<typename GV, int c>
int Dune::SingleCodimSingleGeomTypeMapper< GV, c >::map ( const typename GV::template Codim< 0 >::Entity e,
int  i,
unsigned int  codim 
) const
inline

Map subentity of codim 0 entity to array index.

Parameters
eReference to codim 0 entity.
iNumber of the subentity of e, where cc is the template parameter of the function.
codimCodimension of the subentity of e
Returns
An index in the range 0 ... Max number of entities in set - 1.
int Dune::Mapper< GV::Grid , SingleCodimSingleGeomTypeMapper< GV, c > >::map ( const typename GV::Grid ::Traits::template Codim< 0 >::Entity e,
int  i,
unsigned int  codim 
) const
inlineinherited

Map subentity i of codim cc of a codim 0 entity to array index.

Parameters
eReference to codim 0 entity.
iNumber of codim cc subentity of e, where cc is the template parameter of the function.
codimcodimension of subentity of e
Returns
An index in the range 0 ... Max number of entities in set - 1.
template<typename GV , int c>
int Dune::SingleCodimSingleGeomTypeMapper< GV, 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).

\return Size of the entity set.

Reimplemented from Dune::Mapper< GV::Grid, SingleCodimSingleGeomTypeMapper< GV, c > >.

template<typename GV, int c>
void Dune::SingleCodimSingleGeomTypeMapper< GV, c >::update ( )
inline

Recalculates map after mesh adaptation.

Reimplemented from Dune::Mapper< GV::Grid, SingleCodimSingleGeomTypeMapper< GV, c > >.


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