dune-grid  2.4.1
Classes | Enumerations
EntityPointer and Iterators
Collaboration diagram for EntityPointer and Iterators:

Classes

singleton  Dune::EntityPointer< GridImp, IteratorImp >
 Wrapper class for pointers to entities. More...
 
struct  Dune::EntityPointer< GridImp, IteratorImp >::Codim< cd >
 EntityPointer types of the different codimensions. More...
 
class  Dune::EntityIterator< codim, Grid, IteratorImp >
 interface class for an iterator over grid entitiesAn entity iterator is an iterator over a subset of entities within a hierarchical grid. It is an extension of the Dune::EntityPointer interface. More...
 

Enumerations

enum  { Dune::EntityPointer< GridImp, IteratorImp >::codimension = IteratorImp::codimension }
 codimension of entity pointer More...
 

Methods and Types of the Entity interface. These are here just for transition purpose

enum  { Dune::EntityPointer< GridImp, IteratorImp >::dimension =Entity::dimension }
 
enum  { Dune::EntityPointer< GridImp, IteratorImp >::mydimension =Entity::dimension }
 
typedef GridImp::template
Codim< codimension >::Geometry 
Dune::EntityPointer< GridImp, IteratorImp >::Geometry
 The geometry type of this entity. More...
 
typedef GridImp::template
Codim< codimension >
::EntitySeed 
Dune::EntityPointer< GridImp, IteratorImp >::EntitySeed
 The corresponding entity seed (for storage of entities) More...
 
typedef GridImp::template
Codim< codimension >
::LocalGeometry 
Dune::EntityPointer< GridImp, IteratorImp >::LocalGeometry
 The geometry type of this entity when the geometry is expressed embedded in the father element. More...
 
typedef GridImp::HierarchicIterator Dune::EntityPointer< GridImp, IteratorImp >::HierarchicIterator
 The codim==0 EntityPointer type. More...
 
PartitionType Dune::EntityPointer< GridImp, IteratorImp >::partitionType () const
 Partition type of this entity. More...
 
Geometry Dune::EntityPointer< GridImp, IteratorImp >::geometry () const
 obtain geometric realization of the entity More...
 
GeometryType Dune::EntityPointer< GridImp, IteratorImp >::type () const
 Return the name of the reference element. The type can be used to access the Dune::ReferenceElement. More...
 
EntitySeed Dune::EntityPointer< GridImp, IteratorImp >::seed () const
 Return the entity seed which contains sufficient information to generate the entity again and uses as little memory as possible. More...
 
template<int codim, CHECK_CODIM0 >
Codim< codim >::Entity Dune::EntityPointer< GridImp, IteratorImp >::subEntity (int i) const
 
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::hasFather () const
 Return true if entity has a father entity which can be accessed using the father() method. More...
 
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::isLeaf () const
 Returns true if the entity is contained in the leaf grid. More...
 
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::isRegular () const
 Returns true if element is of regular type in red/green type refinement. In bisection or hanging node refinement this is always true. More...
 
ONLY_CODIM0 LocalGeometry Dune::EntityPointer< GridImp, IteratorImp >::geometryInFather () const
 Provides information how this element has been subdivided from its father element. More...
 
ONLY_CODIM0 HierarchicIterator Dune::EntityPointer< GridImp, IteratorImp >::hbegin (int maxLevel) const
 Inter-level access to elements that resulted from (recursive) subdivision of this element. More...
 
ONLY_CODIM0 HierarchicIterator Dune::EntityPointer< GridImp, IteratorImp >::hend (int maxLevel) const
 Returns iterator to one past the last son element. More...
 
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::isNew () const
 Returns true, if the entity has been created during the last call to adapt() More...
 
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::mightVanish () const
 Returns true, if entity might disappear during the next call to adapt(). If the method returns false, the entity is guaranteed to still be present after adaptation. More...
 
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::hasBoundaryIntersections () const
 Returns true, if entity has intersections with boundary. More...
 

Detailed Description

Typedef Documentation

template<class GridImp, class IteratorImp>
typedef GridImp::template Codim<codimension>::EntitySeed Dune::EntityPointer< GridImp, IteratorImp >::EntitySeed

The corresponding entity seed (for storage of entities)

template<class GridImp, class IteratorImp>
typedef GridImp::template Codim<codimension>::Geometry Dune::EntityPointer< GridImp, IteratorImp >::Geometry

The geometry type of this entity.

template<class GridImp, class IteratorImp>
typedef GridImp::HierarchicIterator Dune::EntityPointer< GridImp, IteratorImp >::HierarchicIterator

The codim==0 EntityPointer type.

The HierarchicIterator type

template<class GridImp, class IteratorImp>
typedef GridImp::template Codim<codimension>::LocalGeometry Dune::EntityPointer< GridImp, IteratorImp >::LocalGeometry

The geometry type of this entity when the geometry is expressed embedded in the father element.

This differs from Geometry in particular when dim != dimworld, but even when dim == dimworld the implementation may choose to use a different type here.

Enumeration Type Documentation

template<class GridImp, class IteratorImp>
anonymous enum

codimension of entity pointer

Enumerator
codimension 
template<class GridImp, class IteratorImp>
anonymous enum
Enumerator
dimension 

Know the grid's dimension.

template<class GridImp, class IteratorImp>
anonymous enum
Enumerator
mydimension 

Know dimension of the entity.

Function Documentation

template<class GridImp, class IteratorImp>
Geometry Dune::EntityPointer< GridImp, IteratorImp >::geometry ( ) const
inline

obtain geometric realization of the entity

Each entity provides an object of type Dune::Geometry< dimension-codimension, dimensionworld, ... > that represents the map from a reference element to world coordinates.

Note
Previously, the geometry was encapsulated in the entity object and a const reference was returned.
The returned geometry object is guaranteed to remain valid until the grid is modified (or deleted).
template<class GridImp, class IteratorImp>
ONLY_CODIM0 LocalGeometry Dune::EntityPointer< GridImp, IteratorImp >::geometryInFather ( ) const
inline

Provides information how this element has been subdivided from its father element.

The returned LocalGeometry is a model of Dune::Geometry<dimension,dimension,...>, mapping the reference element of the given entity to the reference element of its father.

This information is sufficient to interpolate all degrees of freedom in the conforming case. Nonconforming may require access to neighbors of the father and calculations with local coordinates. The on-the-fly case is somewhat inefficient since degrees of freedom may be visited several times. If we store interpolation matrices, this is tolerable. We assume that on-the-fly implementation of interpolation is only done for simple discretizations.

Note
For ghost entities, this method is not guaranteed to be implemented.
Previously, the geometry was encapsulated in the entity object and a const reference was returned.
The returned geometry object is guaranteed to remain valid until the grid is modified (or deleted).
template<class GridImp, class IteratorImp>
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::hasBoundaryIntersections ( ) const
inline

Returns true, if entity has intersections with boundary.

template<class GridImp, class IteratorImp>
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::hasFather ( ) const
inline

Return true if entity has a father entity which can be accessed using the father() method.

template<class GridImp, class IteratorImp>
ONLY_CODIM0 HierarchicIterator Dune::EntityPointer< GridImp, IteratorImp >::hbegin ( int  maxLevel) const
inline

Inter-level access to elements that resulted from (recursive) subdivision of this element.

Parameters
[in]maxlevelIterator does not stop at elements with level greater than maxlevel.
Returns
Iterator to the first son (level is not greater than maxlevel)
Note
If the partitionType of the Entity is GhostEntity, it is not guaranteed that this method is working or implemented in general. For some grids it might be available, though.
template<class GridImp, class IteratorImp>
ONLY_CODIM0 HierarchicIterator Dune::EntityPointer< GridImp, IteratorImp >::hend ( int  maxLevel) const
inline

Returns iterator to one past the last son element.

Note
If the partitionType of the Entity is GhostEntity, it is not guaranteed that this method is working or implemented in general. For some grids it might be available, though.
template<class GridImp, class IteratorImp>
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::isLeaf ( ) const
inline

Returns true if the entity is contained in the leaf grid.

template<class GridImp, class IteratorImp>
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::isNew ( ) const
inline

Returns true, if the entity has been created during the last call to adapt()

template<class GridImp, class IteratorImp>
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::isRegular ( ) const
inline

Returns true if element is of regular type in red/green type refinement. In bisection or hanging node refinement this is always true.

template<class GridImp, class IteratorImp>
ONLY_CODIM0 bool Dune::EntityPointer< GridImp, IteratorImp >::mightVanish ( ) const
inline

Returns true, if entity might disappear during the next call to adapt(). If the method returns false, the entity is guaranteed to still be present after adaptation.

template<class GridImp, class IteratorImp>
PartitionType Dune::EntityPointer< GridImp, IteratorImp >::partitionType ( ) const
inline

Partition type of this entity.

template<class GridImp, class IteratorImp>
EntitySeed Dune::EntityPointer< GridImp, IteratorImp >::seed ( ) const
inline

Return the entity seed which contains sufficient information to generate the entity again and uses as little memory as possible.

template<class GridImp, class IteratorImp>
template<int codim, CHECK_CODIM0 >
Codim<codim>::Entity Dune::EntityPointer< GridImp, IteratorImp >::subEntity ( int  i) const
inline
template<class GridImp, class IteratorImp>
GeometryType Dune::EntityPointer< GridImp, IteratorImp >::type ( ) const
inline

Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.