LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
lsst::geom::Box2D Class Referencefinal

A floating-point coordinate rectangle geometry. More...

#include <Box.h>

Public Types

typedef Point2D Point
 
typedef Extent2D Extent
 
typedef double Element
 

Public Member Functions

 Box2D () noexcept
 Construct an empty box. More...
 
 Box2D (Point2D const &minimum, Point2D const &maximum, bool invert=true) noexcept
 Construct a box from its minimum and maximum points. More...
 
 Box2D (Point2D const &corner, Extent2D const &dimensions, bool invert=true) noexcept
 Construct a box from one corner and dimensions. More...
 
 Box2D (Box2I const &other) noexcept
 Construct a floating-point box from an integer box. More...
 
 Box2D (Box2D const &) noexcept=default
 Standard copy constructor. More...
 
 Box2D (Box2D &&) noexcept=default
 
 ~Box2D () noexcept=default
 
void swap (Box2D &other) noexcept
 
Box2Doperator= (Box2D const &) noexcept=default
 Standard assignment operator. More...
 
Box2Doperator= (Box2D &&) noexcept=default
 
bool isEmpty () const noexcept
 Return true if the box contains no points. More...
 
bool contains (Point2D const &point) const noexcept
 Return true if the box contains the point. More...
 
bool contains (Box2D const &other) const noexcept
 Return true if all points contained by other are also contained by this. More...
 
bool overlaps (Box2D const &other) const noexcept
 Return true if any points in other are also in this. More...
 
void grow (double buffer)
 Increase the size of the box by the given buffer amount in all directions. More...
 
void grow (Extent2D const &buffer)
 Increase the size of the box by the given buffer amount in each direction. More...
 
void shift (Extent2D const &offset)
 Shift the position of the box by the given offset. More...
 
void flipLR (float xExtent)
 Flip a bounding box about the y-axis given a parent box of extent (xExtent). More...
 
void flipTB (float yExtent)
 Flip a bounding box about the x-axis given a parent box of extent (yExtent). More...
 
void include (Point2D const &point) noexcept
 Expand this to ensure that this->contains(point). More...
 
void include (Box2D const &other) noexcept
 Expand this to ensure that this->contains(other). More...
 
void clip (Box2D const &other) noexcept
 Shrink this to ensure that other.contains(*this). More...
 
bool operator== (Box2D const &other) const noexcept
 Compare two boxes for equality. More...
 
bool operator!= (Box2D const &other) const noexcept
 Compare two boxes for equality. More...
 
std::size_t hash_value () const noexcept
 Return a hash of this object. More...
 
std::vector< Point2DgetCorners () const
 Get the corner points. More...
 
std::string toString () const
 
Min/Max Accessors

Return the minimum (inclusive) and maximum (exclusive) coordinates of the box.

Point2D const getMin () const noexcept
 
double getMinX () const noexcept
 
double getMinY () const noexcept
 
Point2D const getMax () const noexcept
 
double getMaxX () const noexcept
 
double getMaxY () const noexcept
 
Size Accessors

Return the size of the box.

Extent2D const getDimensions () const noexcept
 
double getWidth () const noexcept
 
double getHeight () const noexcept
 
double getArea () const noexcept
 
Center Accessors

Return the center coordinate of the box.

Point2D const getCenter () const noexcept
 
double getCenterX () const noexcept
 
double getCenterY () const noexcept
 

Static Public Member Functions

static Box2D makeCenteredBox (Point2D const &center, Extent const &size) noexcept
 Create a box centered on a particular point. More...
 

Static Public Attributes

static double const EPSILON = std::numeric_limits<double>::epsilon() * 2
 Value the maximum coordinate is multiplied by to increase it by the smallest possible amount. More...
 
static double const INVALID = std::numeric_limits<double>::quiet_NaN()
 Value used to specify undefined coordinate values. More...
 

Detailed Description

A floating-point coordinate rectangle geometry.

Box2D is a half-open (minimum is inclusive, maximum is exclusive) box. A box never has negative dimensions; the empty box is defined to zero-size dimensions and its minimum and maximum values set to NaN. Only the empty box may have zero-size dimensions.

Definition at line 305 of file Box.h.

Member Typedef Documentation

◆ Element

Definition at line 309 of file Box.h.

◆ Extent

Definition at line 308 of file Box.h.

◆ Point

Definition at line 307 of file Box.h.

Constructor & Destructor Documentation

◆ Box2D() [1/6]

lsst::geom::Box2D::Box2D ( )
noexcept

Construct an empty box.

Definition at line 244 of file Box.cc.

244 : _minimum(INVALID), _maximum(INVALID) {}
static double const INVALID
Value used to specify undefined coordinate values.
Definition: Box.h:318

◆ Box2D() [2/6]

lsst::geom::Box2D::Box2D ( Point2D const &  minimum,
Point2D const &  maximum,
bool  invert = true 
)
noexcept

Construct a box from its minimum and maximum points.

If any(minimum == maximum), the box will always be empty (even if invert==true).

Parameters
[in]minimumMinimum (lower left) coordinate (inclusive).
[in]maximumMaximum (upper right) coordinate (exclusive).
[in]invertIf true (default), swap the minimum and maximum coordinates if minimum > maximum instead of creating an empty box.

Definition at line 246 of file Box.cc.

247  : _minimum(minimum), _maximum(maximum) {
248  for (int n = 0; n < 2; ++n) {
249  if (_minimum[n] == _maximum[n]) {
250  *this = Box2D();
251  return;
252  } else if (_minimum[n] > _maximum[n]) {
253  if (invert) {
254  std::swap(_minimum[n], _maximum[n]);
255  } else {
256  *this = Box2D();
257  return;
258  }
259  }
260  }
261 }
T swap(T... args)
Relationship invert(Relationship r)
Given the relationship between two sets A and B (i.e.
Definition: Relationship.h:55
Box2D() noexcept
Construct an empty box.
Definition: Box.cc:244

◆ Box2D() [3/6]

lsst::geom::Box2D::Box2D ( Point2D const &  corner,
Extent2D const &  dimensions,
bool  invert = true 
)
noexcept

Construct a box from one corner and dimensions.

Parameters
[in]cornerReference coordinate (inclusive). This is the lower left corner if both dimensions are positive, but a right corner or upper corner if the corresponding dimension is negative and invert is set.
[in]dimensionsBox dimensions. If either dimension coordinate is 0, the box will be empty.
[in]invertIf true (default), invert any negative dimensions instead of creating an empty box.

Definition at line 263 of file Box.cc.

264  : _minimum(corner), _maximum(corner + dimensions) {
265  for (int n = 0; n < 2; ++n) {
266  if (_minimum[n] == _maximum[n]) {
267  *this = Box2D();
268  return;
269  } else if (_minimum[n] > _maximum[n]) {
270  if (invert) {
271  std::swap(_minimum[n], _maximum[n]);
272  } else {
273  *this = Box2D();
274  return;
275  }
276  }
277  }
278 }
afw::table::PointKey< int > dimensions
Definition: GaussianPsf.cc:49
T swap(T... args)
Relationship invert(Relationship r)
Given the relationship between two sets A and B (i.e.
Definition: Relationship.h:55
Box2D() noexcept
Construct an empty box.
Definition: Box.cc:244

◆ Box2D() [4/6]

lsst::geom::Box2D::Box2D ( Box2I const &  other)
explicitnoexcept

Construct a floating-point box from an integer box.

Integer to floating-point 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. While the output floating-point box thus has the same dimensions as the input integer box, its minimum/maximum coordinates are 0.5 smaller/greater.

Definition at line 280 of file Box.cc.

281  : _minimum(Point2D(other.getMin()) - Extent2D(0.5)),
282  _maximum(Point2D(other.getMax()) + Extent2D(0.5)) {
283  if (other.isEmpty()) *this = Box2D();
284 }
Point< double, 2 > Point2D
Definition: Point.h:324
ItemVariant const * other
Definition: Schema.cc:56
Box2D() noexcept
Construct an empty box.
Definition: Box.cc:244
Extent< double, 2 > Extent2D
Definition: Extent.h:400

◆ Box2D() [5/6]

lsst::geom::Box2D::Box2D ( Box2D const &  )
defaultnoexcept

Standard copy constructor.

◆ Box2D() [6/6]

lsst::geom::Box2D::Box2D ( Box2D &&  )
defaultnoexcept

◆ ~Box2D()

lsst::geom::Box2D::~Box2D ( )
defaultnoexcept

Member Function Documentation

◆ clip()

void lsst::geom::Box2D::clip ( Box2D const &  other)
noexcept

Shrink this to ensure that other.contains(*this).

In particular, if other and this box do not overlap this box will become empty.

Parameters
otherthe box that must contain this one

Definition at line 379 of file Box.cc.

379  {
380  if (isEmpty()) return;
381  if (other.isEmpty()) {
382  *this = Box2D();
383  return;
384  }
385  Point2D const& otherMin = other.getMin();
386  Point2D const& otherMax = other.getMax();
387  for (int n = 0; n < 2; ++n) {
388  if (otherMin[n] > _minimum[n]) {
389  _minimum[n] = otherMin[n];
390  }
391  if (otherMax[n] < _maximum[n]) {
392  _maximum[n] = otherMax[n];
393  }
394  }
395  if (any(_maximum.le(_minimum))) {
396  *this = Box2D();
397  return;
398  }
399 }
Point< double, 2 > Point2D
Definition: Point.h:324
bool any(CoordinateExpr< N > const &expr) noexcept
Return true if any elements are true.
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431
ItemVariant const * other
Definition: Schema.cc:56
Box2D() noexcept
Construct an empty box.
Definition: Box.cc:244
CoordinateExpr< N > le(Point< T, N > const &other) const noexcept
Definition: Point.cc:97

◆ contains() [1/2]

bool lsst::geom::Box2D::contains ( Point2D const &  point) const
noexcept

Return true if the box contains the point.

Definition at line 292 of file Box.cc.

292  {
293  return all(point.ge(this->getMin())) && all(point.lt(this->getMax()));
294 }
bool all(CoordinateExpr< N > const &expr) noexcept
Return true if all elements are true.

◆ contains() [2/2]

bool lsst::geom::Box2D::contains ( Box2D const &  other) const
noexcept

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 296 of file Box.cc.

296  {
297  return other.isEmpty() ||
298  (all(other.getMin().ge(this->getMin())) && all(other.getMax().le(this->getMax())));
299 }
Point2D const getMin() const noexcept
Definition: Box.h:393
bool all(CoordinateExpr< N > const &expr) noexcept
Return true if all elements are true.
Point2D const getMax() const noexcept
Definition: Box.h:397
ItemVariant const * other
Definition: Schema.cc:56

◆ flipLR()

void lsst::geom::Box2D::flipLR ( float  xExtent)

Flip a bounding box about the y-axis given a parent box of extent (xExtent).

Definition at line 319 of file Box.cc.

319  {
320  if (isEmpty()) return; // should we throw an exception here instead of a no-op?
321  // Swap min and max values for x dimension
322  _minimum[0] += _maximum[0];
323  _maximum[0] = _minimum[0] - _maximum[0];
324  _minimum[0] -= _maximum[0];
325  // Apply flip assuming coordinate system of parent.
326  _minimum[0] = xextent - _minimum[0];
327  _maximum[0] = xextent - _maximum[0];
328  // _dimensions should remain unchanged
329 }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431

◆ flipTB()

void lsst::geom::Box2D::flipTB ( float  yExtent)

Flip a bounding box about the x-axis given a parent box of extent (yExtent).

Definition at line 331 of file Box.cc.

331  {
332  if (isEmpty()) return; // should we throw an exception here instead of a no-op?
333  // Swap min and max values for y dimension
334  _minimum[1] += _maximum[1];
335  _maximum[1] = _minimum[1] - _maximum[1];
336  _minimum[1] -= _maximum[1];
337  // Apply flip assuming coordinate system of parent.
338  _minimum[1] = yextent - _minimum[1];
339  _maximum[1] = yextent - _maximum[1];
340  // _dimensions should remain unchanged
341 }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431

◆ getArea()

double lsst::geom::Box2D::getArea ( ) const
inlinenoexcept

Definition at line 411 of file Box.h.

411  {
412  Extent2D dim(getDimensions());
413  return dim.getX() * dim.getY();
414  }
Extent2D const getDimensions() const noexcept
Definition: Box.h:408
Extent< double, 2 > Extent2D
Definition: Extent.h:400

◆ getCenter()

Point2D const lsst::geom::Box2D::getCenter ( ) const
inlinenoexcept

Definition at line 423 of file Box.h.

423  {
424  return Point2D((_minimum.asEigen() + _maximum.asEigen()) * 0.5);
425  }
Point< double, 2 > Point2D
Definition: Point.h:324
EigenVector const & asEigen() const noexcept(IS_ELEMENT_NOTHROW_COPYABLE)
Return a fixed-size Eigen representation of the coordinate object.

◆ getCenterX()

double lsst::geom::Box2D::getCenterX ( ) const
inlinenoexcept

Definition at line 426 of file Box.h.

426 { return (_minimum.getX() + _maximum.getX()) * 0.5; }

◆ getCenterY()

double lsst::geom::Box2D::getCenterY ( ) const
inlinenoexcept

Definition at line 427 of file Box.h.

427 { return (_minimum.getY() + _maximum.getY()) * 0.5; }

◆ getCorners()

std::vector< Point2D > lsst::geom::Box2D::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)

Definition at line 421 of file Box.cc.

421  {
422  std::vector<Point2D> retVec;
423  retVec.push_back(getMin());
424  retVec.push_back(Point2D(getMaxX(), getMinY()));
425  retVec.push_back(getMax());
426  retVec.push_back(Point2D(getMinX(), getMaxY()));
427  return retVec;
428 }
double getMinY() const noexcept
Definition: Box.h:395
double getMinX() const noexcept
Definition: Box.h:394
double getMaxX() const noexcept
Definition: Box.h:398
Point2D const getMin() const noexcept
Definition: Box.h:393
Point< double, 2 > Point2D
Definition: Point.h:324
T push_back(T... args)
double getMaxY() const noexcept
Definition: Box.h:399
Point2D const getMax() const noexcept
Definition: Box.h:397
STL class.

◆ getDimensions()

Extent2D const lsst::geom::Box2D::getDimensions ( ) const
inlinenoexcept

Definition at line 408 of file Box.h.

408 { return isEmpty() ? Extent2D(0.0) : _maximum - _minimum; }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431
Extent< double, 2 > Extent2D
Definition: Extent.h:400

◆ getHeight()

double lsst::geom::Box2D::getHeight ( ) const
inlinenoexcept

Definition at line 410 of file Box.h.

410 { return isEmpty() ? 0 : _maximum.getY() - _minimum.getY(); }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431

◆ getMax()

Point2D const lsst::geom::Box2D::getMax ( ) const
inlinenoexcept

Definition at line 397 of file Box.h.

397 { return _maximum; }

◆ getMaxX()

double lsst::geom::Box2D::getMaxX ( ) const
inlinenoexcept

Definition at line 398 of file Box.h.

398 { return _maximum.getX(); }

◆ getMaxY()

double lsst::geom::Box2D::getMaxY ( ) const
inlinenoexcept

Definition at line 399 of file Box.h.

399 { return _maximum.getY(); }

◆ getMin()

Point2D const lsst::geom::Box2D::getMin ( ) const
inlinenoexcept

Definition at line 393 of file Box.h.

393 { return _minimum; }

◆ getMinX()

double lsst::geom::Box2D::getMinX ( ) const
inlinenoexcept

Definition at line 394 of file Box.h.

394 { return _minimum.getX(); }

◆ getMinY()

double lsst::geom::Box2D::getMinY ( ) const
inlinenoexcept

Definition at line 395 of file Box.h.

395 { return _minimum.getY(); }

◆ getWidth()

double lsst::geom::Box2D::getWidth ( ) const
inlinenoexcept

Definition at line 409 of file Box.h.

409 { return isEmpty() ? 0 : _maximum.getX() - _minimum.getX(); }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431

◆ grow() [1/2]

void lsst::geom::Box2D::grow ( double  buffer)
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 456 of file Box.h.

456 { grow(Extent2D(buffer)); }
void grow(double buffer)
Increase the size of the box by the given buffer amount in all directions.
Definition: Box.h:456
Extent< double, 2 > Extent2D
Definition: Extent.h:400

◆ grow() [2/2]

void lsst::geom::Box2D::grow ( Extent2D 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 306 of file Box.cc.

306  {
307  if (isEmpty()) return; // should we throw an exception here instead of a no-op?
308  _minimum -= buffer;
309  _maximum += buffer;
310  if (any(_minimum.ge(_maximum))) *this = Box2D();
311 }
bool any(CoordinateExpr< N > const &expr) noexcept
Return true if any elements are true.
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431
CoordinateExpr< N > ge(Point< T, N > const &other) const noexcept
Definition: Point.cc:111
Box2D() noexcept
Construct an empty box.
Definition: Box.cc:244

◆ hash_value()

std::size_t lsst::geom::Box2D::hash_value ( ) const
noexcept

Return a hash of this object.

Definition at line 411 of file Box.cc.

411  {
412  if (isEmpty()) {
413  // All empty boxes are equal and must have equal hashes
414  return 179;
415  } else {
416  // Completely arbitrary seed
417  return utils::hashCombine(17, _minimum, _maximum);
418  }
419 }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431
std::size_t hashCombine(std::size_t seed) noexcept
Combine hashes.
Definition: hashCombine.h:35

◆ include() [1/2]

void lsst::geom::Box2D::include ( Point2D const &  point)
noexcept

Expand this to ensure that this->contains(point).

If the point sets a new maximum value for the box, the maximum coordinate will be adjusted to ensure the point is actually contained by the box instead of sitting on its exclusive upper edge.

Definition at line 343 of file Box.cc.

343  {
344  if (isEmpty()) {
345  _minimum = point;
346  _maximum = point;
347  _tweakMax(0);
348  _tweakMax(1);
349  return;
350  }
351  for (int n = 0; n < 2; ++n) {
352  if (point[n] < _minimum[n]) {
353  _minimum[n] = point[n];
354  } else if (point[n] >= _maximum[n]) {
355  _maximum[n] = point[n];
356  _tweakMax(n);
357  }
358  }
359 }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431

◆ include() [2/2]

void lsst::geom::Box2D::include ( Box2D const &  other)
noexcept

Expand this to ensure that this->contains(other).

Definition at line 361 of file Box.cc.

361  {
362  if (other.isEmpty()) return;
363  if (this->isEmpty()) {
364  *this = other;
365  return;
366  }
367  Point2D const& otherMin = other.getMin();
368  Point2D const& otherMax = other.getMax();
369  for (int n = 0; n < 2; ++n) {
370  if (otherMin[n] < _minimum[n]) {
371  _minimum[n] = otherMin[n];
372  }
373  if (otherMax[n] > _maximum[n]) {
374  _maximum[n] = otherMax[n];
375  }
376  }
377 }
Point< double, 2 > Point2D
Definition: Point.h:324
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431
ItemVariant const * other
Definition: Schema.cc:56

◆ isEmpty()

bool lsst::geom::Box2D::isEmpty ( ) const
inlinenoexcept

Return true if the box contains no points.

Definition at line 431 of file Box.h.

431 { return _minimum.getX() != _minimum.getX(); }

◆ makeCenteredBox()

Box2D lsst::geom::Box2D::makeCenteredBox ( Point2D const &  center,
Box2D::Extent const &  size 
)
staticnoexcept

Create a box centered on a particular point.

Parameters
centerThe desired center of the box.
sizeThe desired width and height (in that order) of the box.
Returns
if size is positive, a box with size size; otherwise, an empty box. If the returned box is not empty, it shall be centered on center. Behavior is undefined if either center or size is non-finite.

Definition at line 286 of file Box.cc.

286  {
287  lsst::geom::Point2D corner(center);
288  corner.shift(-0.5 * size);
289  return lsst::geom::Box2D(corner, size, false);
290 }
A floating-point coordinate rectangle geometry.
Definition: Box.h:305

◆ operator!=()

bool lsst::geom::Box2D::operator!= ( Box2D const &  other) const
noexcept

Compare two boxes for equality.

All empty boxes are equal.

Definition at line 406 of file Box.cc.

406  {
407  return !(other.isEmpty() && other.isEmpty()) &&
408  (other._minimum != this->_minimum || other._maximum != this->_maximum);
409 }
ItemVariant const * other
Definition: Schema.cc:56

◆ operator=() [1/2]

Box2D& lsst::geom::Box2D::operator= ( Box2D const &  )
defaultnoexcept

Standard assignment operator.

◆ operator=() [2/2]

Box2D& lsst::geom::Box2D::operator= ( Box2D &&  )
defaultnoexcept

◆ operator==()

bool lsst::geom::Box2D::operator== ( Box2D const &  other) const
noexcept

Compare two boxes for equality.

All empty boxes are equal.

Definition at line 401 of file Box.cc.

401  {
402  return (other.isEmpty() && this->isEmpty()) ||
403  (other._minimum == this->_minimum && other._maximum == this->_maximum);
404 }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431
ItemVariant const * other
Definition: Schema.cc:56

◆ overlaps()

bool lsst::geom::Box2D::overlaps ( Box2D const &  other) const
noexcept

Return true if any points in other are also in this.

Any overlap operation involving an empty box returns false.

Definition at line 301 of file Box.cc.

301  {
302  return !(other.isEmpty() || this->isEmpty() || any(other.getMax().le(this->getMin())) ||
303  any(other.getMin().ge(this->getMax())));
304 }
Point2D const getMin() const noexcept
Definition: Box.h:393
bool any(CoordinateExpr< N > const &expr) noexcept
Return true if any elements are true.
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431
Point2D const getMax() const noexcept
Definition: Box.h:397
ItemVariant const * other
Definition: Schema.cc:56

◆ shift()

void lsst::geom::Box2D::shift ( Extent2D const &  offset)

Shift the position of the box by the given offset.

Definition at line 313 of file Box.cc.

313  {
314  if (isEmpty()) return; // should we throw an exception here instead of a no-op?
315  _minimum += offset;
316  _maximum += offset;
317 }
bool isEmpty() const noexcept
Return true if the box contains no points.
Definition: Box.h:431

◆ swap()

void lsst::geom::Box2D::swap ( Box2D other)
inlinenoexcept

Definition at line 378 of file Box.h.

378  {
379  _minimum.swap(other._minimum);
380  _maximum.swap(other._maximum);
381  }
void swap(Point &other) noexcept
Definition: Point.h:202
ItemVariant const * other
Definition: Schema.cc:56

◆ toString()

std::string lsst::geom::Box2D::toString ( ) const
inline

Definition at line 520 of file Box.h.

520  {
521  return (boost::format("Box2D(%s,%s)") % _minimum.toString() % _maximum.toString()).str();
522  }
std::string toString() const
Definition: Point.h:143
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:168

Member Data Documentation

◆ EPSILON

double const lsst::geom::Box2D::EPSILON = std::numeric_limits<double>::epsilon() * 2
static

Value the maximum coordinate is multiplied by to increase it by the smallest possible amount.

Definition at line 315 of file Box.h.

◆ INVALID

double const lsst::geom::Box2D::INVALID = std::numeric_limits<double>::quiet_NaN()
static

Value used to specify undefined coordinate values.

Definition at line 318 of file Box.h.


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