7b473485d2cc8fc1abb7ce672b091395d0d8c75e
[occt.git] / src / Bnd / Bnd.cdl
1 -- File:        Bnd.cdl
2 -- Created:     Tue Jan  8 09:53:22 1991
3 -- Author:      Didier Piffault
4 --              <rle@topsn3>
5 ---Copyright:    Matra Datavision 1991, 1992
6 --- Modified by  hl1 (juillet 96) : ajout de SeqOfBox
7
8
9
10
11        --------------------------------------------------------
12        ---              I n f o r m a t i o n               ---
13        ---                                                  ---
14        ---  The Bnd_Tool class is now in the package Intf.  ---
15        --------------------------------------------------------
16
17
18
19
20
21 package Bnd 
22
23         ---Purpose: Supports the Boundings Volumes.  A Bounding Volume
24         --          is used to bound a shape to optimising algorithms.
25         --          If  a point is  outside the Bounding   Volume of a
26         --          shape it is also  outside the shape.  The contrary
27         --          is not necessarily true.
28         --          
29         --          Various classes are  then implemented to  describe
30         --          the usual  Bounding volumes. Not  all  classes are
31         --          implemented.
32         --          
33         --          in 3D :
34         --          Box                -- Implemented
35         --          BoundSortBox       -- Implemented
36         --          
37         --          in 2D :
38         --          Box2d              -- Implemented
39         --          BoundSortBox2d     -- Implemented
40         --          
41         --          
42
43         ---Level : Public. 
44         --  All methods of all  classes will be public.
45
46         
47 uses    Standard,
48         TCollection,
49         TColStd,
50         gp,
51         MMgt
52
53
54 is  class Box;
55         ---Purpose: A box parallel to the main axes.
56         --          A 3D Bounding.
57     class Array1OfBox instantiates Array1 from TCollection
58                                    (Box from Bnd);
59     class HArray1OfBox instantiates HArray1 from TCollection
60                                    (Box from Bnd,
61                                     Array1OfBox from Bnd);
62
63    class Sphere;
64    class Array1OfSphere instantiates Array1 from TCollection
65                                      (Sphere from Bnd);
66    class HArray1OfSphere instantiates HArray1 from TCollection
67                                       (Sphere from Bnd,
68                                       Array1OfSphere from Bnd);
69
70
71     class Box2d;
72         ---Purpose: A rectangle parallel to the main axes.
73         --          A 2D Bounding.
74     class Array1OfBox2d instantiates Array1 from TCollection
75                                    (Box2d from Bnd);
76     class HArray1OfBox2d instantiates HArray1 from TCollection
77                                    (Box2d from Bnd,
78                                     Array1OfBox2d from Bnd);
79
80
81     class BoundSortBox2d;
82         ---Purpose: A tool to sort a set of Box2d  and compare with an
83         --          other Box2d to find the list of touched items.
84
85
86     class BoundSortBox;
87         ---Purpose: A tool to sort a  set of Box  and compare with  an
88         --          other Box to find the list of touched items.
89
90
91     class SeqOfBox instantiates Sequence from TCollection (Box from Bnd);
92         ---Purpose: This sequence used to store the bounding boxes of sub-Shapes.
93     
94     --- Optimized boxes (no Gap, no infinity supported)
95     generic class B2x;
96     generic class B3x;
97
98     class B2d instantiates B2x from Bnd (Real from Standard);
99     -- 2D box with double-precision coordinates
100
101     class B2f instantiates B2x from Bnd (ShortReal from Standard);
102     -- 2D box with single-precision coordinates
103
104     class B3d instantiates B3x from Bnd (Real from Standard);
105     -- 3D box with double-precision coordinates
106
107     class B3f instantiates B3x from Bnd (ShortReal from Standard);
108     -- 3D box with single-precision coordinates
109
110 end Bnd;