Public Member Functions |
| MultipleCodimMultipleGeomTypeMapper (const GV &gridView, const Layout< GV::dimension > layout) |
| Construct mapper from grid and one of its index sets.
|
| MultipleCodimMultipleGeomTypeMapper (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.
|
template<typename GV, template< int > class Layout>
class Dune::MultipleCodimMultipleGeomTypeMapper< GV, Layout >
Implementation class for a multiple codim and multiple geometry type mapper.
In this implementation of a mapper the entity set used as domain for the map consists
of the entities of a subset of codimensions in the given index set. The index
set may contain entities of several geometry types. This
version is usually not used directly but is used to implement versions for leafwise and levelwise
entity sets.
\tparam GV A Dune GridView type.
\tparam Layout A helper class template with a method contains(), that
returns true for all geometry types that are in the domain
of the map. The class should be of the following shape
template<int dimgrid>
struct LayoutClass {
}
};
The MultipleCodimMultipleGeomTypeMapper will always substitute the dimension of the grid for the template parameter dimgrid.
If you don't want to use the default constructor of the LayoutClass you can construct it yourself and hand it to the respective constructor (with dimgrid=GV::dimension). In this case the layout class should be copy constructible.
Thare are to predefined Layout class templates For the common cases that only elements or only vertices should be mapped: MCMGElementLayout and MCMGVertexLayout.
template<typename GV, template< int > class Layout>