|
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 specified bounding box. | |
| bool | intersects (const Vector3 &argv1, const Vector3 &argv2) const |
| Returns whether this bounding box intersects with a bounding box specified by its two vectors. | |
| bool | intersects (const Vector3 ¢er, double radius) const |
| Returns whether this bounding box intersects a specified 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 specified one. | |
| CSOBoundingBox | intersect (const CSOBoundingBox &bBox) const |
| Returns the intersection bounding box of this BB and the specified one. | |
| bool | containsPoint (double x, double y, double z) const |
| Returns whether this bounding box contains the specified point. | |
| bool | enclosesSlabWithZPosition (double z) const |
| Returns whether the specified 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 specified bounding box fully. | |
| void | augment (float value) |
| Augments this bounding box by the specified value in all directions. | |
| CSOBoundingBox | getShifted (double dx, double dy, double dz) const |
| Returns a bounding box shifted by the specified 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.
| void ml::CSOBoundingBox::augment | ( | float | value | ) |
Augments this bounding box by the specified value in all directions.
| bool ml::CSOBoundingBox::containsBoundingBox | ( | const CSOBoundingBox & | innerBoundingBox, |
| const double | epsilon = 0.0 |
||
| ) | const |
Returns whether this bounding box encloses the specified bounding box fully.
| bool ml::CSOBoundingBox::containsPoint | ( | double | x, |
| double | y, | ||
| double | z | ||
| ) | const |
Returns whether this bounding box contains the specified point.
| void ml::CSOBoundingBox::correct | ( | ) |
Corrects all coordinates, so that the min values are indeed smaller than the max values.
| bool ml::CSOBoundingBox::enclosesSlabWithZPosition | ( | double | z | ) | const |
Returns whether the specified 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 specified 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 specified one.
| bool ml::CSOBoundingBox::intersects | ( | const CSOBoundingBox & | bBox | ) | const |
Returns whether this bounding box intersects with the specified bounding box.
Returns whether this bounding box intersects with a bounding box specified by its two vectors.
| bool ml::CSOBoundingBox::intersects | ( | const Vector3 & | center, |
| double | radius | ||
| ) | const |
Returns whether this bounding box intersects a specified 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 specified 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.