37#ifndef VIGRA_CONTOURCIRCULATOR_HXX
38#define VIGRA_CONTOURCIRCULATOR_HXX
40#include "pixelneighborhood.hxx"
92template <
class IMAGEITERATOR>
97 typedef typename IMAGEITERATOR::value_type label_type;
105 : neighborCirc_(circ),
141 label_(*in_the_region),
151 pos_ += neighborCirc_.
diff();
155 if(*neighborCirc_ == label_)
164 if(*neighborCirc_ == label_)
194 return neighborCirc_ == o.neighborCirc_;
201 return neighborCirc_ != o.neighborCirc_;
232 {
return neighborCirc_.
diff(); }
Circulator that walks around a given region.
Definition: contourcirculator.hxx:94
IMAGEITERATOR outerPixel() const
Definition: contourcirculator.hxx:225
bool operator==(CrackContourCirculator const &o) const
Definition: contourcirculator.hxx:192
Point2D const * pointer
Definition: contourcirculator.hxx:121
bool operator!=(CrackContourCirculator const &o) const
Definition: contourcirculator.hxx:199
CrackContourCirculator & operator++()
Definition: contourcirculator.hxx:149
Point2D const & reference
Definition: contourcirculator.hxx:117
Diff2D const & diff() const
Definition: contourcirculator.hxx:231
reference operator*() const
Definition: contourcirculator.hxx:212
forward_circulator_tag iterator_category
Definition: contourcirculator.hxx:125
CrackContourCirculator(IMAGEITERATOR const &in_the_region, vigra::FourNeighborCode::Direction dir=vigra::FourNeighborCode::West)
Definition: contourcirculator.hxx:138
reference pos() const
Definition: contourcirculator.hxx:207
CrackContourCirculator operator++(int)
Definition: contourcirculator.hxx:183
pointer operator->() const
Definition: contourcirculator.hxx:217
Point2D value_type
Definition: contourcirculator.hxx:113
Two dimensional difference vector.
Definition: diff2d.hxx:186
Encapsulation of direction management for the 8-neighborhood.
Definition: pixelneighborhood.hxx:421
Direction
Definition: pixelneighborhood.hxx:179
@ West
 
Definition: pixelneighborhood.hxx:183
NEIGHBOROFFSETCIRCULATOR::value_type const & diff() const
Definition: pixelneighborhood.hxx:1281
NeighborhoodCirculator & moveCenterToNeighbor()
Definition: pixelneighborhood.hxx:1201
NeighborhoodCirculator & turnRight()
Definition: pixelneighborhood.hxx:1152
NeighborhoodCirculator & turnLeft()
Definition: pixelneighborhood.hxx:1165
base_type center() const
Definition: pixelneighborhood.hxx:1263
base_type const & base() const
Definition: pixelneighborhood.hxx:1257
Two dimensional point or position.
Definition: diff2d.hxx:593