Go to the documentation of this file.
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 DUNE_DEPRECATED_MSG(
"nVertices(int) is deprecated, use nVertices(Dune::refinement{Intervals|Levels}(int))")
321 virtual
int nVertices(
int level) const = 0;
330 VertexIterator vBegin(int level) const;
336 VertexIterator vBegin(Dune::RefinementIntervals tag) const;
338 DUNE_DEPRECATED_MSG("vEnd(
int) is deprecated, use
vEnd(Dune::refinement{Intervals|Levels}(int))
")
339 VertexIterator vEnd(int level) const;
345 VertexIterator vEnd(Dune::RefinementIntervals tag) const;
348 DUNE_DEPRECATED_MSG("nElements(
int) is deprecated, use
nElements(Dune::refinement{Intervals|Levels}(int))
")
349 virtual int nElements(int level) const = 0;
355 virtual int nElements(Dune::RefinementIntervals tag) const = 0;
357 DUNE_DEPRECATED_MSG("eBegin(
int) is deprecated, use
eBegin(Dune::refinement{Intervals|Levels}(int))
")
358 ElementIterator eBegin(int level) const;
364 ElementIterator eBegin(Dune::RefinementIntervals tag) const;
366 DUNE_DEPRECATED_MSG("eEnd(
int) is deprecated, use
eEnd(Dune::refinement{Intervals|Levels}(int))
")
367 ElementIterator eEnd(int level) const;
373 ElementIterator eEnd(Dune::RefinementIntervals tag) const;
376 virtual ~VirtualRefinement()
380 virtual VertexIteratorBack *vBeginBack(Dune::RefinementIntervals tag) const = 0;
381 virtual VertexIteratorBack *vEndBack(Dune::RefinementIntervals tag) const = 0;
382 virtual ElementIteratorBack *eBeginBack(Dune::RefinementIntervals tag) const = 0;
383 virtual ElementIteratorBack *eEndBack(Dune::RefinementIntervals tag) const = 0;
387 template<int dimension, class CoordType>
388 template<int codimension>
389 struct VirtualRefinement<dimension, CoordType>::Codim
391 class SubEntityIterator;
394 // ////////////////////////
396 // The refinement builder
399 template<int dimension, class CoordType>
400 VirtualRefinement<dimension, CoordType> &
401 buildRefinement(GeometryType geometryType, GeometryType coerceTo);
405 #include "virtualrefinement.cc
"
407 #endif // DUNE_GEOMETRY_VIRTUALREFINEMENT_HH
VertexIterator vEnd(Dune::RefinementIntervals tag) const
Get an VertexIterator.
Definition: virtualrefinement.cc:51
A unique label for each type of element that can occur in a grid.
Codim< dimension >::SubEntityIterator VertexIterator
The VertexIterator of the VirtualRefinement.
Definition: virtualrefinement.hh:295
SubEntityIteratorBack< dimension > VertexIteratorBack
Definition: virtualrefinement.hh:315
DUNE_DEPRECATED_MSG("nVertices(int) is deprecated, use nVertices(Dune::refinement{Intervals|Levels}(int))") virtual int nVertices(int level) const =0
Get the number of Vertices.
Definition: virtualrefinement.cc:255
std::vector< int > IndexVector
The IndexVector of the VirtualRefinement.
Definition: virtualrefinement.hh:312
virtual int nVertices(Dune::RefinementIntervals tag) const =0
Get the number of Vertices.
virtual int nElements(Dune::RefinementIntervals tag) const =0
Get the number of Elements.
ElementIterator eEnd(Dune::RefinementIntervals tag) const
Get an ElementIterator.
Definition: virtualrefinement.cc:81
FieldVector< CoordType, dimension > CoordVector
The CoordVector of the VirtualRefinement.
Definition: virtualrefinement.hh:306
Holds the number of refined intervals per axis needed for virtual and static refinement.
Definition: base.cc:92
ElementIterator eBegin(Dune::RefinementIntervals tag) const
Get an ElementIterator.
Definition: virtualrefinement.cc:66
SubEntityIteratorBack< 0 > ElementIteratorBack
Definition: virtualrefinement.hh:317
VertexIterator vBegin(Dune::RefinementIntervals tag) const
Get an VertexIterator.
Definition: virtualrefinement.cc:36
Definition: affinegeometry.hh:18
codim database of VirtualRefinement
Definition: virtualrefinement.hh:295
This file simply includes all Refinement implementations so you don't have to do them separately.
Codim< 0 >::SubEntityIterator ElementIterator
The ElementIterator of the VirtualRefinement.
Definition: virtualrefinement.hh:299
VirtualRefinement base class.
Definition: virtualrefinement.hh:291