3 #ifndef DUNE_GEOGRID_INTERSECTIONITERATOR_HH
4 #define DUNE_GEOGRID_INTERSECTIONITERATOR_HH
18 template<
class Gr
id,
class HostIntersectionIterator >
21 typedef typename remove_const< Grid >::type::Traits Traits;
25 typedef typename Traits::template Codim< 0 >::EntityPointerImpl EntityPointerImpl;
26 typedef typename Traits::template Codim< 0 >::Geometry ElementGeometry;
31 typedef typename Traits::template Codim< 0 >::EntityPointer
EntityPointer;
33 template<
class Entity >
35 const HostIntersectionIterator &hostIterator )
36 : hostIterator_( hostIterator ),
41 : hostIterator_( other.hostIterator_ ),
47 hostIterator_ = other.hostIterator_;
48 Grid::getRealImplementation( intersection_ ) = Grid::getRealImplementation( other.intersection_ );
54 return (hostIterator_ == other.hostIterator_);
65 if( !intersectionImpl() )
66 intersectionImpl().
initialize( *hostIterator_ );
71 IntersectionImpl &intersectionImpl ()
const
73 return Grid::getRealImplementation( intersection_ );
76 HostIntersectionIterator hostIterator_;
84 #endif // #ifndef DUNE_GEOGRID_INTERSECTIONITERATOR_HH