dune-grid 2.9.0
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Dune::IdentityGridLevelIndexSet< GridImp > Class Template Reference

#include <dune/grid/identitygrid/identitygridindexsets.hh>

Inheritance diagram for Dune::IdentityGridLevelIndexSet< GridImp >:
Inheritance graph

Public Types

typedef std::remove_const< GridImp >::type::HostGridType HostGrid
 
typedef HostGrid::LevelGridView::IndexSet::Types Types
 
typedef std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType IndexType
 The type used for the indices. More...
 

Public Member Functions

template<int codim>
int index (const typename GridImp::Traits::template Codim< codim >::Entity &e) const
 get index of an entity More...
 
template<int cc>
int subIndex (const typename GridImp::Traits::template Codim< cc >::Entity &e, int i, int codim) const
 get index of subEntity of a codim 0 entity More...
 
std::size_t size (int codim) const
 get number of entities of given codim, type and on this level More...
 
std::size_t size (GeometryType type) const
 get number of entities of given codim, type and on this level More...
 
const std::vector< GeometryType > & geomTypes (int codim) const
 Deliver all geometry types used in this grid. More...
 
Types types (int codim) const
 Deliver all geometry types used in this grid. More...
 
template<class EntityType >
bool contains (const EntityType &e) const
 Return true if the given entity is contained in the index set. More...
 
void update (const GridImp &grid, int level)
 Set up the index set. More...
 
Index access from entity
IndexType index (const typename Traits::template Codim< cc >::Entity &e) const
 Map entity to index. The result of calling this method with an entity that is not in the index set is undefined. More...
 
IndexType index (const Entity &e) const
 Map entity to index. Easier to use than the above because codimension template parameter need not be supplied explicitly. The result of calling this method with an entity that is not in the index set is undefined. More...
 
IndexType subIndex (const typename Traits::template Codim< cc >::Entity &e, int i, unsigned int codim) const
 Map a subentity to an index. More...
 
IndexType subIndex (const Entity &e, int i, unsigned int codim) const
 Map a subentity to an index. More...
 
Access to entity set
bool contains (const Entity &e) const
 Return true if the given entity is contained in $E$. More...
 

Public Attributes

GridImp * grid_
 
int level_
 

Static Public Attributes

static constexpr int dim = GridImp::dimension
 
static const int dimension
 dimension of the grid (maximum allowed codimension) More...
 

Detailed Description

template<class GridImp>
class Dune::IdentityGridLevelIndexSet< GridImp >
Todo:
Take the index types from the host grid

Member Typedef Documentation

◆ HostGrid

template<class GridImp >
typedef std::remove_const<GridImp>::type::HostGridType Dune::IdentityGridLevelIndexSet< GridImp >::HostGrid

◆ IndexType

typedef std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType Dune::IndexSet< GridImp, IdentityGridLevelIndexSet< GridImp > , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::Types >::IndexType
inherited

The type used for the indices.

◆ Types

template<class GridImp >
typedef HostGrid::LevelGridView::IndexSet::Types Dune::IdentityGridLevelIndexSet< GridImp >::Types

Member Function Documentation

◆ contains() [1/2]

bool Dune::IndexSet< GridImp, IdentityGridLevelIndexSet< GridImp > , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::Types >::contains ( const Entity e) const
inlineinherited

Return true if the given entity is contained in $E$.

Note
If the input element e is not an element of the grid, then the result of contains() is undefined.

◆ contains() [2/2]

template<class GridImp >
template<class EntityType >
bool Dune::IdentityGridLevelIndexSet< GridImp >::contains ( const EntityType &  e) const
inline

Return true if the given entity is contained in the index set.

◆ geomTypes()

template<class GridImp >
const std::vector< GeometryType > & Dune::IdentityGridLevelIndexSet< GridImp >::geomTypes ( int  codim) const
inline

Deliver all geometry types used in this grid.

◆ index() [1/3]

IndexType Dune::IndexSet< GridImp, IdentityGridLevelIndexSet< GridImp > , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::Types >::index ( const Entity e) const
inlineinherited

Map entity to index. Easier to use than the above because codimension template parameter need not be supplied explicitly. The result of calling this method with an entity that is not in the index set is undefined.

Parameters
eReference to codim cc entity. Since entity knows its codimension, automatic extraction is possible.
Returns
An index in the range 0 ... Max number of entities in set - 1.

◆ index() [2/3]

template<class GridImp >
template<int codim>
int Dune::IdentityGridLevelIndexSet< GridImp >::index ( const typename GridImp::Traits::template Codim< codim >::Entity &  e) const
inline

get index of an entity

◆ index() [3/3]

IndexType Dune::IndexSet< GridImp, IdentityGridLevelIndexSet< GridImp > , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::Types >::index ( const typename Traits::template Codim< cc >::Entity &  e) const
inlineinherited

Map entity to index. The result of calling this method with an entity that is not in the index set is undefined.

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

◆ size() [1/2]

template<class GridImp >
std::size_t Dune::IdentityGridLevelIndexSet< GridImp >::size ( GeometryType  type) const
inline

get number of entities of given codim, type and on this level

◆ size() [2/2]

template<class GridImp >
std::size_t Dune::IdentityGridLevelIndexSet< GridImp >::size ( int  codim) const
inline

get number of entities of given codim, type and on this level

◆ subIndex() [1/3]

IndexType Dune::IndexSet< GridImp, IdentityGridLevelIndexSet< GridImp > , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::Types >::subIndex ( const Entity e,
int  i,
unsigned int  codim 
) const
inlineinherited

Map a subentity to an index.

The result of calling this method with an entity that is not in the index set is undefined.

Note
This method exists for convenience only. It extracts the codimension from the type of the entity, which can be guessed by the compiler.
Template Parameters
Entitytype of entity (must be GridImp::Codim< cc >::Entity for some cc)
Parameters
[in]ereference to entity
[in]inumber subentity of e within the codimension
[in]codimcodimension of the subentity we're interested in
Note
The parameter codim denotes the codimension with respect to the grid, i.e., it must satisfy cc <= codim <= dimension.
Returns
An index in the range 0 ... Max number of entities in set - 1.

◆ subIndex() [2/3]

template<class GridImp >
template<int cc>
int Dune::IdentityGridLevelIndexSet< GridImp >::subIndex ( const typename GridImp::Traits::template Codim< cc >::Entity &  e,
int  i,
int  codim 
) const
inline

get index of subEntity of a codim 0 entity

◆ subIndex() [3/3]

IndexType Dune::IndexSet< GridImp, IdentityGridLevelIndexSet< GridImp > , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::Types >::subIndex ( const typename Traits::template Codim< cc >::Entity &  e,
int  i,
unsigned int  codim 
) const
inlineinherited

Map a subentity to an index.

The result of calling this method with an entity that is not in the index set is undefined.

Template Parameters
cccodimension of the entity
Parameters
[in]ereference to codimension cc entity
[in]inumber subentity of e within the codimension
[in]codimcodimension of the subentity we're interested in
Note
The parameter codim denotes the codimension with respect to the grid, i.e., it must satisfy cc <= codim <= dimension.
Returns
An index in the range 0 ... Max number of entities in set - 1.

◆ types()

template<class GridImp >
Types Dune::IdentityGridLevelIndexSet< GridImp >::types ( int  codim) const
inline

Deliver all geometry types used in this grid.

◆ update()

template<class GridImp >
void Dune::IdentityGridLevelIndexSet< GridImp >::update ( const GridImp &  grid,
int  level 
)
inline

Set up the index set.

Member Data Documentation

◆ dim

template<class GridImp >
constexpr int Dune::IdentityGridLevelIndexSet< GridImp >::dim = GridImp::dimension
staticconstexpr

◆ dimension

const int Dune::IndexSet< GridImp, IdentityGridLevelIndexSet< GridImp > , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::IndexType , std::remove_const< GridImp >::type::HostGridType::LevelGridView::IndexSet::Types >::dimension
staticinherited

dimension of the grid (maximum allowed codimension)

◆ grid_

template<class GridImp >
GridImp* Dune::IdentityGridLevelIndexSet< GridImp >::grid_

◆ level_

template<class GridImp >
int Dune::IdentityGridLevelIndexSet< GridImp >::level_

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