Open CASCADE Technology 6.6.0
Public Member Functions
Bnd_Box Class Reference

Describes a bounding box in 3D space.
A bounding box is parallel to the axes of the coordinates
system. If it is finite, it is defined by the three intervals:
More...

#include <Bnd_Box.hxx>

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.


Detailed Description


Constructor & Destructor Documentation

Bnd_Box::Bnd_Box ( )

Member Function Documentation

void Bnd_Box::Add ( const Bnd_Box Other)
void Bnd_Box::Add ( const gp_Pnt P,
const gp_Dir D 
)

in the direction <D>.

void Bnd_Box::Add ( const gp_Dir D)
void Bnd_Box::Add ( const gp_Pnt P)
Standard_Real Bnd_Box::Distance ( const Bnd_Box Other) const
void Bnd_Box::Dump ( ) const
void Bnd_Box::Enlarge ( const Standard_Real  Tol)
void Bnd_Box::Get ( Standard_Real aXmin,
Standard_Real aYmin,
Standard_Real aZmin,
Standard_Real aXmax,
Standard_Real aYmax,
Standard_Real aZmax 
) const
Standard_Real Bnd_Box::GetGap ( ) const
Standard_Boolean Bnd_Box::IsOpenXmax ( ) const
Standard_Boolean Bnd_Box::IsOpenXmin ( ) const
Standard_Boolean Bnd_Box::IsOpenYmax ( ) const
Standard_Boolean Bnd_Box::IsOpenYmin ( ) const
Standard_Boolean Bnd_Box::IsOpenZmax ( ) const
Standard_Boolean Bnd_Box::IsOpenZmin ( ) const
Standard_Boolean Bnd_Box::IsOut ( const gp_Trsf T1,
const Bnd_Box Other,
const gp_Trsf T2 
) const
Standard_Boolean Bnd_Box::IsOut ( const gp_Pnt P) const
Standard_Boolean Bnd_Box::IsOut ( const gp_Lin L) const
Standard_Boolean Bnd_Box::IsOut ( const gp_Pln P) const
Standard_Boolean Bnd_Box::IsOut ( const Bnd_Box Other) const
Standard_Boolean Bnd_Box::IsOut ( const Bnd_Box Other,
const gp_Trsf T 
) const
Standard_Boolean Bnd_Box::IsOut ( const gp_Pnt P1,
const gp_Pnt P2,
const gp_Dir D 
) const
Standard_Boolean Bnd_Box::IsThin ( const Standard_Real  tol) const
Standard_Boolean Bnd_Box::IsVoid ( ) const
Standard_Boolean Bnd_Box::IsWhole ( ) const
Standard_Boolean Bnd_Box::IsXThin ( const Standard_Real  tol) const
Standard_Boolean Bnd_Box::IsYThin ( const Standard_Real  tol) const
Standard_Boolean Bnd_Box::IsZThin ( const Standard_Real  tol) const
void Bnd_Box::OpenXmax ( )
void Bnd_Box::OpenXmin ( )
void Bnd_Box::OpenYmax ( )
void Bnd_Box::OpenYmin ( )
void Bnd_Box::OpenZmax ( )
void Bnd_Box::OpenZmin ( )
void Bnd_Box::Set ( const gp_Pnt P)
  • the point P. This involves first setting this bounding box
    to be void and then adding the point P.
void Bnd_Box::Set ( const gp_Pnt P,
const gp_Dir D 
)
void Bnd_Box::SetGap ( const Standard_Real  Tol)
void Bnd_Box::SetVoid ( )
void Bnd_Box::SetWhole ( )
Standard_Real Bnd_Box::SquareExtent ( ) const
Bnd_Box Bnd_Box::Transformed ( const gp_Trsf T) const
void Bnd_Box::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 
)
  • interval [ aXmin,aXmax ] in the "X Direction",
  • interval [ aYmin,aYmax ] in the "Y Direction",
  • interval [ aZmin,aZmax ] in the "Z Direction";
void Bnd_Box::Update ( const Standard_Real  X,
const Standard_Real  Y,
const Standard_Real  Z 
)

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines