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;
329 DUNE_DEPRECATED_MSG("
vBegin(
int) is deprecated, use
vBegin(
Dune::refinement{Intervals|Levels}(int))
") 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 std::vector< int > IndexVector
The IndexVector of the VirtualRefinement.
Definition: virtualrefinement.hh:312
ElementIterator eEnd(int level) const
Get an ElementIterator.
Definition: virtualrefinement.cc:81
SubEntityIteratorBack< 0 > ElementIteratorBack
Definition: virtualrefinement.hh:317
VertexIterator vEnd(int level) const
Get a VertexIterator.
Definition: virtualrefinement.cc:51
This file simply includes all Refinement implementations so you don't have to do them separately...
Codim< dimension >::SubEntityIterator VertexIterator
The VertexIterator of the VirtualRefinement.
Definition: virtualrefinement.hh:295
Holds the number of refined intervals per axis needed for virtual and static refinement.
Definition: base.cc:92
codim database of VirtualRefinement
Definition: virtualrefinement.hh:295
Codim< 0 >::SubEntityIterator ElementIterator
The ElementIterator of the VirtualRefinement.
Definition: virtualrefinement.hh:299
virtual int nVertices(int level) const =0
Get the number of Vertices.
VertexIterator vBegin(int level) const
Get a VertexIterator.
Definition: virtualrefinement.cc:36
A unique label for each type of element that can occur in a grid.
Definition: virtualrefinement.cc:255
VirtualRefinement base class.
Definition: virtualrefinement.hh:291
ElementIterator eBegin(int level) const
Get an ElementIterator.
Definition: virtualrefinement.cc:66
SubEntityIteratorBack< dimension > VertexIteratorBack
Definition: virtualrefinement.hh:315
Definition: affinegeometry.hh:18
FieldVector< CoordType, dimension > CoordVector
The CoordVector of the VirtualRefinement.
Definition: virtualrefinement.hh:306
virtual int nElements(int level) const =0
Get the number of Elements.