3 #ifndef DUNE_GEOMETRY_VIRTUALREFINEMENT_HH
4 #define DUNE_GEOMETRY_VIRTUALREFINEMENT_HH
268 #include <dune/common/fvector.hh>
290 template<
int dimension,
class CoordType>
294 template<
int codimension>
314 template<
int codimension>
320 virtual int nVertices(
int level)
const = 0;
322 VertexIterator
vBegin(
int level)
const;
324 VertexIterator
vEnd(
int level)
const;
327 virtual int nElements(
int level)
const = 0;
329 ElementIterator
eBegin(
int level)
const;
331 ElementIterator
eEnd(
int level)
const;
338 virtual VertexIteratorBack *
vBeginBack(
int level)
const = 0;
339 virtual VertexIteratorBack *
vEndBack(
int level)
const = 0;
340 virtual ElementIteratorBack *
eBeginBack(
int level)
const = 0;
341 virtual ElementIteratorBack *
eEndBack(
int level)
const = 0;
345 template<
int dimension,
class CoordType>
346 template<
int codimension>
347 struct VirtualRefinement<dimension, CoordType>::Codim
349 class SubEntityIterator;
357 template<
int dimension,
class CoordType>
358 VirtualRefinement<dimension, CoordType> &
365 #endif // DUNE_GEOMETRY_VIRTUALREFINEMENT_HH
Definition: affinegeometry.hh:18
VertexIterator vBegin(int level) const
Get a VertexIterator.
Definition: virtualrefinement.cc:36
Codim< 0 >::SubEntityIterator ElementIterator
The ElementIterator of the VirtualRefinement.
Definition: virtualrefinement.hh:299
virtual ElementIteratorBack * eEndBack(int level) const =0
SubEntityIteratorBack< 0 > ElementIteratorBack
Definition: virtualrefinement.hh:317
virtual int nElements(int level) const =0
Get the number of Elements.
ElementIterator eBegin(int level) const
Get an ElementIterator.
Definition: virtualrefinement.cc:52
virtual VertexIteratorBack * vEndBack(int level) const =0
Codim< dimension >::SubEntityIterator VertexIterator
The VertexIterator of the VirtualRefinement.
Definition: virtualrefinement.hh:295
This file simply includes all Refinement implementations so you don't have to do them separately...
virtual int nVertices(int level) const =0
Get the number of Vertices.
codim database of VirtualRefinement
Definition: virtualrefinement.hh:295
VertexIterator vEnd(int level) const
Get a VertexIterator.
Definition: virtualrefinement.cc:44
This file contains the virtual wrapper around refinement.
virtual ~VirtualRefinement()
Destructor.
Definition: virtualrefinement.hh:334
A unique label for each type of element that can occur in a grid.
virtual VertexIteratorBack * vBeginBack(int level) const =0
VirtualRefinement base class.
Definition: virtualrefinement.hh:291
virtual ElementIteratorBack * eBeginBack(int level) const =0
VirtualRefinement< dimension, CoordType > & buildRefinement(GeometryType geometryType, GeometryType coerceTo)
return a reference to the VirtualRefinement according to the parameters
Definition: virtualrefinement.cc:499
ElementIterator eEnd(int level) const
Get an ElementIterator.
Definition: virtualrefinement.cc:60
Definition: virtualrefinement.cc:227
std::vector< int > IndexVector
The IndexVector of the VirtualRefinement.
Definition: virtualrefinement.hh:312
FieldVector< CoordType, dimension > CoordVector
The CoordVector of the VirtualRefinement.
Definition: virtualrefinement.hh:306
SubEntityIteratorBack< dimension > VertexIteratorBack
Definition: virtualrefinement.hh:315