MeVisLab Toolbox Reference
|
The CSOBoundingBox defines an axis parallel bounding box with double precision. More...
#include <CSOBoundingBox.h>
Public Member Functions | |
CSOBoundingBox () | |
Constructor. | |
CSOBoundingBox (CSO *cso) | |
Constructor. | |
CSOBoundingBox (const Vector3 &bbv1, const Vector3 &bbv2) | |
Constructor. | |
CSOBoundingBox (const CSOBoundingBox &bBox) | |
Copy constructor. | |
~CSOBoundingBox () | |
Destructor. | |
CSOBoundingBox & | operator= (const CSOBoundingBox &)=default |
default assignment operator | |
bool | isEmpty () const |
Returns whether this bounding box is empty. | |
void | makeEmpty () |
Empties this bounding box (set all values to +/- ML_FLOAT_MAX). | |
void | correct () |
Corrects all coordinates, so that the min values are indeed smaller than the max values. | |
bool | intersects (const CSOBoundingBox &bBox) const |
Returns whether this bounding box intersects with the given bounding box. | |
bool | intersects (const Vector3 &argv1, const Vector3 &argv2) const |
Returns whether this bounding box intersects with a bounding box given by its two vectors. | |
bool | intersects (const Vector3 ¢er, double radius) const |
Returns whether this bounding box intersects a given sphere. | |
void | set (const Vector3 &argv1, const Vector3 &argv2) |
Sets starting and ending vector for this bounding box. | |
CSOBoundingBox | unify (const CSOBoundingBox &bBox) const |
Returns the union bounding box of this BB and the given one. | |
CSOBoundingBox | intersect (const CSOBoundingBox &bBox) const |
Returns the intersection bounding box of this BB and the given one. | |
bool | containsPoint (double x, double y, double z) const |
Returns whether this bounding box contains the given point. | |
bool | enclosesSlabWithZPosition (double z) const |
Returns whether the given z-value is in the same slice/slab as this bounding box encloses. | |
bool | containsBoundingBox (const CSOBoundingBox &innerBoundingBox, const double epsilon=0.0) const |
Returns whether this bounding box encloses the given bounding box fully. | |
void | augment (float value) |
Augments this bounding box by the given value in all directions. | |
CSOBoundingBox | getShifted (double dx, double dy, double dz) const |
Returns a bounding box shifted by the given values. | |
void | makeCubic () |
Modifies the bounding box so it becomes cubic with all sides as long as the former longest. | |
double | getSize () const |
Returns the volume or the area of the bounding box, or 0 if empty. | |
Vector3 | getCenterPoint () const |
Returns the center point of the bounding box. | |
void | print () |
Prints the v1/v2 coordinates to the console. For debugging convenience. | |
Public Attributes | |
Vector3 | v1 |
The x/y/z min values. | |
Vector3 | v2 |
the x/y/z max values. | |
The CSOBoundingBox defines an axis parallel bounding box with double precision.
Definition at line 30 of file CSOBoundingBox.h.
ml::CSOBoundingBox::CSOBoundingBox | ( | ) |
Constructor.
ml::CSOBoundingBox::CSOBoundingBox | ( | CSO * | cso | ) |
Constructor.
ml::CSOBoundingBox::CSOBoundingBox | ( | const CSOBoundingBox & | bBox | ) |
Copy constructor.
ml::CSOBoundingBox::~CSOBoundingBox | ( | ) |
Destructor.
Augments this bounding box by the given value in all directions.
bool ml::CSOBoundingBox::containsBoundingBox | ( | const CSOBoundingBox & | innerBoundingBox, |
const double | epsilon = 0.0 ) const |
Returns whether this bounding box encloses the given bounding box fully.
Returns whether this bounding box contains the given point.
void ml::CSOBoundingBox::correct | ( | ) |
Corrects all coordinates, so that the min values are indeed smaller than the max values.
Returns whether the given z-value is in the same slice/slab as this bounding box encloses.
Vector3 ml::CSOBoundingBox::getCenterPoint | ( | ) | const |
Returns the center point of the bounding box.
CSOBoundingBox ml::CSOBoundingBox::getShifted | ( | double | dx, |
double | dy, | ||
double | dz ) const |
Returns a bounding box shifted by the given values.
double ml::CSOBoundingBox::getSize | ( | ) | const |
Returns the volume or the area of the bounding box, or 0 if empty.
CSOBoundingBox ml::CSOBoundingBox::intersect | ( | const CSOBoundingBox & | bBox | ) | const |
Returns the intersection bounding box of this BB and the given one.
bool ml::CSOBoundingBox::intersects | ( | const CSOBoundingBox & | bBox | ) | const |
Returns whether this bounding box intersects with the given bounding box.
Returns whether this bounding box intersects with a bounding box given by its two vectors.
Returns whether this bounding box intersects a given sphere.
bool ml::CSOBoundingBox::isEmpty | ( | ) | const |
Returns whether this bounding box is empty.
void ml::CSOBoundingBox::makeCubic | ( | ) |
Modifies the bounding box so it becomes cubic with all sides as long as the former longest.
void ml::CSOBoundingBox::makeEmpty | ( | ) |
Empties this bounding box (set all values to +/- ML_FLOAT_MAX).
|
default |
default assignment operator
|
inline |
Prints the v1/v2 coordinates to the console. For debugging convenience.
Definition at line 103 of file CSOBoundingBox.h.
References CSO_PRINT.
Sets starting and ending vector for this bounding box.
The set values are corrected.
CSOBoundingBox ml::CSOBoundingBox::unify | ( | const CSOBoundingBox & | bBox | ) | const |
Returns the union bounding box of this BB and the given one.
Vector3 ml::CSOBoundingBox::v1 |
The x/y/z min values.
Definition at line 107 of file CSOBoundingBox.h.
Vector3 ml::CSOBoundingBox::v2 |
the x/y/z max values.
Definition at line 109 of file CSOBoundingBox.h.