dune-grid  2.7.0
Public Types | Public Member Functions | Public Attributes | List of all members
Dune::UniversalMapper< G, IDS, IndexType > Class Template Reference

Implements a mapper for an arbitrary subset of entities. More...

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

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

Public Types

typedef IndexType Index
 Number type used for indices. More...
 

Public Member Functions

 DUNE_DEPRECATED_MSG ("UniversalMapper is deprecated in DUNE 2.6") UniversalMapper(const G &grid
 Construct mapper from grid and one of its id sets. More...
 
const IDS ids (idset)
 
const IDS index_ ()
 
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, int cc) const
 Map subentity of codim 0 entity to array index. More...
 
int size () const
 Return total number of entities in the entity set managed by the mapper. More...
 
template<class EntityType >
bool contains (const EntityType &e, Index &result) const
 Returns true if the entity is contained in the index set. More...
 
bool contains (const typename G::Traits::template Codim< 0 >::Entity &e, int i, int cc, Index &result) const
 Returns true if the entity is contained in the index set. More...
 
void update ()
 Recalculates map after mesh adaptation. More...
 
void clear ()
 
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...
 
bool contains (const EntityType &e, int &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, int &result) const
 Returns true if the subentity is contained in the index set and at the same time the array index is returned. More...
 

Public Attributes

const IDS & idset: g(grid)
 

Detailed Description

template<typename G, typename IDS, typename IndexType = int>
class Dune::UniversalMapper< G, IDS, IndexType >

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:

Entities need to be registered in order to use them. If an entity is queried with map, the known index is returned or a new index is created. The method contains only return true, if the entites was queried via map already.

Template Parameters
GA Dune grid type.
IDSAn Id set type for the given grid.
IndexTypeNumber type used for the indices

Member Typedef Documentation

◆ Index

template<typename G , typename IDS , typename IndexType = int>
typedef IndexType Dune::UniversalMapper< G, IDS, IndexType >::Index

Number type used for indices.

Member Function Documentation

◆ clear()

template<typename G , typename IDS , typename IndexType = int>
void Dune::UniversalMapper< G, IDS, IndexType >::clear ( )
inline

◆ contains() [1/4]

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

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

The method contains only return true, if the entites was queried via map already.

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

◆ contains() [2/4]

bool Dune::Mapper< G, UniversalMapper< G, IDS > , int >::contains ( const EntityType &  e,
int &  result 
) const
inlineinherited

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

◆ contains() [3/4]

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

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

Parameters
[in]eReference to codim 0 entity
[in]isubentity number
[in]ccsubentity codim
[out]resultinteger reference where corresponding index is stored if true
Returns
true if entity is in entity set of the mapper

◆ contains() [4/4]

bool Dune::Mapper< G, UniversalMapper< G, IDS > , int >::contains ( const typename G::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

◆ DUNE_DEPRECATED_MSG()

template<typename G , typename IDS , typename IndexType = int>
Dune::UniversalMapper< G, IDS, IndexType >::DUNE_DEPRECATED_MSG ( "UniversalMapper< G, IDS, IndexType > is deprecated in DUNE 2.6"  ) const &

Construct mapper from grid and one of its id sets.

Parameters
gridA Dune grid object.
idsetAn IndexSet object of the grid.

◆ ids()

template<typename G , typename IDS , typename IndexType = int>
const IDS Dune::UniversalMapper< G, IDS, IndexType >::ids ( idset  )

◆ index()

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

Map entity to array index.

If an entity is queried with map, the known index is returned or a new index is created. A call to map can never fail.

 \param e Reference to codim cc entity, where cc is the template parameter of the function.
 \return An index in the range 0 ... Max number of entities in set - 1.

◆ index_()

template<typename G , typename IDS , typename IndexType = int>
const IDS Dune::UniversalMapper< G, IDS, IndexType >::index_ ( )
inline

◆ size() [1/2]

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

◆ size() [2/2]

auto Dune::Mapper< G, UniversalMapper< G, IDS > , int >::size
inlineinherited

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.

◆ subIndex() [1/2]

template<typename G , typename IDS , typename IndexType = int>
Index Dune::UniversalMapper< G, IDS, IndexType >::subIndex ( const typename G::Traits::template Codim< 0 >::Entity e,
int  i,
int  cc 
) const
inline

Map subentity of codim 0 entity to array index.

If an entity is queried with map, the known index is returned or a new index is created. A call to map can never fail.

Parameters
eReference to codim 0 entity.
iNumber of codim cc subentity of e, where cc is the template parameter of the function.
cccodim of the subentity
Returns
An index in the range 0 ... Max number of entities in set - 1.

◆ subIndex() [2/2]

Index Dune::Mapper< G, UniversalMapper< G, IDS > , int >::subIndex ( const typename G::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.

◆ update()

template<typename G , typename IDS , typename IndexType = int>
void Dune::UniversalMapper< G, IDS, IndexType >::update ( )
inline

Recalculates map after mesh adaptation.

Member Data Documentation

◆ idset

template<typename G , typename IDS , typename IndexType = int>
const IDS& Dune::UniversalMapper< G, IDS, IndexType >::idset

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