3 #ifndef DUNE_GEOGRID_INTERSECTIONITERATOR_HH 4 #define DUNE_GEOGRID_INTERSECTIONITERATOR_HH 17 template<
class Gr
id,
class HostIntersectionIterator >
18 class IntersectionIterator
20 typedef typename std::remove_const< Grid >::type::Traits Traits;
22 typedef GeoGrid::Intersection< Grid, typename HostIntersectionIterator::Intersection > IntersectionImpl;
24 typedef typename Traits::template Codim< 0 >::Geometry ElementGeometry;
25 typedef typename Traits::template Codim< 0 >::GeometryImpl ElementGeometryImpl;
33 template<
class Entity >
35 const HostIntersectionIterator &hostIterator )
36 : hostIterator_( hostIterator )
37 , insideGeo_(
Grid::getRealImplementation( inside.geometry() ) )
41 : hostIterator_( other.hostIterator_ )
42 , insideGeo_( other.insideGeo_ )
46 : hostIterator_(
std::move( other.hostIterator_ ) )
47 , insideGeo_(
std::move( other.insideGeo_ ) )
52 hostIterator_ = other.hostIterator_;
53 insideGeo_ = other.insideGeo_;
59 hostIterator_ = std::move( other.hostIterator_ );
60 insideGeo_ = std::move( other.insideGeo_ );
66 return (hostIterator_ == other.hostIterator_);
76 return IntersectionImpl( *hostIterator_, insideGeo_ );
81 HostIntersectionIterator hostIterator_;
82 ElementGeometryImpl insideGeo_;
90 #endif // #ifndef DUNE_GEOGRID_INTERSECTIONITERATOR_HH
IntersectionIterator()
Definition: geometrygrid/intersectioniterator.hh:30
IntersectionIterator(IntersectionIterator &&other)
Definition: geometrygrid/intersectioniterator.hh:45
Definition: geometrygrid/entity.hh:58
Dune::Intersection< Grid, IntersectionImpl > Intersection
Definition: geometrygrid/intersectioniterator.hh:28
Intersection dereference() const
Definition: geometrygrid/intersectioniterator.hh:74
Grid abstract base classThis class is the base class for all grid implementations. Although no virtual functions are used we call it abstract since its methods do not contain an implementation but forward to the methods of the derived class via the Barton-Nackman trick.
Definition: common/grid.hh:373
IntersectionIterator(const Entity &inside, const HostIntersectionIterator &hostIterator)
Definition: geometrygrid/intersectioniterator.hh:34
void increment()
Definition: geometrygrid/intersectioniterator.hh:69
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: albertagrid/dgfparser.hh:26
IntersectionIterator & operator=(const IntersectionIterator &other)
Definition: geometrygrid/intersectioniterator.hh:50
bool equals(const IntersectionIterator &other) const
Definition: geometrygrid/intersectioniterator.hh:64
IntersectionIterator(const IntersectionIterator &other)
Definition: geometrygrid/intersectioniterator.hh:40
DUNE-conform implementation of the entityThis class merely changes the template parameters of the ent...
Definition: geometrygrid/entity.hh:47
Include standard header files.
Definition: agrid.hh:58