dune-grid
2.5-git
|
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...
#include <dune/grid/common/entityiterator.hh>
Public Types | |
typedef Grid::template Codim< codim >::Entity | Entity |
enum | |
codimension of entity pointer More... | |
typedef std::conditional< std::is_lvalue_reference< decltype(realIterator.dereference()) >::value, const Entity &, Entity >::type | Reference |
Tpy of the reference used when derefencing the Ptr. More... | |
Public Member Functions | |
EntityIterator & | operator++ () |
prefix increment operator More... | |
EntityIterator | operator++ (int) |
postfix increment operator More... | |
const Entity & | operator* () const |
Dereferencing operator. More... | |
const Entity & | operator-> () const |
Pointer operator. More... | |
bool | operator== (const EntityIterator &rhs) const |
Checks for equality. More... | |
bool | operator!= (const EntityIterator &rhs) const |
Checks for inequality. More... | |
DUNE_ENTITYPOINTER_DEPRECATED_MSG bool | operator== (const Entity &rhs) const |
Compares an EntityPointer with an Entity for equality. More... | |
DUNE_ENTITYPOINTER_DEPRECATED_MSG bool | operator!= (const Entity &rhs) const |
Compares an EntityPointer with an Entity for inequality. More... | |
Implementor's interface | |
EntityIterator () | |
default construct (undefined) iterator More... | |
EntityIterator (const IteratorImp &imp) | |
copy constructor from implementaton More... | |
Compare methods | |
bool | operator== (const EntityPointer< Grid, ItImp > &rhs) const |
Checks for equality. Only works for EntityPointers and iterators on the same grid. Due to the conversion operators one can compare all kinds of iterators and EntityPointer. More... | |
bool | operator!= (const EntityPointer< Grid, ItImp > &rhs) const |
Checks for inequality. Only works for EntityPointers and iterators on the same grid. Due to the conversion operators one can compare all kinds of iterators and EntityPointer. More... | |
Query methods | |
int | level () const DUNE_ENTITYPOINTER_DEPRECATED_MSG |
Ask for level of entity. More... | |
Implementor interface | |
bool | equals (const EntityPointer< Grid, ItImp > &rhs) const |
Forward equality check to realIterator. More... | |
Protected Types | |
typedef IteratorImp | Implementation |
Protected Member Functions | |
Implementation & | impl () |
return reference to the real implementation More... | |
const Implementation & | impl () const |
return reference to the real implementation More... | |
Protected Attributes | |
Implementation | realIterator |
Methods and Types of the Entity interface. These are here just for transition purpose | |
enum | |
enum | |
typedef Grid ::template Codim< codimension >::Geometry | Geometry |
The geometry type of this entity. More... | |
typedef Grid ::template Codim< codimension >::EntitySeed | EntitySeed |
The corresponding entity seed (for storage of entities) More... | |
typedef Grid ::template Codim< codimension >::LocalGeometry | LocalGeometry |
The geometry type of this entity when the geometry is expressed embedded in the father element. More... | |
typedef Grid ::HierarchicIterator | HierarchicIterator |
The codim==0 EntityPointer type. More... | |
PartitionType | partitionType () const |
Partition type of this entity. More... | |
Geometry | geometry () const |
obtain geometric realization of the entity More... | |
GeometryType | type () const |
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement. More... | |
EntitySeed | seed () const |
Return the entity seed which contains sufficient information to generate the entity again and uses as little memory as possible. More... | |
Codim< codim >::Entity | subEntity (int i) const |
ONLY_CODIM0 bool | hasFather () const |
Return true if entity has a father entity which can be accessed using the father() method. More... | |
ONLY_CODIM0 bool | isLeaf () const |
Returns true if the entity is contained in the leaf grid. More... | |
ONLY_CODIM0 bool | 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 | geometryInFather () const |
Provides information how this element has been subdivided from its father element. More... | |
ONLY_CODIM0 HierarchicIterator | hbegin (int maxLevel) const |
Inter-level access to elements that resulted from (recursive) subdivision of this element. More... | |
ONLY_CODIM0 HierarchicIterator | hend (int maxLevel) const |
Returns iterator to one past the last son element. More... | |
ONLY_CODIM0 bool | isNew () const |
Returns true, if the entity has been created during the last call to adapt() More... | |
ONLY_CODIM0 bool | 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 | hasBoundaryIntersections () const |
Returns true, if entity has intersections with boundary. More... | |
interface class for an iterator over grid entities
An entity iterator is an iterator over a subset of entities within a hierarchical grid. It is an extension of the Dune::EntityPointer interface.
Examples of entity iterators are:
See also the documentation of Dune::EntityPointer.
codim | codimension of entities this iterator walks over |
Grid | type of the grid implementation |
IteratorImp | type of the iterator implementation |
typedef Grid::template Codim< codim >::Entity Dune::EntityIterator< codim, Grid, IteratorImp >::Entity |
|
inherited |
The corresponding entity seed (for storage of entities)
|
inherited |
The geometry type of this entity.
|
inherited |
The codim==0 EntityPointer type.
The HierarchicIterator type
|
protectedinherited |
|
inherited |
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.
|
inherited |
Tpy of the reference used when derefencing the Ptr.
|
inherited |
codimension of entity pointer
|
inherited |
|
inherited |
|
inline |
default construct (undefined) iterator
|
inline |
copy constructor from implementaton
|
inlineinherited |
Forward equality check to realIterator.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
inlineinherited |
Returns true, if entity has intersections with boundary.
|
inlineinherited |
Return true if entity has a father entity which can be accessed using the father() method.
|
inlineinherited |
Inter-level access to elements that resulted from (recursive) subdivision of this element.
[in] | maxlevel | Iterator does not stop at elements with level greater than maxlevel. |
|
inlineinherited |
Returns iterator to one past the last son element.
|
inlineprotectedinherited |
return reference to the real implementation
|
inlineprotectedinherited |
return reference to the real implementation
|
inlineinherited |
Returns true if the entity is contained in the leaf grid.
|
inlineinherited |
Returns true, if the entity has been created during the last call to adapt()
|
inlineinherited |
Returns true if element is of regular type in red/green type refinement. In bisection or hanging node refinement this is always true.
|
inlineinherited |
Ask for level of entity.
This method is redundant and is only there for efficiency reasons. It allows an implementation to return the level without actually constructing the entity.
|
inlineinherited |
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.
|
inline |
Checks for inequality.
|
inlineinherited |
Checks for inequality. Only works for EntityPointers and iterators on the same grid. Due to the conversion operators one can compare all kinds of iterators and EntityPointer.
|
inlineinherited |
Compares an EntityPointer with an Entity for inequality.
const Entity& Dune::EntityIterator< codim, Grid, IteratorImp >::operator* | ( | ) | const |
Dereferencing operator.
|
inline |
prefix increment operator
|
inline |
postfix increment operator
const Entity& Dune::EntityIterator< codim, Grid, IteratorImp >::operator-> | ( | ) | const |
Pointer operator.
|
inline |
Checks for equality.
|
inlineinherited |
Checks for equality. Only works for EntityPointers and iterators on the same grid. Due to the conversion operators one can compare all kinds of iterators and EntityPointer.
|
inlineinherited |
Compares an EntityPointer with an Entity for equality.
|
inlineinherited |
Partition type of this entity.
|
inlineinherited |
Return the entity seed which contains sufficient information to generate the entity again and uses as little memory as possible.
|
inlineinherited |
|
inlineinherited |
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
|
protectedinherited |