dune-grid  2.3.0
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
Dune::DefaultIndexSet< GridImp, IteratorImp > Class Template Reference

DefaultIndexSet creates an index set by using the grids persistent container an a given pair of iterators. More...

#include <dune/grid/alugrid/common/defaultindexsets.hh>

Inheritance diagram for Dune::DefaultIndexSet< GridImp, IteratorImp >:
Dune::IndexSet< GridImp, DefaultIndexSet< GridImp, IteratorImp >, unsigned int >

Classes

struct  Index
 

Public Types

enum  { ncodim = GridType::dimension + 1 }
 
typedef unsigned int IndexType
 type of index More...
 
typedef PersistentContainer
< GridType, Index
PersistentContainerType
 
typedef std::vector
< PersistentContainerType * > 
PersistentContainerVectorType
 

Public Member Functions

 DefaultIndexSet (const GridType &grid, const IteratorType &begin, const IteratorType &end, const int level=-1)
 
 ~DefaultIndexSet ()
 desctructor deleting persistent containers More...
 
const PersistentContainerTypeindexContainer (const size_t codim) const
 
PersistentContainerTypeindexContainer (const size_t codim)
 
template<class EntityType >
IndexType index (const EntityType &en) const
 return LevelIndex of given entity More...
 
template<int cd>
IndexType index (const typename GridImp::template Codim< cd >::Entity &en) const
 return LevelIndex of given entity More...
 
template<int cc>
IndexType subIndex (const typename remove_const< GridImp >::type::Traits::template Codim< cc >::Entity &e, int i, unsigned int codim) const
 
template<class EntityType >
bool contains (const EntityType &en) const
 returns true if this set provides an index for given entity More...
 
IndexType size (int codim) const
 return size of IndexSet for a given level and codim More...
 
IndexType size (GeometryType type) const
 
void calcNewIndex (const IteratorType &begin, const IteratorType &end)
 
const std::vector< GeometryType > & geomTypes (int codim) const
 deliver all geometry types used in this grid More...
 
bool containsIndex (const int cd, const int idx) const
 returns true if this set provides an index for given entity More...
 
Index access from entity
IndexType index (const typename remove_const< GridImp >::type::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 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...
 

Static Public Attributes

static const int dimension
 dimension of the grid (maximum allowed codimension) More...
 

Detailed Description

template<class GridImp, class IteratorImp>
class Dune::DefaultIndexSet< GridImp, IteratorImp >

DefaultIndexSet creates an index set by using the grids persistent container an a given pair of iterators.

Member Typedef Documentation

template<class GridImp , class IteratorImp >
typedef unsigned int Dune::DefaultIndexSet< GridImp, IteratorImp >::IndexType

type of index

template<class GridImp , class IteratorImp >
typedef PersistentContainer< GridType, Index > Dune::DefaultIndexSet< GridImp, IteratorImp >::PersistentContainerType
template<class GridImp , class IteratorImp >
typedef std::vector< PersistentContainerType* > Dune::DefaultIndexSet< GridImp, IteratorImp >::PersistentContainerVectorType

Member Enumeration Documentation

template<class GridImp , class IteratorImp >
anonymous enum
Enumerator
ncodim 

Constructor & Destructor Documentation

template<class GridImp , class IteratorImp >
Dune::DefaultIndexSet< GridImp, IteratorImp >::DefaultIndexSet ( const GridType &  grid,
const IteratorType &  begin,
const IteratorType &  end,
const int  level = -1 
)
inline

create index set by using the given begin and end iterator for the given level (level == -1 means leaf level)

References Dune::DefaultIndexSet< GridImp, IteratorImp >::calcNewIndex(), and Dune::DefaultIndexSet< GridImp, IteratorImp >::ncodim.

template<class GridImp , class IteratorImp >
Dune::DefaultIndexSet< GridImp, IteratorImp >::~DefaultIndexSet ( )
inline

desctructor deleting persistent containers

References Dune::DefaultIndexSet< GridImp, IteratorImp >::ncodim.

Member Function Documentation

template<class GridImp , class IteratorImp >
void Dune::DefaultIndexSet< GridImp, IteratorImp >::calcNewIndex ( const IteratorType &  begin,
const IteratorType &  end 
)
inline
template<class GridImp , class IteratorImp >
template<class EntityType >
bool Dune::DefaultIndexSet< GridImp, IteratorImp >::contains ( const EntityType &  en) const
inline

returns true if this set provides an index for given entity

References Dune::DefaultIndexSet< GridImp, IteratorImp >::index(), and Dune::DefaultIndexSet< GridImp, IteratorImp >::indexContainer().

template<class GridImp , class IteratorImp >
bool Dune::DefaultIndexSet< GridImp, IteratorImp >::containsIndex ( const int  cd,
const int  idx 
) const
inline
template<class GridImp , class IteratorImp >
const std::vector<GeometryType>& Dune::DefaultIndexSet< GridImp, IteratorImp >::geomTypes ( int  codim) const
inline

deliver all geometry types used in this grid

IndexType Dune::IndexSet< GridImp, DefaultIndexSet< GridImp, IteratorImp > , unsigned int >::index ( const typename remove_const< GridImp >::type::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.
template<class GridImp , class IteratorImp >
template<class EntityType >
IndexType Dune::DefaultIndexSet< GridImp, IteratorImp >::index ( const EntityType &  en) const
inline
template<class GridImp , class IteratorImp >
template<int cd>
IndexType Dune::DefaultIndexSet< GridImp, IteratorImp >::index ( const typename GridImp::template Codim< cd >::Entity en) const
inline
template<class GridImp , class IteratorImp >
const PersistentContainerType& Dune::DefaultIndexSet< GridImp, IteratorImp >::indexContainer ( const size_t  codim) const
inline
template<class GridImp , class IteratorImp >
PersistentContainerType& Dune::DefaultIndexSet< GridImp, IteratorImp >::indexContainer ( const size_t  codim)
inline
template<class GridImp , class IteratorImp >
IndexType Dune::DefaultIndexSet< GridImp, IteratorImp >::size ( int  codim) const
inline

return size of IndexSet for a given level and codim

Referenced by Dune::DefaultIndexSet< GridImp, IteratorImp >::containsIndex().

template<class GridImp , class IteratorImp >
IndexType Dune::DefaultIndexSet< GridImp, IteratorImp >::size ( GeometryType  type) const
inline

return size of IndexSet for a given level and codim this method is to be revised

IndexType Dune::IndexSet< GridImp, DefaultIndexSet< GridImp, IteratorImp > , unsigned int >::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 (must satisfy cc <= codim <= dimension)
Returns
An index in the range 0 ... Max number of entities in set - 1.
IndexType Dune::IndexSet< GridImp, DefaultIndexSet< GridImp, IteratorImp > , unsigned int >::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
Returns
An index in the range 0 ... Max number of entities in set - 1.
template<class GridImp , class IteratorImp >
template<int cc>
IndexType Dune::DefaultIndexSet< GridImp, IteratorImp >::subIndex ( const typename remove_const< GridImp >::type::Traits::template Codim< cc >::Entity e,
int  i,
unsigned int  codim 
) const
inline

return subIndex (LevelIndex) for a given Entity of codim = 0 and a given SubEntity codim and number of SubEntity

References Dune::DefaultIndexSet< GridImp, IteratorImp >::indexContainer().

Member Data Documentation

const int Dune::IndexSet< GridImp, DefaultIndexSet< GridImp, IteratorImp > , unsigned int >::dimension
staticinherited

dimension of the grid (maximum allowed codimension)


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