LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
|
An integer coordinate rectangle. More...
#include <Box.h>
Public Types | |
enum | EdgeHandlingEnum { EXPAND, SHRINK } |
typedef Point2I | Point |
typedef Extent2I | Extent |
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 &other) | |
Standard copy constructor. More... | |
void | swap (Box2I &other) |
Box2I & | operator= (Box2I const &other) |
Standard assignment operator. More... | |
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 |
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 |
Private Attributes | |
Point2I | _minimum |
Extent2I | _dimensions |
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 Extent2I lsst.afw.geom::Box2I::Extent |
typedef Point2I lsst.afw.geom::Box2I::Point |
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. |
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. |
|
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. |
|
inline |
void lsst.afw.geom::Box2I::clip | ( | Box2I const & | other | ) |
Shrink this to ensure that other.contains(*this).
bool lsst.afw.geom::Box2I::contains | ( | Point2I const & | point | ) | const |
Return true if the box contains the point.
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.
void lsst.afw.geom::Box2I::flipLR | ( | int | xExtent | ) |
Flip a bounding box about the y-axis given a parent box of extent (xExtent).
void lsst.afw.geom::Box2I::flipTB | ( | int | yExtent | ) |
Flip a bounding box about the x-axis given a parent box of extent (yExtent).
|
inline |
std::vector<Point2I> lsst.afw.geom::Box2I::getCorners | ( | ) | const |
Get the corner points
The order is counterclockise, starting from the lower left corner, i.e.: (minX, minY), (maxX, maxY), (maxX, maxX), (minX, maxY)
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
ndarray::View< boost::fusion::vector2< ndarray::index::Range, ndarray::index::Range > > lsst.afw.geom::Box2I::getSlices | ( | ) | const |
Return slices to extract the box's region from an ndarray::Array.
|
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 193 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.
void lsst.afw.geom::Box2I::include | ( | Point2I const & | point | ) |
Expand this to ensure that this->contains(point).
void lsst.afw.geom::Box2I::include | ( | Box2I const & | other | ) |
Expand this to ensure that this->contains(other).
|
inline |
bool lsst.afw.geom::Box2I::operator!= | ( | Box2I const & | other | ) | const |
Compare two boxes for equality.
All empty boxes are equal.
bool lsst.afw.geom::Box2I::operator== | ( | Box2I const & | other | ) | const |
Compare two boxes for equality.
All empty boxes are equal.
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.
void lsst.afw.geom::Box2I::shift | ( | Extent2I const & | offset | ) |
Shift the position of the box by the given offset.
|
inline |