3#ifndef DUNE_ALBERTA_INTERSECTIONITERATOR_HH
4#define DUNE_ALBERTA_INTERSECTIONITERATOR_HH
6#include <dune/grid/common/intersectioniterator.hh>
8#include <dune/grid/albertagrid/intersection.hh>
23 template<
class Gr
idImp >
24 class AlbertaGridLeafIntersectionIterator
26 typedef AlbertaGridLeafIntersectionIterator< GridImp > This;
31 static const int dimension = Intersection::Entity::dimension;
37 typedef AlbertaGridLeafIntersection< GridImp > IntersectionImp;
40 AlbertaGridLeafIntersectionIterator ()
43 template<
class EntityImp >
44 AlbertaGridLeafIntersectionIterator (
const EntityImp &entity, Begin )
45 : intersection_( IntersectionImp( entity, 0 ) )
48 template<
class EntityImp >
49 AlbertaGridLeafIntersectionIterator (
const EntityImp &entity, End )
50 : intersection_( IntersectionImp( entity, dimension+1 ) )
53 AlbertaGridLeafIntersectionIterator (
const This &other )
54 : intersection_( other.intersectionImp() )
57 This &operator= (
const This &other )
59 intersectionImp() = other.intersectionImp();
63 const Intersection &dereference ()
const
68 bool equals (
const This &other )
const
70 return (intersectionImp() == other.intersectionImp());
75 intersectionImp().next();
79 const IntersectionImp &intersectionImp ()
const
81 return GridImp::getRealImplementation( intersection_ );
84 IntersectionImp &intersectionImp ()
86 return GridImp::getRealImplementation( intersection_ );
89 Intersection intersection_;
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: intersection.hh:162
constexpr auto equals(T1 &&t1, T2 &&t2)
Equality comparison.
Definition: hybridutilities.hh:441
Dune namespace.
Definition: alignment.hh:11