dune-mmesh 1.4.1-git
Loading...
Searching...
No Matches
Dune::MMeshInterfaceGridLeafIndexSet< GridImp > Class Template Reference

#include <dune/mmesh/interface/indexsets.hh>

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

Public Types

enum  { dimensionworld = std::remove_const<GridImp>::type::dimensionworld }
 
enum  { dimension = dimensionworld - 1 }
 
typedef std::size_t IndexType
 
typedef const std::vector< GeometryTypeTypes
 
using LocalIndexMap = std::unordered_map< std::size_t, std::size_t >
 
using IndexMap = std::unordered_map< std::array< std::size_t, dimension >, LocalIndexMap, HashUIntArray >
 
using EdgeIndexMap = std::unordered_map< std::array< std::size_t, dimension >, std::size_t, HashUIntArray >
 
using VertexIndexMap = std::unordered_map< std::size_t, std::size_t >
 

Public Member Functions

 MMeshInterfaceGridLeafIndexSet (const GridImp *grid)
 constructor stores reference to a grid and level
 
 MMeshInterfaceGridLeafIndexSet (const MMeshInterfaceGridLeafIndexSet &leafIndexSet)
 
template<int codim>
std::enable_if_t< codim==0, IndexTypeindex (const Entity< codim, dimension, GridImp, MMeshInterfaceGridEntity > &e) const
 get index of an codim 0 entity
 
template<int codim>
std::enable_if_t< codim==1 &&dimension==2, IndexTypeindex (const Entity< codim, dimension, GridImp, MMeshInterfaceGridEntity > &e) const
 get index of an codim 1 entity (3D)
 
template<int codim>
std::enable_if_t< codim==dimension, IndexTypeindex (const Entity< codim, dimension, GridImp, MMeshInterfaceGridEntity > &e) const
 get index of an codim dimension entity
 
template<class Entity >
IndexType subIndex (const Entity &e, int i, int codim)
 get subIndex of subEntity i with given codim of an entity
 
template<int cc>
std::enable_if_t< cc==dimension, IndexTypesubIndex (const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity &e, int i, int codim) const
 get subIndex of a codim dimension entity
 
template<int cc>
std::enable_if_t< cc==0, IndexTypesubIndex (const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity &e, int i, int codim) const
 get subIndex of a codim 0 entity
 
template<int cc>
std::enable_if_t< cc !=0 &&cc !=dimension, IndexTypesubIndex (const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity &e, int i, int codim) const
 provide member function subIndex for other codims but disable the usage
 
std::size_t size (GeometryType type) const
 get number of entities of given type
 
std::size_t size (int codim) const
 get number of entities of given codim
 
const Types geomTypes (int codim) const
 Deliver all geometry types used in this grid.
 
Types types (int codim) const
 Deliver all geometry types used in this grid.
 
template<class EntityType >
bool contains (const EntityType &e) const
 Return true if the given entity is contained in the index set in 2d.
 
template<int d = dimensionworld>
std::enable_if_t< d==2, void > update (const GridImp *grid)
 update index set in 2d
 
template<int d = dimensionworld>
std::enable_if_t< d==3, void > update (const GridImp *grid)
 update index set in 3d
 
const IndexMapindexMap () const
 
const VertexIndexMapvertexIndexMap () const
 
IndexType index (const typename Traits::template Codim< cc >::Entity &e) const
 
IndexType index (const Entity &e) const
 
IndexType subIndex (const typename Traits::template Codim< cc >::Entity &e, int i, unsigned int codim) const
 
IndexType subIndex (const Entity &e, int i, unsigned int codim) const
 
bool contains (const Entity &e) const
 

Member Typedef Documentation

◆ EdgeIndexMap

◆ IndexMap

◆ IndexType

template<class GridImp >
typedef std::size_t Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::IndexType

◆ LocalIndexMap

template<class GridImp >
using Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::LocalIndexMap = std::unordered_map<std::size_t, std::size_t>

◆ Types

template<class GridImp >
typedef const std::vector<GeometryType> Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::Types

◆ VertexIndexMap

template<class GridImp >
using Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::VertexIndexMap = std::unordered_map<std::size_t, std::size_t>

Member Enumeration Documentation

◆ anonymous enum

template<class GridImp >
anonymous enum
Enumerator
dimensionworld 

◆ anonymous enum

template<class GridImp >
anonymous enum
Enumerator
dimension 

Constructor & Destructor Documentation

◆ MMeshInterfaceGridLeafIndexSet() [1/2]

template<class GridImp >
Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::MMeshInterfaceGridLeafIndexSet ( const GridImp *  grid)
inline

constructor stores reference to a grid and level

◆ MMeshInterfaceGridLeafIndexSet() [2/2]

template<class GridImp >
Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::MMeshInterfaceGridLeafIndexSet ( const MMeshInterfaceGridLeafIndexSet< GridImp > &  leafIndexSet)
inline

Member Function Documentation

◆ contains()

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

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

◆ geomTypes()

template<class GridImp >
const Types Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::geomTypes ( int  codim) const
inline

Deliver all geometry types used in this grid.

◆ index() [1/3]

template<class GridImp >
template<int codim>
std::enable_if_t< codim==0, IndexType > Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::index ( const Entity< codim, dimension, GridImp, MMeshInterfaceGridEntity > &  e) const
inline

get index of an codim 0 entity

◆ index() [2/3]

template<class GridImp >
template<int codim>
std::enable_if_t< codim==1 &&dimension==2, IndexType > Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::index ( const Entity< codim, dimension, GridImp, MMeshInterfaceGridEntity > &  e) const
inline

get index of an codim 1 entity (3D)

◆ index() [3/3]

template<class GridImp >
template<int codim>
std::enable_if_t< codim==dimension, IndexType > Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::index ( const Entity< codim, dimension, GridImp, MMeshInterfaceGridEntity > &  e) const
inline

get index of an codim dimension entity

◆ indexMap()

template<class GridImp >
const IndexMap & Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::indexMap ( ) const
inline

◆ size() [1/2]

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

get number of entities of given type

◆ size() [2/2]

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

get number of entities of given codim

◆ subIndex() [1/4]

template<class GridImp >
template<class Entity >
IndexType Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::subIndex ( const Entity e,
int  i,
int  codim 
)
inline

get subIndex of subEntity i with given codim of an entity

◆ subIndex() [2/4]

template<class GridImp >
template<int cc>
std::enable_if_t< cc==dimension, IndexType > Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::subIndex ( const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity e,
int  i,
int  codim 
) const
inline

get subIndex of a codim dimension entity

◆ subIndex() [3/4]

template<class GridImp >
template<int cc>
std::enable_if_t< cc==0, IndexType > Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::subIndex ( const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity e,
int  i,
int  codim 
) const
inline

get subIndex of a codim 0 entity

◆ subIndex() [4/4]

template<class GridImp >
template<int cc>
std::enable_if_t< cc !=0 &&cc !=dimension, IndexType > Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::subIndex ( const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity e,
int  i,
int  codim 
) const
inline

provide member function subIndex for other codims but disable the usage

◆ types()

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

Deliver all geometry types used in this grid.

◆ update() [1/2]

template<class GridImp >
template<int d = dimensionworld>
std::enable_if_t< d==2, void > Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::update ( const GridImp *  grid)
inline

update index set in 2d

◆ update() [2/2]

template<class GridImp >
template<int d = dimensionworld>
std::enable_if_t< d==3, void > Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::update ( const GridImp *  grid)
inline

update index set in 3d

◆ vertexIndexMap()

template<class GridImp >
const VertexIndexMap & Dune::MMeshInterfaceGridLeafIndexSet< GridImp >::vertexIndexMap ( ) const
inline

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