3#ifndef DUNE_GRID_YASPGRIDPERSISTENTCONTAINER_HH
4#define DUNE_GRID_YASPGRIDPERSISTENTCONTAINER_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> >,
114 Base(*this, codim, value)
Include standard header files.
Definition agrid.hh:60
Wrapper class for entities.
Definition common/entity.hh:62
int level() const
The level of this entity.
Definition common/entity.hh:125
@ codimension
Know your own codimension.
Definition common/entity.hh:104
Grid abstract base class.
Definition common/grid.hh:373
int size(int level, int codim) const
Return number of grid entities of a given codim on a given level in this process.
Definition common/grid.hh:542
A class for storing data during an adaptation cycle.
Definition utility/persistentcontainer.hh:20
Base::Value Value
Definition utility/persistentcontainer.hh:25
const Grid & grid() const
Definition persistentcontainermap.hh:112
Size size() const
Definition persistentcontainermap.hh:84
vector-based implementation of the PersistentContainer
Definition persistentcontainervector.hh:49
Vector::value_type Value
Definition persistentcontainervector.hh:55
G Grid
Definition persistentcontainervector.hh:53
[ provides Dune::Grid ]
Definition yaspgrid.hh:165
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
YaspPersistentContainerIndex(const Grid &grid, int codim)
Definition yaspgridpersistentcontainer.hh:36
std::size_t size(int codim) const
Return total number of entities of given geometry type in entity set .
Definition yaspgridpersistentcontainer.hh:65
std::size_t IndexType
The type used for the indices.
Definition yaspgridpersistentcontainer.hh:43
Base::Grid Grid
Definition yaspgridpersistentcontainer.hh:107
Base::Value Value
Definition yaspgridpersistentcontainer.hh:108
PersistentContainer(const Grid &grid, int codim, const Value &value=Value())
Definition yaspgridpersistentcontainer.hh:112