24 #ifndef LSST_AFW_GEOM_ELLIPSES_PixelRegion_h_INCLUDED 25 #define LSST_AFW_GEOM_ELLIPSES_PixelRegion_h_INCLUDED 27 #include "boost/iterator/iterator_facade.hpp" 66 boost::random_access_traversal_tag> {
78 friend class boost::iterator_core_access;
80 Span const& dereference()
const {
return _s; }
82 void increment() { _s = _region->getSpanAt(_s.getY() + 1); }
84 void decrement() { _s = _region->getSpanAt(_s.getY() - 1); }
86 void advance(
int n) { _s = _region->getSpanAt(_s.getY() + n); }
88 bool equal(
Iterator const&
other)
const {
return _s == other._s; }
90 int distance_to(
Iterator const&
other)
const {
return other._s.
getY() - _s.getY(); }
105 #endif // !LSST_AFW_GEOM_ELLIPSES_PixelRegion_h_INCLUDED lsst::geom::Box2I const & getBBox() const
A range of pixels within one row of an Image.
FastFinder::Iterator Iterator
A base class for image defects.
An ellipse defined by an arbitrary BaseCore and a center point.
PixelRegion(Ellipse const &ellipse)
Iterator(Span const &s=Span(0, 0, 0), PixelRegion const *region=NULL)
PixelRegion & operator=(PixelRegion const &)=default
ItemVariant const * other
int getY() const noexcept
Return the y-value.
Span const getSpanAt(int y) const
An integer coordinate rectangle.