34 double getRadius()
const {
return (_max - getCenter()).length(); }
50 Vector3 _min =
Vector3(std::numeric_limits<double>::max(), std::numeric_limits<double>::max(),
51 std::numeric_limits<double>::max());
53 Vector3 _max =
Vector3(std::numeric_limits<double>::min(), std::numeric_limits<double>::min(),
54 std::numeric_limits<double>::min());
const double WEM_EPSILON
Epsilon value used in Vector3 comparisons.
This class represents an axis aligned bounding box for a WEMPatch.
Vector3 getMin() const
Returns minimum bounding box extent.
Vector3 getMax() const
Returns maximum bounding box extent.
void reset()
Resets object to default constructed state.
bool contains(const Vector3 &position) const
Returns whether the bounding box contains the given position.
double getRadius() const
Returns radius.
Vector3 getCenter() const
Returns center of bounding box.
bool isValid() const
returns true if is a valid box
bool isScalable() const
Returns whether the bounding box is scalable.
void setExtents(const Vector3 &min, const Vector3 &max)
Sets extents minimum and maximum and update center and radius.
WEMBoundingBox & operator&=(const WEMBoundingBox &other)
returns the united bounding box of this and other
bool isCentered() const
Returns whether the bounding box is centered.
WEMBoundingBox MLWEM_EXPORT operator&(WEMBoundingBox x, const WEMBoundingBox &y)
Returns the united bounding box of x and y.
Tvec3< MLdouble > Vector3
A vector with 3 components of type double.