Dune::UniversalMapper< G, IDS > Class Template Reference
[Mappers]

#include <universalmapper.hh>

Inheritance diagram for Dune::UniversalMapper< G, IDS >:

Dune::Mapper< G, MapperImp >

List of all members.


Detailed Description

template<typename G, typename IDS>
class Dune::UniversalMapper< G, IDS >

Implements a mapper for an arbitrary subset of entities.

This implementation uses an ID set and a map, thus it has log complexity for each access. Template parameters are:

G
A Dune grid type.
IDS
An Id set for the given grid

Public Member Functions

 UniversalMapper (const G &grid, const IDS &idset)
 Construct mapper from grid and one of its id 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 IDS>
Dune::UniversalMapper< G, IDS >::UniversalMapper ( const G &  grid,
const IDS &  idset 
) [inline]

Construct mapper from grid and one of its id sets.

Parameters:
grid A Dune grid object.
idset An IndexSet object of the grid.


Member Function Documentation

template<typename G, typename IDS>
template<class EntityType>
int Dune::UniversalMapper< G, IDS >::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 >.

template<typename G, typename IDS>
template<int cc>
int Dune::UniversalMapper< G, IDS >::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 IDS>
int Dune::UniversalMapper< G, IDS >::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 IDS>
template<class EntityType>
bool Dune::UniversalMapper< G, IDS >::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 >.

template<typename G, typename IDS>
template<int cc>
bool Dune::UniversalMapper< G, IDS >::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 Thu Apr 2 10:40:47 2009 for dune-grid by  doxygen 1.5.6