3#ifndef DUNE_GRID_YASPGRIDPERSISTENTCONTAINER_HH
4#define DUNE_GRID_YASPGRIDPERSISTENTCONTAINER_HH
13#include <dune/grid/utility/persistentcontainer.hh>
14#include <dune/grid/utility/persistentcontainervector.hh>
15#include "../yaspgrid.hh"
31 template<
typename Gr
id>
37 : _grid(grid), _codim(codim)
46 template<
class Entity>
50 std::size_t level = e.
level();
51 return _grid.indexsets[level]->template index<cc>(e) + _offsets[level];
55 template<
class Entity >
60 std::size_t level = e.
level();
61 return _grid.indexsets[level]->template subIndex<cc>(e,i,codim) + _offsets[level];
65 std::size_t
size (
int codim)
const
67 if (_grid.indexsets.
size()+1 != _offsets.size())
69 return _offsets.back();
73 void recomputeOffsets()
const
75 _offsets.resize(_grid.indexsets.
size()+1,0);
77 for (std::size_t i=0; i<_grid.indexsets.
size(); i++)
78 _offsets[i+1] = _offsets[i] + _grid.indexsets[i]->
size(_codim);
83 mutable std::vector<std::size_t> _offsets;
92 template<
int dim,
class CoordCont,
class T>
100 YaspPersistentContainerIndex< const YaspGrid<dim, CoordCont> >,
107 typedef typename Base::Grid Grid;
108 typedef typename Base::Value Value;
114 Base(*
this, codim, value)
Wrapper class for entities.
Definition: entity.hh:62
@ codimension
Know your own codimension.
Definition: entity.hh:104
int level() const
The level of this entity.
Definition: entity.hh:125
Grid abstract base class.
Definition: grid.hh:388
int size(int level, int codim) const
Return number of grid entities of a given codim on a given level in this process.
Definition: grid.hh:568
vector-based implementation of the PersistentContainer
Definition: persistentcontainervector.hh:49
A class for storing data during an adaptation cycle.
Definition: persistentcontainer.hh:20
[ provides Dune::Grid ]
Definition: yaspgrid.hh:166
implement a consecutive index for all entities of given codim of a YaspGrid
Definition: yaspgridpersistentcontainer.hh:33
IndexType index(const Entity &e) const
Map entity to index. The result of calling this method with an entity that is not in the index set is...
Definition: yaspgridpersistentcontainer.hh:47
IndexType subIndex(const Entity &e, int i, unsigned int codim) const
Map a subentity to an index.
Definition: yaspgridpersistentcontainer.hh:56
std::size_t size(int codim) const
Definition: yaspgridpersistentcontainer.hh:65
std::size_t IndexType
The type used for the indices.
Definition: yaspgridpersistentcontainer.hh:43
Dune namespace.
Definition: alignment.hh:10