LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Types | Public Member Functions | Friends | List of all members
lsst::afw::geom::Span Class Referencefinal

A range of pixels within one row of an Image. More...

#include <Span.h>

Public Types

using Iterator = SpanPixelIterator
 An iterator over points in the Span. More...
 
using Interval = lsst::geom::IntervalI
 

Public Member Functions

 Span (int y, int x0, int x1)
 
 Span (Interval const &x, int y)
 
 Span () noexcept
 Construct an empty Span with zero width at the origin. More...
 
 Span (Span const &) noexcept=default
 
 Span (Span &&) noexcept=default
 
Spanoperator= (Span const &) noexcept=default
 
Spanoperator= (Span &&) noexcept=default
 
 ~Span () noexcept=default
 
Iterator begin () const noexcept
 Return an iterator to the first pixel in the Span. More...
 
Iterator end () const noexcept
 Return an iterator to one past the last pixel in the Span. More...
 
int getX0 () const noexcept
 Return the starting x-value. More...
 
int & getX0 () noexcept
 Return the starting x-value. More...
 
int getX1 () const noexcept
 Return the ending x-value. More...
 
int & getX1 () noexcept
 Return the ending x-value. More...
 
Interval getX () const noexcept
 
int getY () const noexcept
 Return the y-value. More...
 
int & getY () noexcept
 Return the y-value. More...
 
int getWidth () const noexcept
 Return the number of pixels. More...
 
int getMinX () const noexcept
 Minimum x-value. More...
 
int getMaxX () const noexcept
 Maximum x-value. More...
 
int getBeginX () const noexcept
 Begin (inclusive) x-value. More...
 
int getEndX () const noexcept
 End (exclusive) x-value. More...
 
lsst::geom::Point2I const getMin () const noexcept
 Point corresponding to minimum x. More...
 
lsst::geom::Point2I const getMax () const noexcept
 Point corresponding to maximum x. More...
 
bool contains (int x) const noexcept
 
bool contains (int x, int y) const noexcept
 
bool contains (lsst::geom::Point2I const &point) const noexcept
 
bool isEmpty () const noexcept
 Return true if the span contains no pixels. More...
 
std::string toString () const
 Return a string-representation of a Span. More...
 
void shift (int dx, int dy) noexcept
 
bool operator== (Span const &other) const noexcept
 
bool operator!= (Span const &other) const noexcept
 
std::size_t hash_value () const noexcept
 Return a hash of this object. More...
 
bool operator< (const Span &b) const noexcept
 

Friends

class detection::Footprint
 
std::ostreamoperator<< (std::ostream &os, Span const &span)
 Stream output; delegates to toString(). More...
 

Detailed Description

A range of pixels within one row of an Image.

Definition at line 47 of file Span.h.

Member Typedef Documentation

◆ Interval

Definition at line 52 of file Span.h.

◆ Iterator

An iterator over points in the Span.

Definition at line 50 of file Span.h.

Constructor & Destructor Documentation

◆ Span() [1/5]

lsst::afw::geom::Span::Span ( int  y,
int  x0,
int  x1 
)
inline
Parameters
yRow that Span's in
x0Starting column (inclusive)
x1Ending column (inclusive)

Definition at line 54 of file Span.h.

57  : _y(y), _x0(x0), _x1(x1) {}
int y
Definition: SpanSet.cc:48

◆ Span() [2/5]

lsst::afw::geom::Span::Span ( Interval const &  x,
int  y 
)
inline

Definition at line 59 of file Span.h.

59 : _y(y), _x0(x.getMin()), _x1(x.getMax()) {}
double x

◆ Span() [3/5]

lsst::afw::geom::Span::Span ( )
inlinenoexcept

Construct an empty Span with zero width at the origin.

Definition at line 62 of file Span.h.

62 : _y(0), _x0(0), _x1(-1) {}

◆ Span() [4/5]

lsst::afw::geom::Span::Span ( Span const &  )
defaultnoexcept

◆ Span() [5/5]

lsst::afw::geom::Span::Span ( Span &&  )
defaultnoexcept

◆ ~Span()

lsst::afw::geom::Span::~Span ( )
defaultnoexcept

Member Function Documentation

◆ begin()

Iterator lsst::afw::geom::Span::begin ( ) const
inlinenoexcept

Return an iterator to the first pixel in the Span.

Definition at line 71 of file Span.h.

71 { return Iterator(lsst::geom::Point2I(_x0, _y)); }
SpanPixelIterator Iterator
An iterator over points in the Span.
Definition: Span.h:50

◆ contains() [1/3]

bool lsst::afw::geom::Span::contains ( int  x) const
inlinenoexcept

Definition at line 95 of file Span.h.

95 { return (x >= _x0) && (x <= _x1); }

◆ contains() [2/3]

bool lsst::afw::geom::Span::contains ( int  x,
int  y 
) const
inlinenoexcept

Definition at line 96 of file Span.h.

96 { return (x >= _x0) && (x <= _x1) && (y == _y); }

◆ contains() [3/3]

bool lsst::afw::geom::Span::contains ( lsst::geom::Point2I const &  point) const
inlinenoexcept

Definition at line 97 of file Span.h.

97  {
98  return contains(point.getX(), point.getY());
99  }
bool contains(int x) const noexcept
Definition: Span.h:95

◆ end()

Iterator lsst::afw::geom::Span::end ( ) const
inlinenoexcept

Return an iterator to one past the last pixel in the Span.

Definition at line 74 of file Span.h.

74 { return Iterator(lsst::geom::Point2I(_x1 + 1, _y)); }

◆ getBeginX()

int lsst::afw::geom::Span::getBeginX ( ) const
inlinenoexcept

Begin (inclusive) x-value.

Definition at line 86 of file Span.h.

◆ getEndX()

int lsst::afw::geom::Span::getEndX ( ) const
inlinenoexcept

End (exclusive) x-value.

Definition at line 87 of file Span.h.

◆ getMax()

lsst::geom::Point2I const lsst::afw::geom::Span::getMax ( ) const
inlinenoexcept

Point corresponding to maximum x.

Definition at line 91 of file Span.h.

◆ getMaxX()

int lsst::afw::geom::Span::getMaxX ( ) const
inlinenoexcept

Maximum x-value.

Definition at line 85 of file Span.h.

◆ getMin()

lsst::geom::Point2I const lsst::afw::geom::Span::getMin ( ) const
inlinenoexcept

Point corresponding to minimum x.

Definition at line 88 of file Span.h.

◆ getMinX()

int lsst::afw::geom::Span::getMinX ( ) const
inlinenoexcept

Minimum x-value.

Definition at line 84 of file Span.h.

◆ getWidth()

int lsst::afw::geom::Span::getWidth ( ) const
inlinenoexcept

Return the number of pixels.

Definition at line 83 of file Span.h.

◆ getX()

Interval lsst::afw::geom::Span::getX ( ) const
inlinenoexcept

Definition at line 80 of file Span.h.

80 { return Interval::fromMinMax(_x0, _x1); }
static IntervalI fromMinMax(Element min, Element max)
Construct an interval from its lower and upper bounds.
Definition: Interval.cc:53

◆ getX0() [1/2]

int lsst::afw::geom::Span::getX0 ( ) const
inlinenoexcept

Return the starting x-value.

Definition at line 76 of file Span.h.

◆ getX0() [2/2]

int& lsst::afw::geom::Span::getX0 ( )
inlinenoexcept

Return the starting x-value.

Definition at line 77 of file Span.h.

◆ getX1() [1/2]

int lsst::afw::geom::Span::getX1 ( ) const
inlinenoexcept

Return the ending x-value.

Definition at line 78 of file Span.h.

◆ getX1() [2/2]

int& lsst::afw::geom::Span::getX1 ( )
inlinenoexcept

Return the ending x-value.

Definition at line 79 of file Span.h.

◆ getY() [1/2]

int lsst::afw::geom::Span::getY ( ) const
inlinenoexcept

Return the y-value.

Definition at line 81 of file Span.h.

◆ getY() [2/2]

int& lsst::afw::geom::Span::getY ( )
inlinenoexcept

Return the y-value.

Definition at line 82 of file Span.h.

◆ hash_value()

std::size_t lsst::afw::geom::Span::hash_value ( ) const
inlinenoexcept

Return a hash of this object.

Definition at line 122 of file Span.h.

122  {
123  // Completely arbitrary seed
124  return utils::hashCombine(42, getY(), getMinX(), getMaxX());
125  }
int getMinX() const noexcept
Minimum x-value.
Definition: Span.h:84
int getMaxX() const noexcept
Maximum x-value.
Definition: Span.h:85
int getY() const noexcept
Return the y-value.
Definition: Span.h:81
std::size_t hashCombine(std::size_t seed) noexcept
Combine hashes.
Definition: hashCombine.h:35

◆ isEmpty()

bool lsst::afw::geom::Span::isEmpty ( ) const
inlinenoexcept

Return true if the span contains no pixels.

Definition at line 102 of file Span.h.

102 { return _x1 < _x0; }

◆ operator!=()

bool lsst::afw::geom::Span::operator!= ( Span const &  other) const
inlinenoexcept

Definition at line 119 of file Span.h.

119 { return !(*this == other); }

◆ operator<()

bool lsst::afw::geom::Span::operator< ( const Span b) const
noexcept

Definition at line 32 of file Span.cc.

32  {
33  if (_y < b._y) return true;
34  if (_y > b._y) return false;
35  // y equal; check x0...
36  if (_x0 < b._x0) return true;
37  if (_x0 > b._x0) return false;
38  // x0 equal; check x1...
39  if (_x1 < b._x1) return true;
40  return false;
41 }
table::Key< int > b

◆ operator=() [1/2]

Span& lsst::afw::geom::Span::operator= ( Span &&  )
defaultnoexcept

◆ operator=() [2/2]

Span& lsst::afw::geom::Span::operator= ( Span const &  )
defaultnoexcept

◆ operator==()

bool lsst::afw::geom::Span::operator== ( Span const &  other) const
inlinenoexcept

Definition at line 116 of file Span.h.

116  {
117  return other.getY() == getY() && other.getMinX() == getMinX() && other.getMaxX() == getMaxX();
118  }

◆ shift()

void lsst::afw::geom::Span::shift ( int  dx,
int  dy 
)
inlinenoexcept

Definition at line 107 of file Span.h.

107  {
108  _x0 += dx;
109  _x1 += dx;
110  _y += dy;
111  }

◆ toString()

std::string lsst::afw::geom::Span::toString ( ) const

Return a string-representation of a Span.

Definition at line 43 of file Span.cc.

43 { return str(boost::format("%d: %d..%d") % _y % _x0 % _x1); }
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:174

Friends And Related Function Documentation

◆ detection::Footprint

friend class detection::Footprint
friend

Definition at line 133 of file Span.h.

◆ operator<<

std::ostream& operator<< ( std::ostream os,
Span const &  span 
)
friend

Stream output; delegates to toString().

Definition at line 114 of file Span.h.

114 { return os << span.toString(); }
std::ostream * os
Definition: Schema.cc:557

The documentation for this class was generated from the following files: