Implementation of Level- and LeafIndexSets for YaspGrid .
More...
#include <dune/grid/yaspgrid/yaspgridindexsets.hh >
YaspIndexSet (const GridImp &g, int l)
Level grid view constructor stores reference to a grid and level.
YaspIndexSet (const GridImp &g)
Level grid view constructor stores reference to a grid and level.
template<int cc>
IndexType index (const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity &e) const
get index of an entity
template<int cc>
IndexType subIndex (const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity &e, int i, unsigned int codim) const
get index of subentity of an entity
std::size_t size (GeometryType type) const
get number of entities of given type and level (the level is known to the object)
std::size_t size (int codim) const
return size of set for a given codim
template<class EntityType >
bool contains (const EntityType &e) const
return true if the given entity is contained in .
template<int cc>
IndexType subIndex (const typename Traits::template Codim< cc >::Entity &e, int i, unsigned int codim) const
Map a subentity to an index.
template<class Entity >
IndexType subIndex (const Entity &e, int i, unsigned int codim) const
Map a subentity to an index.
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.
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.
Types types (int codim) const
obtain all geometry types of entities in domain
bool contains (const Entity &e) const
Return true if the given entity is contained in .
static constexpr std::array< GeometryType, 1 > types (int codim)
obtain all geometry types of entities in domain
static const int dimension
dimension of the grid (maximum allowed codimension)
template<class GridImp, bool isLeafIndexSet>
class Dune::YaspIndexSet< GridImp, isLeafIndexSet >
Implementation of Level- and LeafIndexSets for YaspGrid .
Template Parameters
GridImp The YaspGrid class we are an index set for
isLeafIndexSet false: class functions as level index set, true: class functions as leaf index set
◆ IndexType
template<class GridImp , bool isLeafIndexSet>
◆ Types
typedef std::array< GeometryType, 1 > Dune::IndexSet < GridImp, YaspIndexSet < GridImp, isLeafIndexSet > , unsigned int , std::array< GeometryType, 1 > >::Types
inherited
iterator range for geometry types in domain
◆ YaspIndexSet() [1/2]
template<class GridImp , bool isLeafIndexSet>
Level grid view constructor stores reference to a grid and level.
◆ YaspIndexSet() [2/2]
template<class GridImp , bool isLeafIndexSet>
Level grid view constructor stores reference to a grid and level.
◆ contains() [1/2]
Return true if the given entity is contained in .
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 , bool isLeafIndexSet>
template<class EntityType >
bool Dune::YaspIndexSet < GridImp, isLeafIndexSet >::contains
(
const EntityType &
e )
const
inline
return true if the given entity is contained in .
◆ index() [1/3]
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
e Reference 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 , bool isLeafIndexSet>
template<int cc>
IndexType Dune::YaspIndexSet < GridImp, isLeafIndexSet >::index
(
const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity &
e )
const
inline
◆ index() [3/3]
IndexType Dune::IndexSet < GridImp, YaspIndexSet < GridImp, isLeafIndexSet > , unsigned int , std::array< GeometryType, 1 > >::index
(
const typename Traits::template Codim< cc >::Entity &
e )
const
inline inherited
Map entity to index. The result of calling this method with an entity that is not in the index set is undefined.
Parameters
e Reference 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 , bool isLeafIndexSet>
std::size_t Dune::YaspIndexSet < GridImp, isLeafIndexSet >::size
(
GeometryType
type )
const
inline
get number of entities of given type and level (the level is known to the object)
◆ size() [2/2]
template<class GridImp , bool isLeafIndexSet>
return size of set for a given codim
◆ subIndex() [1/3]
template<class GridImp , bool isLeafIndexSet>
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
Entity type of entity (must be GridImp::Codim< cc >::Entity for some cc)
Parameters
[in] e reference to entity
[in] i number subentity of e within the codimension
[in] codim codimension 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 , bool isLeafIndexSet>
template<int cc>
IndexType Dune::YaspIndexSet < GridImp, isLeafIndexSet >::subIndex
(
const typename std::remove_const< GridImp >::type::Traits::template Codim< cc >::Entity &
e ,
int
i ,
unsigned int
codim
)
const
inline
get index of subentity of an entity
◆ subIndex() [3/3]
template<class GridImp , bool isLeafIndexSet>
template<int cc>
IndexType Dune::IndexSet < GridImp, IndexSetImp, IndexTypeImp, TypesImp >::subIndex
(
const typename Traits::template Codim< cc >::Entity &
e ,
int
i ,
unsigned int
codim
)
const
inline
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
cc codimension of the entity
Parameters
[in] e reference to codimension cc entity
[in] i number subentity of e within the codimension
[in] codim codimension 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() [1/2]
template<class GridImp , bool isLeafIndexSet>
static constexpr std::array< GeometryType, 1 > Dune::YaspIndexSet < GridImp, isLeafIndexSet >::types
(
int
codim )
inline static constexpr
obtain all geometry types of entities in domain
◆ types() [2/2]
obtain all geometry types of entities in domain
This method returns an iterator range (something that behaves like Dune::IteratorRange) visiting all geometry types of codimension codim in the domain of the index map exactly once. The iterator must implement the concept of a forward iterator (in the sense of the STL). The elements in the iterator range are required to be of type Dune::GeometryType.
Parameters
[in] codim a valid codimension
Returns iterator range over Const reference to a vector of geometry types.
◆ dimension
const int Dune::IndexSet < GridImp, YaspIndexSet < GridImp, isLeafIndexSet > , unsigned int , std::array< GeometryType, 1 > >::dimension
static inherited
dimension of the grid (maximum allowed codimension)
The documentation for this class was generated from the following files: