6#ifndef DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH
7#define DUNE_GRID_IO_FILE_VTK_POINTITERATOR_HH
12#include <dune/common/iteratorfacades.hh>
13#include <dune/common/typetraits.hh>
49 template<
typename CellIterator,
typename IS>
51 :
public ForwardIteratorFacade
52 < PointIterator<CellIterator, IS>,
53 const Corner<typename std::remove_const<typename std::iterator_traits<
54 CellIterator>::value_type>::type>,
55 const Corner<typename std::remove_const<typename std::iterator_traits<
56 CellIterator>::value_type>::type>&,
57 typename std::iterator_traits<CellIterator>::difference_type>
60 typedef VTK::Corner<
typename std::remove_const<
typename std::iterator_traits<
61 CellIterator>::value_type>::type>
Corner;
67 typedef typename std::iterator_traits<CellIterator>::difference_type
70 static const unsigned mydim = std::iterator_traits<CellIterator>::
71 value_type::mydimension;
79 std::vector<bool> seen;
91 return cornerit == other.cornerit;
96 typename IS::IndexType index =
97 is->subIndex(cornerit->cell(), cornerit->duneIndex(),
mydim);
114 : cornerit(cellit, cellend), is(&is_), seen(is->size(
mydim), false)
121 : cornerit(cellend_), is(0)
Include standard header files.
Definition: agrid.hh:60
simple class representing a corner of a cell
Definition: corner.hh:25
iterate over the corners of some cell range
Definition: corneriterator.hh:39
bool isDereferencable() const
Definition: corneriterator.hh:69
iterate over the points of some corner range
Definition: pointiterator.hh:58
PointIterator(const CellIterator &cellit, const CellIterator &cellend, const IS &is_)
construct a CornerIterator
Definition: pointiterator.hh:112
void increment()
Definition: pointiterator.hh:94
VTK::Corner< typename std::remove_const< typename std::iterator_traits< CellIterator >::value_type >::type > Corner
Definition: pointiterator.hh:61
Reference dereference() const
Definition: pointiterator.hh:82
std::iterator_traits< CellIterator >::difference_type DifferenceType
Definition: pointiterator.hh:68
static const unsigned mydim
Definition: pointiterator.hh:70
PointIterator(const CellIterator &cellend_)
construct a CornerIterator
Definition: pointiterator.hh:120
bool equals(const DerivedType &other) const
Definition: pointiterator.hh:90
PointIterator< CellIterator, IS > DerivedType
Definition: pointiterator.hh:64
const Corner Value
Definition: pointiterator.hh:65
Value & Reference
Definition: pointiterator.hh:66
bool isDereferencable() const
Definition: pointiterator.hh:86