Dune::LevelMultipleCodimMultipleGeomTypeMapper< G, Layout > Class Template Reference
[Mappers]

Multiple codim and multiple geometry type mapper for entities of one level. More...

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

Inheritance diagram for Dune::LevelMultipleCodimMultipleGeomTypeMapper< G, Layout >:
Inheritance graph

List of all members.

Public Member Functions

 LevelMultipleCodimMultipleGeomTypeMapper (const G &grid, int level)
 The constructor.
 LevelMultipleCodimMultipleGeomTypeMapper (const G &grid, int level, const Layout< G::dimension > layout)
 The constructor.
int map (const EntityType &e) const
 Map entity to array index.
int map (const typename G::LevelGridView::template Codim< 0 >::Entity &e, int i, unsigned int codim) const
 Map subentity of codim 0 entity to array index.
int map (const typename G::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.
int size () const
 Return total number of entities in the entity set managed by the mapper.
bool contains (const EntityType &e, int &result) const
 Returns true if the entity is contained in the index set.
bool contains (const typename G::LevelGridView::template Codim< 0 >::Entity &e, int i, int cc, int &result) const
 Returns true if the entity is contained in the index set.
bool contains (const typename G::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.
void update ()
 Recalculates map after mesh adaptation.

Detailed Description

template<typename G, template< int > class Layout>
class Dune::LevelMultipleCodimMultipleGeomTypeMapper< G, Layout >

Multiple codim and multiple geometry type mapper for entities of one level.

This mapper uses all entities of a certain codimension on a given level as its entity set.

Template Parameters:
G A Dune grid type.
Layout A helper class template which determines which types of entities are mapped by this mapper. See MultipleCodimMultipleGeomTypeMapper for how exactly this template should look.

Constructor & Destructor Documentation

template<typename G , template< int > class Layout>
Dune::LevelMultipleCodimMultipleGeomTypeMapper< G, Layout >::LevelMultipleCodimMultipleGeomTypeMapper ( const G &  grid,
int  level 
) [inline]

The constructor.

Parameters:
grid A reference to a grid.
level A valid level of the grid.
template<typename G , template< int > class Layout>
Dune::LevelMultipleCodimMultipleGeomTypeMapper< G, Layout >::LevelMultipleCodimMultipleGeomTypeMapper ( const G &  grid,
int  level,
const Layout< G::dimension >  layout 
) [inline]

The constructor.

Use this constructor to provide a custom layout object e.g. not using the default constructor.

Parameters:
grid A reference to a grid.
level A valid level of the grid.
layout A layout object

Member Function Documentation

bool Dune::MultipleCodimMultipleGeomTypeMapper< G::LevelGridView , Layout >::contains ( const EntityType &  e,
int &  result 
) const [inline, inherited]

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::MultipleCodimMultipleGeomTypeMapper< GV, Layout >::map().

bool Dune::MultipleCodimMultipleGeomTypeMapper< G::LevelGridView , Layout >::contains ( const typename G::LevelGridView ::template Codim< 0 >::Entity e,
int  i,
int  cc,
int &  result 
) const [inline, inherited]

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

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

References Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout >::map().

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

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

Parameters:
[in] e Reference to codim 0 entity
[in] i subentity number
[in] cc subentity codim
[out] result Filled with array index if entity is contained
Returns:
true if entity is in entity set of the mapper

Reimplemented in Dune::UniversalMapper< G, IDS >, Dune::UniversalMapper< G, G::Traits::GlobalIdSet >, and Dune::UniversalMapper< G, G::Traits::LocalIdSet >.

int Dune::MultipleCodimMultipleGeomTypeMapper< G::LevelGridView , Layout >::map ( const EntityType &  e  )  const [inline, inherited]

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 >.

int Dune::MultipleCodimMultipleGeomTypeMapper< G::LevelGridView , Layout >::map ( const typename G::LevelGridView ::template Codim< 0 >::Entity e,
int  i,
unsigned int  codim 
) const [inline, inherited]

Map subentity of codim 0 entity to array index.

Parameters:
e Reference to codim 0 entity.
i Number of subentity of e
codim Codimension of the subendity
Returns:
An index in the range 0 ... Max number of entities in set - 1.
template<typename G, typename MapperImp>
int Dune::Mapper< G, MapperImp >::map ( const typename G::Traits::template Codim< 0 >::Entity e,
int  i,
unsigned int  codim 
) const [inline, inherited]

Map subentity i of codim cc of a 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.
codim codimension of subenetity of e
Returns:
An index in the range 0 ... Max number of entities in set - 1.
int Dune::MultipleCodimMultipleGeomTypeMapper< G::LevelGridView , Layout >::size (  )  const [inline, inherited]

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 >.

void Dune::MultipleCodimMultipleGeomTypeMapper< G::LevelGridView , Layout >::update (  )  [inline, inherited]

Recalculates map after mesh adaptation.

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


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

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].