37 #ifndef VIGRA_CONTOURCIRCULATOR_HXX 38 #define VIGRA_CONTOURCIRCULATOR_HXX 40 #include "pixelneighborhood.hxx" 92 template <
class IMAGEITERATOR>
97 typedef typename IMAGEITERATOR::value_type label_type;
100 NEIGHBORHOODCIRCULATOR neighborCirc_;
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_;
226 {
return NEIGHBORHOODCIRCULATOR(neighborCirc_).turnRight().base(); }
232 {
return neighborCirc_.
diff(); }
bool operator!=(CrackContourCirculator const &o) const
Definition: contourcirculator.hxx:199
NEIGHBOROFFSETCIRCULATOR::value_type const & diff() const
Definition: pixelneighborhood.hxx:1281
Two dimensional difference vector.
Definition: diff2d.hxx:185
reference pos() const
Definition: contourcirculator.hxx:207
NeighborhoodCirculator & moveCenterToNeighbor()
Definition: pixelneighborhood.hxx:1201
Direction
Definition: pixelneighborhood.hxx:179
Two dimensional point or position.
Definition: diff2d.hxx:592
Diff2D const & diff() const
Definition: contourcirculator.hxx:231
IMAGEITERATOR outerPixel() const
Definition: contourcirculator.hxx:225
NeighborhoodCirculator & turnLeft()
Definition: pixelneighborhood.hxx:1165
CrackContourCirculator(IMAGEITERATOR const &in_the_region, vigra::FourNeighborCode::Direction dir=vigra::FourNeighborCode::West)
Definition: contourcirculator.hxx:138
base_type center() const
Definition: pixelneighborhood.hxx:1263
Point2D const * pointer
Definition: contourcirculator.hxx:121
CrackContourCirculator operator++(int)
Definition: contourcirculator.hxx:183
reference operator*() const
Definition: contourcirculator.hxx:212
pointer operator->() const
Definition: contourcirculator.hxx:217
Point2D const & reference
Definition: contourcirculator.hxx:117
Circulator that walks around a given region.
Definition: contourcirculator.hxx:93
CrackContourCirculator & operator++()
Definition: contourcirculator.hxx:149
 
Definition: pixelneighborhood.hxx:183
bool operator==(CrackContourCirculator const &o) const
Definition: contourcirculator.hxx:192
NeighborhoodCirculator & turnRight()
Definition: pixelneighborhood.hxx:1152
forward_circulator_tag iterator_category
Definition: contourcirculator.hxx:125
Encapsulation of direction management for the 8-neighborhood.
Definition: pixelneighborhood.hxx:420
Point2D value_type
Definition: contourcirculator.hxx:113