LSSTApplications
12.1-5-gbdcc3ab+2,15.0+13,15.0+26,15.0-1-g19261fa+17,15.0-1-g60afb23+26,15.0-1-g615e0bb+18,15.0-1-g788a293+26,15.0-1-ga91101e+26,15.0-1-gae1598d+12,15.0-1-gd076f1f+24,15.0-1-gdf18595+5,15.0-1-gf4f1c34+12,15.0-11-g7db6e543+4,15.0-12-g3681e7a+4,15.0-15-gc15de322,15.0-16-g83b84f4,15.0-2-g100d730+19,15.0-2-g1f9c9cf+4,15.0-2-g8aea5f4+1,15.0-2-gf38729e+21,15.0-29-ga12a2b06e,15.0-3-g11fe1a0+14,15.0-3-g707930d+3,15.0-3-g9103c06+12,15.0-3-gd3cbb57+3,15.0-4-g2d82b59,15.0-4-g535e784+10,15.0-4-g92ca6c3+4,15.0-4-gf906033+2,15.0-5-g23e394c+14,15.0-5-g4be42a9,15.0-6-g69628aa,15.0-6-g86e3f3d+1,15.0-6-gfa9b38f+4,15.0-7-g949993c+3,15.0-8-g67a62d3+1,15.0-8-gcf05001+1,15.0-9-g1e7c341+1,w.2018.21
LSSTDataManagementBasePackage
|
An integer coordinate rectangle. More...
#include <Box.h>
Public Types | |
enum | EdgeHandlingEnum { EXPAND, SHRINK } |
typedef Point2I | Point |
typedef Extent2I | Extent |
typedef int | Element |
Public Member Functions | |
Box2I () | |
Construct an empty box. More... | |
Box2I (Point2I const &minimum, Point2I const &maximum, bool invert=true) | |
Construct a box from its minimum and maximum points. More... | |
Box2I (Point2I const &minimum, Extent2I const &dimensions, bool invert=true) | |
Construct a box from its minimum point and dimensions. More... | |
Box2I (Box2D const &other, EdgeHandlingEnum edgeHandling=EXPAND) | |
Construct an integer box from a floating-point box. More... | |
Box2I (Box2I const &)=default | |
Standard copy constructor. More... | |
Box2I (Box2I &&)=default | |
~Box2I ()=default | |
void | swap (Box2I &other) |
Box2I & | operator= (Box2I const &)=default |
Standard assignment operator. More... | |
Box2I & | operator= (Box2I &&)=default |
ndarray::View< boost::fusion::vector2< ndarray::index::Range, ndarray::index::Range > > | getSlices () const |
Return slices to extract the box's region from an ndarray::Array. More... | |
bool | isEmpty () const |
Return true if the box contains no points. More... | |
bool | contains (Point2I const &point) const |
Return true if the box contains the point. More... | |
bool | contains (Box2I const &other) const |
Return true if all points contained by other are also contained by this. More... | |
bool | overlaps (Box2I const &other) const |
Return true if any points in other are also in this. More... | |
void | grow (int buffer) |
Increase the size of the box by the given buffer amount in all directions. More... | |
void | grow (Extent2I const &buffer) |
Increase the size of the box by the given buffer amount in each direction. More... | |
void | shift (Extent2I const &offset) |
Shift the position of the box by the given offset. More... | |
void | flipLR (int xExtent) |
Flip a bounding box about the y-axis given a parent box of extent (xExtent). More... | |
void | flipTB (int yExtent) |
Flip a bounding box about the x-axis given a parent box of extent (yExtent). More... | |
void | include (Point2I const &point) |
Expand this to ensure that this->contains(point). More... | |
void | include (Box2I const &other) |
Expand this to ensure that this->contains(other). More... | |
void | clip (Box2I const &other) |
Shrink this to ensure that other.contains(*this). More... | |
bool | operator== (Box2I const &other) const |
Compare two boxes for equality. More... | |
bool | operator!= (Box2I const &other) const |
Compare two boxes for equality. More... | |
std::vector< Point2I > | getCorners () const |
Get the corner points. More... | |
std::string | toString () const |
Min/Max Accessors | |
Return the minimum and maximum coordinates of the box (inclusive). | |
Point2I const | getMin () const |
int | getMinX () const |
int | getMinY () const |
Point2I const | getMax () const |
int | getMaxX () const |
int | getMaxY () const |
Begin/End Accessors | |
Return STL-style begin (inclusive) and end (exclusive) coordinates for the box. | |
Point2I const | getBegin () const |
int | getBeginX () const |
int | getBeginY () const |
Point2I const | getEnd () const |
int | getEndX () const |
int | getEndY () const |
Size Accessors | |
Return the size of the box in pixels. | |
Extent2I const | getDimensions () const |
int | getWidth () const |
int | getHeight () const |
int | getArea () const |
An integer coordinate rectangle.
Box2I is an inclusive box that represents a rectangular region of pixels. A box never has negative dimensions; the empty box is defined to have zero-size dimensions, and is treated as though it does not have a well-defined position (regardless of the return value of getMin() or getMax() for an empty box).
typedef int lsst::afw::geom::Box2I::Element |
typedef Point2I lsst::afw::geom::Box2I::Point |
|
inline |
lsst::afw::geom::Box2I::Box2I | ( | Point2I const & | minimum, |
Point2I const & | maximum, | ||
bool | invert = true |
||
) |
Construct a box from its minimum and maximum points.
[in] | minimum | Minimum (lower left) coordinate (inclusive). |
[in] | maximum | Maximum (upper right) coordinate (inclusive). |
[in] | invert | If true (default), swap the minimum and maximum coordinates if minimum > maximum instead of creating an empty box. |
Definition at line 32 of file Box.cc.
lsst::afw::geom::Box2I::Box2I | ( | Point2I const & | minimum, |
Extent2I const & | dimensions, | ||
bool | invert = true |
||
) |
Construct a box from its minimum point and dimensions.
[in] | minimum | Minimum (lower left) coordinate. |
[in] | dimensions | Box dimensions. If either dimension coordinate is 0, the box will be empty. |
[in] | invert | If true (default), invert any negative dimensions instead of creating an empty box. |
Definition at line 48 of file Box.cc.
|
explicit |
Construct an integer box from a floating-point box.
Floating-point to integer box conversion is based on the concept that a pixel is not an infinitesimal point but rather a square of unit size centered on integer-valued coordinates. Converting a floating-point box to an integer box thus requires a choice on how to handle pixels which are only partially contained by the input floating-point box.
[in] | other | A floating-point box to convert. |
[in] | edgeHandling | If EXPAND, the integer box will contain any pixels that overlap the floating-point box. If SHRINK, the integer box will contain only pixels completely contained by the floating-point box. |
Definition at line 70 of file Box.cc.
|
default |
Standard copy constructor.
|
default |
|
default |
void lsst::afw::geom::Box2I::clip | ( | Box2I const & | other | ) |
Shrink this to ensure that other.contains(*this).
Definition at line 179 of file Box.cc.
bool lsst::afw::geom::Box2I::contains | ( | Point2I const & | point | ) | const |
Return true if the box contains the point.
Definition at line 102 of file Box.cc.
bool lsst::afw::geom::Box2I::contains | ( | Box2I const & | other | ) | const |
Return true if all points contained by other are also contained by this.
An empty box is contained by every other box, including other empty boxes.
Definition at line 106 of file Box.cc.
void lsst::afw::geom::Box2I::flipLR | ( | int | xExtent | ) |
void lsst::afw::geom::Box2I::flipTB | ( | int | yExtent | ) |
|
inline |
|
inline |
|
inline |
|
inline |
std::vector< Point2I > lsst::afw::geom::Box2I::getCorners | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
ndarray::View< boost::fusion::vector2< ndarray::index::Range, ndarray::index::Range > > lsst::afw::geom::Box2I::getSlices | ( | ) | const |
|
inline |
|
inline |
Increase the size of the box by the given buffer amount in all directions.
If a negative buffer is passed and the final size of the box is less than or equal to zero, the box will be made empty.
Definition at line 188 of file Box.h.
void lsst::afw::geom::Box2I::grow | ( | Extent2I const & | buffer | ) |
Increase the size of the box by the given buffer amount in each direction.
If a negative buffer is passed and the final size of the box is less than or equal to zero, the box will be made empty.
Definition at line 116 of file Box.cc.
void lsst::afw::geom::Box2I::include | ( | Point2I const & | point | ) |
void lsst::afw::geom::Box2I::include | ( | Box2I const & | other | ) |
|
inline |
bool lsst::afw::geom::Box2I::operator!= | ( | Box2I const & | other | ) | const |
bool lsst::afw::geom::Box2I::operator== | ( | Box2I const & | other | ) | const |
bool lsst::afw::geom::Box2I::overlaps | ( | Box2I const & | other | ) | const |
Return true if any points in other are also in this.
Any overlap operation involving an empty box returns false.
Definition at line 111 of file Box.cc.
void lsst::afw::geom::Box2I::shift | ( | Extent2I const & | offset | ) |
|
inline |
Definition at line 238 of file Box.h.