C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
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.