LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
|
Box3d
represents a box in ℝ³.
More...
#include <Box3d.h>
Public Member Functions | |
Box3d () | |
This constructor creates an empty 3D box. | |
Box3d (Vector3d const &v) | |
This constructor creates a box containing a single point. | |
Box3d (Vector3d const &v1, Vector3d const &v2) | |
This constructor creates a box spanning the intervals [v1.x(), v2.x()], [v1.y(), v2.y()], and [v1.z(), v2.z()]. | |
Box3d (Vector3d const &v, double w, double h, double d) | |
This constructor creates a box with center v, half-width w, half-height h, and half-depth d. | |
Box3d (Interval1d const &x, Interval1d const &y, Interval1d const &z) | |
This constructor creates a box spanning the given x, y, and z intervals. | |
bool | operator== (Box3d const &b) const |
Two 3D boxes are equal if they contain the same points. | |
bool | operator!= (Box3d const &b) const |
bool | operator== (Vector3d const &v) const |
A box is equal to a point if it contains only that point. | |
bool | operator!= (Vector3d const &v) const |
Interval1d | operator() (int i) const |
The function call operator returns the i -th interval of this box. | |
Interval1d const & | x () const |
Interval1d const & | y () const |
Interval1d const & | z () const |
bool | isEmpty () const |
isEmpty returns true if this box does not contain any points. | |
bool | isFull () const |
isFull returns true if this box contains all points in ℝ³. | |
Vector3d | getCenter () const |
getCenter returns the center of this box. | |
double | getWidth () const |
getWidth returns the width (x-axis extent) of this box. | |
double | getHeight () const |
getHeight returns the height (y-axis extent) of this box. | |
double | getDepth () const |
getDepth returns the depth (z-axis extent) of this box. | |
Box3d & | dilateBy (double r) |
dilateBy minimally expands or shrinks this Box to include or remove all points within distance |r| of its boundary. | |
Box3d | dilatedBy (double r) const |
Box3d & | dilateBy (double w, double h, double d) |
dilateBy morphologically dilates or erodes the x, y, and z intervals of this box by w, h, and d. | |
Box3d | dilatedBy (double w, double h, double d) const |
Box3d & | erodeBy (double r) |
Box3d | erodedBy (double r) const |
Box3d & | erodeBy (double w, double h, double d) |
Box3d | erodedBy (double w, double h, double d) const |
Relationship | relate (Vector3d const &v) const |
Relationship | relate (Box3d const &b) const |
bool | contains (Vector3d const &b) const |
bool | contains (Box3d const &b) const |
bool | contains (double x_, double y_, double z_) const |
bool | isDisjointFrom (Vector3d const &b) const |
bool | isDisjointFrom (Box3d const &b) const |
bool | intersects (Vector3d const &b) const |
bool | intersects (Box3d const &b) const |
bool | isWithin (Vector3d const &b) const |
bool | isWithin (Box3d const &b) const |
Box3d & | clipTo (Vector3d const &b) |
Box3d & | clipTo (Box3d const &b) |
Box3d | clippedTo (Vector3d const &b) const |
Box3d | clippedTo (Box3d const &b) const |
Box3d & | expandTo (Vector3d const &b) |
Box3d & | expandTo (Box3d const &b) |
Box3d | expandedTo (Vector3d const &b) const |
Box3d | expandedTo (Box3d const &b) const |
Static Public Member Functions | |
static Box3d | empty () |
static Box3d | full () |
static Box3d | aroundUnitSphere () |
aroundUnitSphere returns a minimal Box3d containing the unit sphere. | |
Box3d
represents a box in ℝ³.
It is the Cartesian product of three intervals of ℝ.
|
inline |
|
inlineexplicit |
This constructor creates a box spanning the intervals [v1.x(), v2.x()], [v1.y(), v2.y()], and [v1.z(), v2.z()].
Definition at line 83 of file Box3d.h.
|
inline |
|
inline |
|
inlinestatic |
|
inline |
contains
returns true iff the intersection of this box and b is equal to b.
|
inline |
|
inline |
|
inline |
dilateBy
minimally expands or shrinks this Box to include or remove all points within distance |r| of its boundary.
If this box is empty or full, or if r is zero, there is no effect. If r is positive, points are added, and if r is negative they are removed.
Definition at line 287 of file Box3d.h.
|
inline |
dilateBy
morphologically dilates or erodes the x, y, and z intervals of this box by w, h, and d.
If w is positive, the x interval is dilated by [-w,w]. If w is zero, the corresponding interval is not modified, and if it is negative, the longitude interval is eroded by [w,-w]. The action of h and d on the y and z intervals is analogous.
If this box is empty or full, there is no effect.
Definition at line 297 of file Box3d.h.
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
getCenter
returns the center of this box.
An arbitrary vector is returned for boxes that are empty or full.
Definition at line 146 of file Box3d.h.
|
inline |
getDepth
returns the depth (z-axis extent) of this box.
It is negative or NaN for empty boxes, and infinite for full boxes.
Definition at line 160 of file Box3d.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
isEmpty
returns true if this box does not contain any points.
Definition at line 135 of file Box3d.h.
|
inline |
isFull
returns true if this box contains all points in ℝ³.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 318 of file Box3d.h.
|
inline |
|
inline |
|
inline |
|
inline |