Open CASCADE Technology 7.8.0
Public Member Functions | Protected Attributes
Bnd_B2d Class Reference

#include <Bnd_B2d.hxx>

Public Member Functions

 Bnd_B2d ()
 Empty constructor.
 
 Bnd_B2d (const gp_XY &theCenter, const gp_XY &theHSize)
 Constructor.
 
Standard_Boolean IsVoid () const
 Returns True if the box is void (non-initialized).
 
void Clear ()
 Reset the box data.
 
void Add (const gp_XY &thePnt)
 Update the box by a point.
 
void Add (const gp_Pnt2d &thePnt)
 Update the box by a point.
 
void Add (const Bnd_B2d &theBox)
 Update the box by another box.
 
gp_XY CornerMin () const
 Query a box corner: (Center - HSize). You must make sure that the box is NOT VOID (see IsVoid()), otherwise the method returns irrelevant result.
 
gp_XY CornerMax () const
 Query a box corner: (Center + HSize). You must make sure that the box is NOT VOID (see IsVoid()), otherwise the method returns irrelevant result.
 
Standard_Real SquareExtent () const
 Query the square diagonal. If the box is VOID (see method IsVoid()) then a very big real value is returned.
 
void Enlarge (const Standard_Real theDiff)
 Extend the Box by the absolute value of theDiff.
 
Standard_Boolean Limit (const Bnd_B2d &theOtherBox)
 Limit the Box by the internals of theOtherBox. Returns True if the limitation takes place, otherwise False indicating that the boxes do not intersect.
 
Bnd_B2d Transformed (const gp_Trsf2d &theTrsf) const
 Transform the bounding box with the given transformation. The resulting box will be larger if theTrsf contains rotation.
 
Standard_Boolean IsOut (const gp_XY &thePnt) const
 Check the given point for the inclusion in the Box. Returns True if the point is outside.
 
Standard_Boolean IsOut (const gp_XY &theCenter, const Standard_Real theRadius, const Standard_Boolean isCircleHollow=Standard_False) const
 Check a circle for the intersection with the current box. Returns True if there is no intersection between boxes.
 
Standard_Boolean IsOut (const Bnd_B2d &theOtherBox) const
 Check the given box for the intersection with the current box. Returns True if there is no intersection between boxes.
 
Standard_Boolean IsOut (const Bnd_B2d &theOtherBox, const gp_Trsf2d &theTrsf) const
 Check the given box oriented by the given transformation for the intersection with the current box. Returns True if there is no intersection between boxes.
 
Standard_Boolean IsOut (const gp_Ax2d &theLine) const
 Check the given Line for the intersection with the current box. Returns True if there is no intersection.
 
Standard_Boolean IsOut (const gp_XY &theP0, const gp_XY &theP1) const
 Check the Segment defined by the couple of input points for the intersection with the current box. Returns True if there is no intersection.
 
Standard_Boolean IsIn (const Bnd_B2d &theBox) const
 Check that the box 'this' is inside the given box 'theBox'. Returns True if 'this' box is fully inside 'theBox'.
 
Standard_Boolean IsIn (const Bnd_B2d &theBox, const gp_Trsf2d &theTrsf) const
 Check that the box 'this' is inside the given box 'theBox' transformed by 'theTrsf'. Returns True if 'this' box is fully inside the transformed 'theBox'.
 
void SetCenter (const gp_XY &theCenter)
 Set the Center coordinates.
 
void SetHSize (const gp_XY &theHSize)
 Set the HSize (half-diagonal) coordinates. All components of theHSize must be non-negative.
 

Protected Attributes

Standard_Real myCenter [2]
 
Standard_Real myHSize [2]
 

Constructor & Destructor Documentation

◆ Bnd_B2d() [1/2]

Bnd_B2d::Bnd_B2d ( )

Empty constructor.

◆ Bnd_B2d() [2/2]

Bnd_B2d::Bnd_B2d ( const gp_XY theCenter,
const gp_XY theHSize 
)

Constructor.

Member Function Documentation

◆ Add() [1/3]

void Bnd_B2d::Add ( const Bnd_B2d theBox)

Update the box by another box.

◆ Add() [2/3]

void Bnd_B2d::Add ( const gp_Pnt2d thePnt)

Update the box by a point.

◆ Add() [3/3]

void Bnd_B2d::Add ( const gp_XY thePnt)

Update the box by a point.

◆ Clear()

void Bnd_B2d::Clear ( )

Reset the box data.

◆ CornerMax()

gp_XY Bnd_B2d::CornerMax ( ) const

Query a box corner: (Center + HSize). You must make sure that the box is NOT VOID (see IsVoid()), otherwise the method returns irrelevant result.

◆ CornerMin()

gp_XY Bnd_B2d::CornerMin ( ) const

Query a box corner: (Center - HSize). You must make sure that the box is NOT VOID (see IsVoid()), otherwise the method returns irrelevant result.

◆ Enlarge()

void Bnd_B2d::Enlarge ( const Standard_Real  theDiff)

Extend the Box by the absolute value of theDiff.

◆ IsIn() [1/2]

Standard_Boolean Bnd_B2d::IsIn ( const Bnd_B2d theBox) const

Check that the box 'this' is inside the given box 'theBox'. Returns True if 'this' box is fully inside 'theBox'.

◆ IsIn() [2/2]

Standard_Boolean Bnd_B2d::IsIn ( const Bnd_B2d theBox,
const gp_Trsf2d theTrsf 
) const

Check that the box 'this' is inside the given box 'theBox' transformed by 'theTrsf'. Returns True if 'this' box is fully inside the transformed 'theBox'.

◆ IsOut() [1/6]

Standard_Boolean Bnd_B2d::IsOut ( const Bnd_B2d theOtherBox) const

Check the given box for the intersection with the current box. Returns True if there is no intersection between boxes.

◆ IsOut() [2/6]

Standard_Boolean Bnd_B2d::IsOut ( const Bnd_B2d theOtherBox,
const gp_Trsf2d theTrsf 
) const

Check the given box oriented by the given transformation for the intersection with the current box. Returns True if there is no intersection between boxes.

◆ IsOut() [3/6]

Standard_Boolean Bnd_B2d::IsOut ( const gp_Ax2d theLine) const

Check the given Line for the intersection with the current box. Returns True if there is no intersection.

◆ IsOut() [4/6]

Standard_Boolean Bnd_B2d::IsOut ( const gp_XY theCenter,
const Standard_Real  theRadius,
const Standard_Boolean  isCircleHollow = Standard_False 
) const

Check a circle for the intersection with the current box. Returns True if there is no intersection between boxes.

◆ IsOut() [5/6]

Standard_Boolean Bnd_B2d::IsOut ( const gp_XY theP0,
const gp_XY theP1 
) const

Check the Segment defined by the couple of input points for the intersection with the current box. Returns True if there is no intersection.

◆ IsOut() [6/6]

Standard_Boolean Bnd_B2d::IsOut ( const gp_XY thePnt) const

Check the given point for the inclusion in the Box. Returns True if the point is outside.

◆ IsVoid()

Standard_Boolean Bnd_B2d::IsVoid ( ) const

Returns True if the box is void (non-initialized).

◆ Limit()

Standard_Boolean Bnd_B2d::Limit ( const Bnd_B2d theOtherBox)

Limit the Box by the internals of theOtherBox. Returns True if the limitation takes place, otherwise False indicating that the boxes do not intersect.

◆ SetCenter()

void Bnd_B2d::SetCenter ( const gp_XY theCenter)

Set the Center coordinates.

◆ SetHSize()

void Bnd_B2d::SetHSize ( const gp_XY theHSize)

Set the HSize (half-diagonal) coordinates. All components of theHSize must be non-negative.

◆ SquareExtent()

Standard_Real Bnd_B2d::SquareExtent ( ) const

Query the square diagonal. If the box is VOID (see method IsVoid()) then a very big real value is returned.

◆ Transformed()

Bnd_B2d Bnd_B2d::Transformed ( const gp_Trsf2d theTrsf) const

Transform the bounding box with the given transformation. The resulting box will be larger if theTrsf contains rotation.

Field Documentation

◆ myCenter

Standard_Real Bnd_B2d::myCenter[2]
protected

◆ myHSize

Standard_Real Bnd_B2d::myHSize[2]
protected

The documentation for this class was generated from the following file: