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