1 -- File: BRepBndLib.cdl
2 -- Created: Thu Jul 22 16:12:28 1993
3 -- Author: Isabelle GRIGNON
5 ---Copyright: Matra Datavision 1993
10 ---Purpose: This package provides the bounding boxes for curves
11 -- and surfaces from BRepAdaptor.
12 -- Functions to add a topological shape to a bounding box
24 -- Package methods for shapes
27 Add(S : Shape from TopoDS;
28 B : in out Box from Bnd;
29 useTriangulation: Boolean from Standard = Standard_True);
30 ---Purpose:Adds the shape S to the bounding box B.
31 -- More precisely are successively added to B:
32 -- - each face of S; the triangulation of the face is used if it exists,
33 -- - then each edge of S which does not belong to a face,
34 -- the polygon of the edge is used if it exists
35 -- - and last each vertex of S which does not belong to an edge.
36 -- After each elementary operation, the bounding box B is
37 -- enlarged by the tolerance value of the relative sub-shape.
38 -- When working with the triangulation of a face this value of
39 -- enlargement is the sum of the triangulation deflection and
40 -- the face tolerance. When working with the
41 -- polygon of an edge this value of enlargement is
42 -- the sum of the polygon deflection and the edge tolerance.
44 -- - This algorithm is time consuming if triangulation has not
45 -- been inserted inside the data structure of the shape S.
46 -- - The resulting bounding box may be somewhat larger than the object.
49 AddClose(S : Shape from TopoDS; B : in out Box from Bnd);
50 ---Purpose: Adds the shape S to the bounding box B.
51 -- This is a quick algorithm but only works if the shape S is
52 -- composed of polygonal planar faces, as is the case if S is
53 -- an approached polyhedral representation of an exact
54 -- shape. Pay particular attention to this because this
55 -- condition is not checked and, if it not respected, an error
56 -- may occur in the algorithm for which the bounding box is built.
57 -- Note that the resulting bounding box is not enlarged by the
58 -- tolerance value of the sub-shapes as is the case with the
59 -- Add function. So the added part of the resulting bounding
60 -- box is closer to the shape S.