Dune Core Modules (2.8.0)

Dune::Mapper< G, MapperImp, IndexType > Class Template Reference

Mapper interface. More...

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

Public Types

using Index = IndexType
 Number type used for indices.
 

Public Member Functions

template<class EntityType >
Index index (const EntityType &e) const
 Map entity to array index. More...
 
Index subIndex (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. More...
 
auto size () const
 Return total number of entities in the entity set managed by the mapper. More...
 
template<class EntityType >
bool contains (const EntityType &e, IndexType &result) const
 Returns true if the entity is contained in the index set and at the same time the array index is returned. More...
 
bool contains (const typename G::Traits::template Codim< 0 >::Entity &e, int i, int cc, IndexType &result) const
 Returns true if the subentity is contained in the index set and at the same time the array index is returned. More...
 
template<class GridView >
void update (GridView &&gridView)
 Reinitialize mapper after grid has been modified.
 
void update ()
 Reinitialize mapper after grid has been modified.
 

Detailed Description

template<typename G, typename MapperImp, typename IndexType = int>
class Dune::Mapper< G, MapperImp, IndexType >

Mapper interface.

This class template is used as a base class for all mapper implementations. It uses the Barton-Nackman trick to ensure conformity to the interface.

Template Parameters
GType that is a model of Dune::Grid
MapperImpType that is a model of Dune::Mapper
IndexTypeInteger type used for indices. Default type is for backward-compatibility
Todo:
IndexType should be extracted from MapperImp, but gcc doesn't let me

Member Function Documentation

◆ contains() [1/2]

template<typename G , typename MapperImp , typename IndexType = int>
template<class EntityType >
bool Dune::Mapper< G, MapperImp, IndexType >::contains ( const EntityType &  e,
IndexType &  result 
) const
inline

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

Parameters
[in]eReference to entity
[out]resultFilled with array index if entity is contained
Returns
true if entity is in entity set of the mapper

Referenced by checkMixedDataMapper(), and checkVertexDataMapper().

◆ contains() [2/2]

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

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

◆ index()

template<typename G , typename MapperImp , typename IndexType = int>
template<class EntityType >
Index Dune::Mapper< G, MapperImp, IndexType >::index ( const EntityType &  e) const
inline

Map entity to array index.

\param e Reference to codim cc entity. The codim is extracted from the entity.
\return An index in the range 0 ... Max number of entities in set - 1.

Referenced by checkElementDataMapper().

◆ size()

template<typename G , typename MapperImp , typename IndexType = int>
auto Dune::Mapper< G, MapperImp, IndexType >::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.

Referenced by checkMixedDataMapper(), and Dune::fillGridViewInfoSerial().

◆ subIndex()

template<typename G , typename MapperImp , typename IndexType = int>
Index Dune::Mapper< G, MapperImp, IndexType >::subIndex ( const typename G::Traits::template Codim< 0 >::Entity &  e,
int  i,
unsigned int  codim 
) const
inline

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.

Referenced by checkMixedDataMapper(), and checkVertexDataMapper().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 12, 23:30, 2024)