4#ifndef DUNE_GRID_IO_FILE_VTK_CORNERITERATOR_HH 
    5#define DUNE_GRID_IO_FILE_VTK_CORNERITERATOR_HH 
   12#include <dune/geometry/referenceelements.hh> 
   14#include <dune/grid/io/file/vtk/corner.hh> 
   28    template<
typename CellIterator>
 
   31        < CornerIterator<CellIterator>,
 
   32            const Corner<typename remove_const<typename std::iterator_traits<
 
   33                        CellIterator>::value_type>::type>,
 
   34            const Corner<typename remove_const<typename std::iterator_traits<
 
   35                        CellIterator>::value_type>::type>&,
 
   36            typename std::iterator_traits<CellIterator>::difference_type>
 
   41      typedef VTK::Corner<
typename remove_const<
typename std::iterator_traits<
 
   42                  CellIterator>::value_type>::type> 
Corner;
 
   45      typedef typename std::iterator_traits<CellIterator>::difference_type
 
   48      typedef typename std::iterator_traits<CellIterator>::value_type::Geometry::ctype
 
   50      static const unsigned dim = std::iterator_traits<CellIterator>::
 
   51                                  value_type::mydimension;
 
   67      bool isDereferencable()
 const {
 
   68        return cellit != cellend;
 
   72        bool mePassedTheEnd = !isDereferencable();
 
   73        bool otherPassedTheEnd = !other.isDereferencable();
 
   75        if(mePassedTheEnd && otherPassedTheEnd) 
return true;
 
   77        if(mePassedTheEnd || otherPassedTheEnd) 
return false;
 
   79        return cellit == other.cellit &&
 
   88          if(cellit != cellend) {
 
  104                     unsigned vtkIndex = 0)
 
  105        : cellit(cellit_), cellend(cellend_)
 
  107        if(cellit != cellend) {
 
  108          corner.
cell(*cellit);
 
  117        : cellit(cellend_), cellend(cellend_)
 
Base class for stl conformant forward iterators.
Definition: iteratorfacades.hh:141
 
iterate over the corners of some cell range
Definition: corneriterator.hh:37
 
CornerIterator(const CellIterator &cellit_, const CellIterator &cellend_, unsigned vtkIndex=0)
construct a CornerIterator
Definition: corneriterator.hh:103
 
CornerIterator(const CellIterator &cellend_)
construct a CornerIterator
Definition: corneriterator.hh:116
 
simple class representing a corner of a cell
Definition: corner.hh:23
 
unsigned vtkIndex() const
get the index of the corner within the cell in VTK-numbering
Definition: corner.hh:61
 
unsigned duneIndex() const
get the index of the corner within the cell in Dune-numbering
Definition: corner.hh:53
 
const Cell & cell() const
get reference to the cell
Definition: corner.hh:44
 
This file implements iterator facade classes for writing stl conformant iterators.
 
Dune namespace.
Definition: alignment.hh:10
 
Class providing access to the singletons of the reference elements.
Definition: referenceelements.hh:479
 
static const ReferenceElement< ctype, dim > & general(const GeometryType &type)
get general reference elements
Definition: referenceelements.hh:484
 
Traits for type conversions and type information.