|
C3D Toolkit
Kernel - 118057, Vision - 2.14.7.1821
|
An arbitrarily oriented bounding box (OBB) that includes some geometric object within box boundaries. More...
#include <mb_oriented_box.h>
Public Member Functions | |
| MbOrientedBox () | |
| Construct an empty box. | |
| MbOrientedBox & | operator= (const MbOrientedBox &) |
| Assignment operator. | |
| const MbCartPoint3D & | Centre () const |
| Geometric center of the bounding box is in the middle of the main diagonal of PE. | |
| const MbCartPoint3D & | Vertex (size_t i) const |
| One of the eight vertices by 0-based index. More... | |
| MbVector3D | SemiDiagonal () const |
| Half of the longest diagonal of the parallelepiped in the proper coordinate system. | |
| double | SizeMax () const |
| The size of the box is equal to the maximum of the dimensions along its axes. | |
| bool | IsEmpty () const |
| The check for emptiness. More... | |
| bool | Intersect (const MbOrientedBox &) const |
| Whether the box intersects another box or not. More... | |
| void | Include (const MbCartPoint3D &) |
| Include a point in the box subset with orientation preserved. | |
| MbOrientedBox & | SetOXY (const MbCartPoint3D ¢re, const MbVector3D &, const MbVector3D &) |
| Set the position and orientation of PE. More... | |
| MbOrientedBox & | SetSize (double wx, double wy, double wz) |
| Sets the semi-dimensions of the parallelepiped by the axies (X,Y,Z). | |
| MbOrientedBox & | SetEmpty () |
| Set the box empty. | |
| MbOrientedBox & | Transform (const MbMatrix3D &) |
| Transform according to the matrix. More... | |
| MbOrientedBox & | Move (const MbVector3D &) |
| Translate to the given vector. | |
| const MbVector3D | LowerBnd () const |
| The lower bound of the interval radius-vector covering the box range (projections on the box axies but via the world origin). | |
| const MbVector3D | UpperBnd () const |
| The upper bound of the interval radius-vector covering the box range (in the local CS). | |
An arbitrarily oriented bounding box (OBB) that includes some geometric object within box boundaries.
A bounding box (parallelepiped, PE) specifies a domain of 3D-space that more or less tightly packs some geometric object.
It is used for quick estimation of the proximity or non-intersection of three-dimensional objects which are contained in the "box".
|
inline |
One of the eight vertices by 0-based index.
|
inline |
The check for emptiness.
A bounding box is empty if it doesn't contain any points of 3D-space.
| bool MbOrientedBox::Intersect | ( | const MbOrientedBox & | ) | const |
Whether the box intersects another box or not.
| MbOrientedBox& MbOrientedBox::SetOXY | ( | const MbCartPoint3D & | centre, |
| const MbVector3D & | , | ||
| const MbVector3D & | |||
| ) |
Set the position and orientation of PE.
The func sets the position and orientation, namely coordinates of center and vector pair of (X,Y)-axies.
| MbOrientedBox& MbOrientedBox::Transform | ( | const MbMatrix3D & | ) |
Transform according to the matrix.