5#ifndef DUNE_GEOMETRY_REFINEMENT_BASE_CC
6#define DUNE_GEOMETRY_REFINEMENT_BASE_CC
28 namespace RefinementImp
67 template<
unsigned topologyId,
class CoordType,
68 unsigned coerceToId,
int dimension,
class Dummy =
void>
72 typedef SquaringTheCircle::Refinement Imp;
79 template<
unsigned topologyId,
class CoordType,
80 unsigned coerceToId,
int dimension,
class =
void>
136 template<
unsigned topologyId,
class CoordType,
137 unsigned coerceToId,
int dimension_>
140 coerceToId, dimension_ >::Imp
149 template<
int codimension>
180 typedef typename RefinementImp::Traits< topologyId, CoordType, coerceToId, dimension_>::Imp
RefinementImp;
182 using RefinementImp::dimension;
184 using RefinementImp::Codim;
186 using typename RefinementImp::VertexIterator;
187 using typename RefinementImp::CoordVector;
189 using typename RefinementImp::ElementIterator;
190 using typename RefinementImp::IndexVector;
199 return RefinementImp::nVertices(tag.
intervals());
209 return RefinementImp::vBegin(tag.
intervals());
219 return RefinementImp::vEnd(tag.
intervals());
229 return RefinementImp::nElements(tag.
intervals());
239 return RefinementImp::eBegin(tag.
intervals());
249 return RefinementImp::eEnd(tag.
intervals());
A unique label for each type of element that can occur in a grid.
RefinementIntervals refinementIntervals(int intervals)
Creates a RefinementIntervals object.
Definition base.cc:108
RefinementIntervals refinementLevels(int levels)
Creates a RefinementIntervals object.
Definition base.cc:117
Definition affinegeometry.hh:21
Mapping from geometryType, CoordType and coerceTo to a particular Refinement implementation.
Definition base.cc:70
Holds the number of refined intervals per axis needed for virtual and static refinement.
Definition base.cc:94
RefinementIntervals(int i)
Definition base.cc:98
int intervals() const
Definition base.cc:100
Wrap each Refinement implementation to get a consistent interface.
Definition base.cc:141
static ElementIterator eEnd(Dune::RefinementIntervals tag)
Get an ElementIterator.
Definition base.cc:247
static ElementIterator eBegin(Dune::RefinementIntervals tag)
Get an ElementIterator.
Definition base.cc:237
static int nElements(Dune::RefinementIntervals tag)
Get the number of Elements.
Definition base.cc:227
Codim< 0 >::SubEntityIterator ElementIterator
The ElementIterator of the Refinement.
Definition base.cc:163
static int nVertices(Dune::RefinementIntervals tag)
Get the number of Vertices.
Definition base.cc:197
static VertexIterator vBegin(Dune::RefinementIntervals tag)
Get a VertexIterator.
Definition base.cc:207
Codim< dimension >::SubEntityIterator VertexIterator
The VertexIterator of the Refinement.
Definition base.cc:161
typedef CoordVector
The CoordVector of the Refinement.
Definition base.cc:170
typedef IndexVector
The IndexVector of the Refinement.
Definition base.cc:177
RefinementImp::Traits< topologyId, CoordType, coerceToId, dimension_ >::Imp RefinementImp
Definition base.cc:180
static VertexIterator vEnd(Dune::RefinementIntervals tag)
Get a VertexIterator.
Definition base.cc:217
The Codim struct inherited from the Refinement implementation.
Definition base.cc:151
typedef SubEntityIterator
The SubEntityIterator for each codim.
Definition base.cc:157