Open CASCADE Technology 7.8.0
Static Public Member Functions
BndLib_AddSurface Class Reference

computes the box from a surface Functions to add a surface to a bounding box. The surface is defined from a Geom surface. More...

#include <BndLib_AddSurface.hxx>

Static Public Member Functions

static void Add (const Adaptor3d_Surface &S, const Standard_Real Tol, Bnd_Box &B)
 Adds to the bounding box B the surface S B is then enlarged by the tolerance value Tol. Note: depending on the type of curve, one of the following representations of the surface S is used to include it in the bounding box B:
 
static void Add (const Adaptor3d_Surface &S, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax, const Standard_Real Tol, Bnd_Box &B)
 Adds to the bounding box B the surface S the patch of the surface S limited in the u parametric direction by the two parameter values UMin, UMax, and in the v parametric direction by the two parameter values VMin, VMax. Note: depending on the type of curve, one of the following representations of the surface S is used to include it in the bounding box B:
 
static void AddOptimal (const Adaptor3d_Surface &S, const Standard_Real Tol, Bnd_Box &B)
 Adds the surface S to the bounding box B. This algorithm builds precise bounding box.
 
static void AddOptimal (const Adaptor3d_Surface &S, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax, const Standard_Real Tol, Bnd_Box &B)
 
static void AddGenSurf (const Adaptor3d_Surface &S, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax, const Standard_Real Tol, Bnd_Box &B)
 Adds to the bounding box B the surface S using numerical minimization algorithms This method is used in AddOptimal for not analytical surfaces and torus. if Tol < Precision::Confusion(), Precision::Confusion is used as computation tolerance.
 

Detailed Description

computes the box from a surface Functions to add a surface to a bounding box. The surface is defined from a Geom surface.

Member Function Documentation

◆ Add() [1/2]

static void BndLib_AddSurface::Add ( const Adaptor3d_Surface S,
const Standard_Real  Tol,
Bnd_Box B 
)
static

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

  • an exact representation if S is built from a plane, a cylinder, a cone, a sphere or a torus,
  • the poles of the surface if S is built from a Bezier surface or a BSpline surface,
  • the points of an approximation of the surface S in cases other than offset surfaces;
  • in the case of an offset surface, the basis surface is first included according to the previous rules; then the bounding box is enlarged by the offset value. Warning Do not use these functions to add a non-finite surface to the bounding box B. If UMin, UMax, VMin or VMax is an infinite value B will become WholeSpace. S is an adapted surface, that is, an object which is an interface between:
  • the services provided by a surface from the package Geom
  • and those required of the surface by the computation algorithm. The adapted surface is created in the following way: Handle(Geom_Surface) mysurface = ... ; GeomAdaptor_Surface S(mysurface); The bounding box B is then enlarged by adding this surface: Bnd_Box B; // ... Standard_Real Tol = ... ; AddSurface::Add ( S, Tol, B );

◆ Add() [2/2]

static void BndLib_AddSurface::Add ( const Adaptor3d_Surface S,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax,
const Standard_Real  Tol,
Bnd_Box B 
)
static

Adds to the bounding box B the surface S the patch of the surface S limited in the u parametric direction by the two parameter values UMin, UMax, and in the v parametric direction by the two parameter values VMin, VMax. Note: depending on the type of curve, one of the following representations of the surface S is used to include it in the bounding box B:

  • an exact representation if S is built from a plane, a cylinder, a cone, a sphere or a torus,
  • the poles of the surface if S is built from a Bezier surface or a BSpline surface,
  • the points of an approximation of the surface S in cases other than offset surfaces;
  • in the case of an offset surface, the basis surface is first included according to the previous rules; then the bounding box is enlarged by the offset value. Warning Do not use these functions to add a non-finite surface to the bounding box B. If UMin, UMax, VMin or VMax is an infinite value B will become WholeSpace. S is an adapted surface, that is, an object which is an interface between:
  • the services provided by a surface from the package Geom
  • and those required of the surface by the computation algorithm. The adapted surface is created in the following way: Handle(Geom_Surface) mysurface = ... ; GeomAdaptor_Surface S(mysurface); The bounding box B is then enlarged by adding this surface: Bnd_Box B; // ... Standard_Real Tol = ... ; AddSurface::Add ( S, Tol, B );

◆ AddGenSurf()

static void BndLib_AddSurface::AddGenSurf ( const Adaptor3d_Surface S,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax,
const Standard_Real  Tol,
Bnd_Box B 
)
static

Adds to the bounding box B the surface S using numerical minimization algorithms This method is used in AddOptimal for not analytical surfaces and torus. if Tol < Precision::Confusion(), Precision::Confusion is used as computation tolerance.

◆ AddOptimal() [1/2]

static void BndLib_AddSurface::AddOptimal ( const Adaptor3d_Surface S,
const Standard_Real  Tol,
Bnd_Box B 
)
static

Adds the surface S to the bounding box B. This algorithm builds precise bounding box.

◆ AddOptimal() [2/2]

static void BndLib_AddSurface::AddOptimal ( const Adaptor3d_Surface S,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax,
const Standard_Real  Tol,
Bnd_Box B 
)
static

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