3#ifndef DUNE_GRIDVIEW_HH
4#define DUNE_GRIDVIEW_HH
6#include <dune/common/iteratorrange.hh>
8#include <dune/geometry/type.hh>
16 template<
int,
int,
class,
class >
17 class GridDefaultImplementation;
58 template<
class ViewTraits >
63#if DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
78 typedef typename Traits :: Grid
Grid;
110 template< PartitionIteratorType pit >
164 return impl().grid();
175 return impl().indexSet();
181 return impl().size( codim );
185 int size (
const GeometryType &type )
const
187 return impl().size( type );
196 template<
class EntityType>
199 return impl().indexSet().contains(e);
206 return impl().template begin<cd>();
213 return impl().template end<cd>();
217 template<
int cd , PartitionIteratorType pitype >
218 typename Codim< cd > :: template Partition< pitype > :: Iterator
221 return impl().template begin<cd,pitype>();
225 template<
int cd, PartitionIteratorType pitype >
226 typename Codim< cd > :: template Partition< pitype > :: Iterator
229 return impl().template end<cd,pitype>();
236 return impl().ibegin(entity);
243 return impl().iend(entity);
249 return impl().comm();
255 return impl().overlapSize(codim);
261 return impl().ghostSize(codim);
265 template<
class DataHandleImp,
class DataType >
270 impl().communicate(data,iftype,dir);
273#if DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
Describes the parallel communication interface class for MessageBuffers and DataHandles.
CommunicationDirection
Define a type for communication direction parameter.
Definition gridenums.hh:168
InterfaceType
Parameter to be used for the communication functions.
Definition gridenums.hh:84
const IndexSet & indexSet() const
obtain the index set
Definition common/gridview.hh:173
Traits::Grid Grid
type of the grid
Definition common/gridview.hh:78
ThisType & operator=(const ThisType &other)
assignment operator
Definition common/gridview.hh:154
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition common/gridview.hh:204
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition common/gridview.hh:162
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition common/gridview.hh:211
Implementation & impl()
return reference to the real implementation
Definition common/gridview.hh:281
Traits::template Codim< cd >::Iterator Iterator
type of iterator returned by the grid view
Definition common/gridview.hh:98
const CollectiveCommunication & comm() const
obtain collective communication object
Definition common/gridview.hh:247
Traits::template Codim< cd >::template Partition< pit >::Iterator Iterator
iterator over a given codim and partition type
Definition common/gridview.hh:115
ViewTraits Traits
Traits class.
Definition common/gridview.hh:75
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition common/gridview.hh:87
const Implementation & impl() const
return reference to the real implementation
Definition common/gridview.hh:283
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition common/gridview.hh:234
Traits::IndexSet IndexSet
type of the index set
Definition common/gridview.hh:81
Implementation impl_
Definition common/gridview.hh:286
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition common/gridview.hh:253
Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition common/gridview.hh:90
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition common/gridview.hh:185
ViewTraits::GridViewImp GridViewImp
Definition common/gridview.hh:72
int size(int codim) const
obtain number of entities in a given codimension
Definition common/gridview.hh:179
ViewTraits::GridViewImp Implementation
Definition common/gridview.hh:69
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Communicate data on this view.
Definition common/gridview.hh:266
GridView(const Implementation &imp)
constructor (engine concept)
Definition common/gridview.hh:143
Codim< cd >::template Partition< pitype >::Iterator begin() const
obtain begin iterator for this view
Definition common/gridview.hh:219
Traits::Intersection Intersection
type of the intersection
Definition common/gridview.hh:84
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition common/gridview.hh:241
Traits::template Codim< cd >::Entity Entity
type of corresponding entity
Definition common/gridview.hh:101
Traits::template Codim< cd >::LocalGeometry LocalGeometry
type of the implementation for local geometries
Definition common/gridview.hh:107
Grid::ctype ctype
type used for coordinates in grid
Definition common/gridview.hh:125
Codim< cd >::template Partition< pitype >::Iterator end() const
obtain end iterator for this view
Definition common/gridview.hh:227
bool contains(const EntityType &e) const
Return true if the given entity is contained in this grid view.
Definition common/gridview.hh:197
GridView(const ThisType &other)
Copy constructor.
Definition common/gridview.hh:149
Traits::template Codim< cd >::Geometry Geometry
type of the geometry implementation
Definition common/gridview.hh:104
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition common/gridview.hh:259
@ dimension
The dimension of the grid.
Definition common/gridview.hh:128
@ conforming
Export if this grid view is conforming.
Definition common/gridview.hh:121
@ dimensionworld
The dimension of the world the grid lives in.
Definition common/gridview.hh:132
Include standard header files.
Definition agrid.hh:60
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition datahandleif.hh:73
Definition common/grid.hh:924
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition common/intersectioniterator.hh:81
Grid abstract base class.
Definition common/grid.hh:373
@ dimensionworld
The dimension of the world the grid lives in.
Definition common/grid.hh:393
ct ctype
Define type used for coordinates in grid module.
Definition common/grid.hh:522
Grid view abstract base class.
Definition common/gridview.hh:60
A struct that collects all associated types of one implementation from the Traits class.
Definition common/gridview.hh:96
Define types needed to iterate over entities of a given partition type.
Definition common/gridview.hh:112