Public Member Functions |
| Bnd_Box () |
| Creates an empty Box.
The constructed box is qualified Void. Its gap is null.
|
void | SetWhole () |
| Sets this bounding box so that it covers the whole of 3D space.
It is infinitely long in all directions.
|
void | SetVoid () |
| Sets this bounding box so that it is empty. All points are outside a void box.
|
void | Set (const gp_Pnt &P) |
| Sets this bounding box so that it bounds
|
void | Set (const gp_Pnt &P, const gp_Dir &D) |
| Sets this bounding box so that it bounds
the half-line defined by point P and direction D, i.e. all
points M defined by M=P+u*D, where u is greater than
or equal to 0, are inside the bounding volume. This
involves first setting this box to be void and then adding the half-line.
|
void | Update (const Standard_Real aXmin, const Standard_Real aYmin, const Standard_Real aZmin, const Standard_Real aXmax, const Standard_Real aYmax, const Standard_Real aZmax) |
| Enlarges this bounding box, if required, so that it
contains at least:
|
void | Update (const Standard_Real X, const Standard_Real Y, const Standard_Real Z) |
| Adds a point of coordinates (X,Y,Z) to this bounding box.
|
Standard_Real | GetGap () const |
| Returns the gap of this bounding box.
|
void | SetGap (const Standard_Real Tol) |
| Set the gap of this bounding box to abs(Tol).
|
void | Enlarge (const Standard_Real Tol) |
| Enlarges the box with a tolerance value.
(minvalues-Abs(<tol>) and maxvalues+Abs(<tol>))
This means that the minimum values of its X, Y and Z
intervals of definition, when they are finite, are reduced by
the absolute value of Tol, while the maximum values are
increased by the same amount.
|
void | Get (Standard_Real &aXmin, Standard_Real &aYmin, Standard_Real &aZmin, Standard_Real &aXmax, Standard_Real &aYmax, Standard_Real &aZmax) const |
| Returns the bounds of this bounding box. The gap is included.
If this bounding box is infinite (i.e. "open"), returned values
may be equal to +/- Precision::Infinite().
if IsVoid()
|
void | OpenXmin () |
| The Box will be infinitely long in the Xmin
direction.
|
void | OpenXmax () |
| The Box will be infinitely long in the Xmax
direction.
|
void | OpenYmin () |
| The Box will be infinitely long in the Ymin
direction.
|
void | OpenYmax () |
| The Box will be infinitely long in the Ymax
direction.
|
void | OpenZmin () |
| The Box will be infinitely long in the Zmin
direction.
|
void | OpenZmax () |
| The Box will be infinitely long in the Zmax
direction.
|
Standard_Boolean | IsOpenXmin () const |
| Returns true if this bounding box is open in the Xmin direction.
|
Standard_Boolean | IsOpenXmax () const |
| Returns true if this bounding box is open in the Xmax direction.
|
Standard_Boolean | IsOpenYmin () const |
| Returns true if this bounding box is open in the Ymix direction.
|
Standard_Boolean | IsOpenYmax () const |
| Returns true if this bounding box is open in the Ymax direction.
|
Standard_Boolean | IsOpenZmin () const |
| Returns true if this bounding box is open in the Zmin direction.
|
Standard_Boolean | IsOpenZmax () const |
| Returns true if this bounding box is open in the Zmax direction.
|
Standard_Boolean | IsWhole () const |
| Returns true if this bounding box is infinite in all 6 directions (WholeSpace flag).
|
Standard_Boolean | IsVoid () const |
| Returns true if this bounding box is empty (Void flag).
|
Standard_Boolean | IsXThin (const Standard_Real tol) const |
| true if xmax-xmin < tol.
|
Standard_Boolean | IsYThin (const Standard_Real tol) const |
| true if ymax-ymin < tol.
|
Standard_Boolean | IsZThin (const Standard_Real tol) const |
| true if zmax-zmin < tol.
|
Standard_Boolean | IsThin (const Standard_Real tol) const |
| Returns true if IsXThin, IsYThin and IsZThin are all true,
i.e. if the box is thin in all three dimensions.
|
Bnd_Box | Transformed (const gp_Trsf &T) const |
| Returns a bounding box which is the result of applying the
transformation T to this bounding box.
Warning
Applying a geometric transformation (for example, a
rotation) to a bounding box generally increases its
dimensions. This is not optimal for algorithms which use it.
|
void | Add (const Bnd_Box &Other) |
| Adds the box <Other> to <me>.
|
void | Add (const gp_Pnt &P) |
| Adds a Pnt to the box.
|
void | Add (const gp_Pnt &P, const gp_Dir &D) |
| Extends <me> from the Pnt.
|
void | Add (const gp_Dir &D) |
| Extends the Box in the given Direction, i.e. adds
an half-line. The box may become infinite in
1,2 or 3 directions.
|
Standard_Boolean | IsOut (const gp_Pnt &P) const |
| Returns True if the Pnt is out the box.
|
Standard_Boolean | IsOut (const gp_Lin &L) const |
| Returns False if the line intersects the box.
|
Standard_Boolean | IsOut (const gp_Pln &P) const |
| Returns False if the plane intersects the box.
|
Standard_Boolean | IsOut (const Bnd_Box &Other) const |
| Returns False if the <Box> intersects or is inside <me>.
|
Standard_Boolean | IsOut (const Bnd_Box &Other, const gp_Trsf &T) const |
| Returns False if the transformed <Box> intersects
or is inside <me>.
|
Standard_Boolean | IsOut (const gp_Trsf &T1, const Bnd_Box &Other, const gp_Trsf &T2) const |
| Returns False if the transformed <Box> intersects
or is inside the transformed box <me>.
|
Standard_Boolean | IsOut (const gp_Pnt &P1, const gp_Pnt &P2, const gp_Dir &D) const |
| Returns False if the flat band lying between two parallel
lines represented by their reference points <P1>, <P2> and
direction <D> intersects the box.
|
Standard_Real | Distance (const Bnd_Box &Other) const |
| Computes the minimum distance between two boxes.
|
void | Dump () const |
Standard_Real | SquareExtent () const |
| Computes the squared diagonal of me.
|