Open CASCADE Technology  7.1.0.beta
Static Public Member Functions

BndLib_Add2dCurve Class Reference

Computes the bounding box for a curve in 2d . Functions to add a 2D curve to a bounding box. The 2D curve is defined from a Geom2d curve. More...

#include <BndLib_Add2dCurve.hxx>

Static Public Member Functions

static void Add (const Adaptor2d_Curve2d &C, const Standard_Real Tol, Bnd_Box2d &B)
 Adds to the bounding box B the curve C B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B: More...
 
static void Add (const Adaptor2d_Curve2d &C, const Standard_Real U1, const Standard_Real U2, const Standard_Real Tol, Bnd_Box2d &B)
 Adds to the bounding box Bthe arc of the curve C limited by the two parameter values P1 and P2. B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B: More...
 
static void Add (const Handle< Geom2d_Curve > &C, const Standard_Real Tol, Bnd_Box2d &Box)
 Adds to the bounding box B the curve C B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B: More...
 
static void Add (const Handle< Geom2d_Curve > &C, const Standard_Real U1, const Standard_Real U2, const Standard_Real Tol, Bnd_Box2d &B)
 Adds to the bounding box B the part of curve C B is then enlarged by the tolerance value Tol. U1, U2 - the parametric range to comute the bounding box; Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B: More...
 
static void AddOptimal (const Handle< Geom2d_Curve > &C, const Standard_Real U1, const Standard_Real U2, const Standard_Real Tol, Bnd_Box2d &B)
 Adds to the bounding box B the part of curve C B is then enlarged by the tolerance value Tol. U1, U2 - the parametric range to comute the bounding box; Note: depending on the type of curve, one of the following algorithms is used to include it in the bounding box B: More...
 

Detailed Description

Computes the bounding box for a curve in 2d . Functions to add a 2D curve to a bounding box. The 2D curve is defined from a Geom2d curve.

Member Function Documentation

static void BndLib_Add2dCurve::Add ( const Adaptor2d_Curve2d C,
const Standard_Real  Tol,
Bnd_Box2d B 
)
static

Adds to the bounding box B the curve C B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B:

  • an exact representation if C is built from a line, a circle or a conic curve,
  • the poles of the curve if C is built from a Bezier curve or a BSpline curve,
  • if not, the points of an approximation of the curve C. Warning C is an adapted curve, that is, an object which is an interface between:
  • the services provided by a 2D curve from the package Geom2d
  • and those required of the curve by the computation algorithm. The adapted curve is created in the following way: Handle(Geom2d_Curve) mycurve = ... ; Geom2dAdaptor_Curve C(mycurve); The bounding box B is then enlarged by adding it: Bnd_Box2d B; // ... Standard_Real Tol = ... ; Add2dCurve::Add ( C, Tol, B ); Exceptions Standard_Failure if the curve is built from:
  • a Geom_Line, or
  • a Geom_Parabola, or
  • a Geom_Hyperbola, and P1 and P2 are either two negative infinite real numbers, or two positive infinite real numbers.
static void BndLib_Add2dCurve::Add ( const Adaptor2d_Curve2d C,
const Standard_Real  U1,
const Standard_Real  U2,
const Standard_Real  Tol,
Bnd_Box2d B 
)
static

Adds to the bounding box Bthe arc of the curve C limited by the two parameter values P1 and P2. B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B:

  • an exact representation if C is built from a line, a circle or a conic curve,
  • the poles of the curve if C is built from a Bezier curve or a BSpline curve,
  • if not, the points of an approximation of the curve C. Warning C is an adapted curve, that is, an object which is an interface between:
  • the services provided by a 2D curve from the package Geom2d
  • and those required of the curve by the computation algorithm. The adapted curve is created in the following way: Handle(Geom2d_Curve) mycurve = ... ; Geom2dAdaptor_Curve C(mycurve); The bounding box B is then enlarged by adding it: Bnd_Box2d B; // ... Standard_Real Tol = ... ; Add2dCurve::Add ( C, Tol, B ); Exceptions Standard_Failure if the curve is built from:
  • a Geom_Line, or
  • a Geom_Parabola, or
  • a Geom_Hyperbola, and P1 and P2 are either two negative infinite real numbers, or two positive infinite real numbers.
static void BndLib_Add2dCurve::Add ( const Handle< Geom2d_Curve > &  C,
const Standard_Real  Tol,
Bnd_Box2d Box 
)
static

Adds to the bounding box B the curve C B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B:

  • an exact representation if C is built from a line, a circle or a conic curve,
  • the poles of the curve if C is built from a Bezier curve or a BSpline curve,
  • if not, the points of an approximation of the curve C.
static void BndLib_Add2dCurve::Add ( const Handle< Geom2d_Curve > &  C,
const Standard_Real  U1,
const Standard_Real  U2,
const Standard_Real  Tol,
Bnd_Box2d B 
)
static

Adds to the bounding box B the part of curve C B is then enlarged by the tolerance value Tol. U1, U2 - the parametric range to comute the bounding box; Note: depending on the type of curve, one of the following representations of the curve C is used to include it in the bounding box B:

  • an exact representation if C is built from a line, a circle or a conic curve,
  • the poles of the curve if C is built from a Bezier curve or a BSpline curve,
  • if not, the points of an approximation of the curve C.
static void BndLib_Add2dCurve::AddOptimal ( const Handle< Geom2d_Curve > &  C,
const Standard_Real  U1,
const Standard_Real  U2,
const Standard_Real  Tol,
Bnd_Box2d B 
)
static

Adds to the bounding box B the part of curve C B is then enlarged by the tolerance value Tol. U1, U2 - the parametric range to comute the bounding box; Note: depending on the type of curve, one of the following algorithms is used to include it in the bounding box B:

  • an exact analytical if C is built from a line, a circle or a conic curve,
  • numerical calculation of bounding box sizes, based on minimization algorithm, for other types of curve If Tol = < Precision::PConfusion(), Precision::PConfusion is used as tolerance for calculation

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