Go to the documentation of this file.
20 #ifndef LIBMESH_BOUNDING_BOX_H
21 #define LIBMESH_BOUNDING_BOX_H
24 #include "libmesh/libmesh.h"
25 #include "libmesh/point.h"
45 const Point & new_max) :
66 for (
unsigned int i=0; i<LIBMESH_DIM; i++)
68 this->first(i) = std::numeric_limits<Real>::max();
69 this->second(i) = -std::numeric_limits<Real>::max();
77 {
return this->first; }
80 {
return this->first; }
86 {
return this->second; }
89 {
return this->second; }
120 #ifdef LIBMESH_ENABLE_DEPRECATED
122 { libmesh_deprecated();
return this->
intersects(b); }
165 for (
unsigned int i=0; i<LIBMESH_DIM; i++)
167 min()(i) = std::min(
min()(i), p(i));
168 max()(i) = std::max(
max()(i), p(i));
175 #endif // LIBMESH_BOUNDING_BOX_H
Defines a Cartesian bounding box by the two corner extremum.
BoundingBox(const Point &new_min, const Point &new_max)
The libMesh namespace provides an interface to certain functionality in the library.
void union_with(const Point &p)
Enlarges this bounding box to include the given point.
const Point & max() const
A Point defines a location in LIBMESH_DIM dimensional Real space.
BoundingBox()
Default constructor sets invalid bounds.
void intersect_with(const BoundingBox &)
Sets this bounding box to be the intersection with the other bounding box.
bool intersects(const BoundingBox &) const
bool intersect(const BoundingBox &b) const
bool contains_point(const Point &) const
void invalidate()
Sets the bounding box to encompass the universe.
BoundingBox(const std::pair< Point, Point > &bbox)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real signed_distance(const Point &p) const
Computes the signed distance, d, from a given Point p to this BoundingBox.
const Point & min() const