0022850: Not stable fix 22735
[occt.git] / src / TopTools / TopTools.cdl
1 -- Created on: 1993-01-14
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 package TopTools 
24
25         ---Purpose: The  TopTools package provides   utilities for the
26         --          topological data structure.
27         --          
28         --          * ShapeMapHasher. Hash a  Shape base on the TShape
29         --          and the Location. The Orientation is not used.
30         --          
31         --          * OrientedShapeMapHasher. Hash a Shape base on the
32         --          TShape ,the Location and the Orientation.
33         --          
34         --          * Instantiations of TCollection for Shapes :
35         --             MapOfShape
36         --             IndexedMapOfShape
37         --             DataMapOfIntegerShape
38         --             DataMapOfShapeInteger
39         --             DataMapOfShapeReal
40         --             Array1OfShape
41         --             HArray1OfShape
42         --             SequenceOfShape
43         --             HSequenceOfShape
44         --             ListOfShape
45         --             Array1OfListShape
46         --             HArray1OfListShape
47         --             DataMapOfIntegerListOfShape
48         --             DataMapOfShapeListOfShape
49         --             DataMapOfShapeListOfInteger
50         --             IndexedDataMapOfShapeShape
51         --             IndexedDataMapOfShapeListOfShape
52         --             DataMapOfShapeShape
53         --             IndexedMapOfOrientedShape
54         --             DataMapOfShapeSequenceOfShape
55         --             IndexedDataMapOfShapeAddress
56         --             DataMapOfOrientedShapeShape
57         --             
58         --          * LocationSet : to write sets of locations.
59         --          
60         --          * ShapeSet : to writes sets of TShapes.
61         --          
62         --          Package Methods :
63         --          
64         --            Dump : To dump the topology of a Shape.
65         --          
66
67         --- Level : Public  
68         --  All methods of all  classes will be public.
69
70
71 uses
72
73     MMgt,
74     TCollection,
75     TColStd,
76     TopLoc,
77     TopAbs,
78     TopoDS,
79     Message
80
81 is
82
83     ----------------------------------------------------------
84     -- TCollections for Shapes
85     ----------------------------------------------------------
86
87     class ShapeMapHasher;
88     
89     class OrientedShapeMapHasher;
90     
91     class MapOfShape instantiates 
92         Map from TCollection(Shape          from TopoDS, 
93                              ShapeMapHasher from TopTools);
94
95     class MapOfOrientedShape instantiates 
96         Map from TCollection(Shape          from TopoDS, 
97                              OrientedShapeMapHasher from TopTools);
98
99     class IndexedMapOfShape instantiates 
100         IndexedMap from TCollection(Shape          from TopoDS, 
101                                     ShapeMapHasher from TopTools);
102                                     
103     class DataMapOfIntegerShape instantiates 
104         DataMap from TCollection(Integer,
105                                  Shape            from TopoDS,
106                                  MapIntegerHasher from TColStd);
107     
108     class DataMapOfOrientedShapeInteger instantiates 
109         DataMap from TCollection(Shape                    from TopoDS,
110                                  Integer                  from Standard,
111                                  OrientedShapeMapHasher   from TopTools);
112
113     class DataMapOfShapeInteger instantiates 
114         DataMap from TCollection(Shape                    from TopoDS,
115                                  Integer                  from Standard,
116                                  ShapeMapHasher           from TopTools);
117
118     class DataMapOfShapeReal instantiates 
119         DataMap from TCollection(Shape                    from TopoDS,
120                                  Real                     from Standard,
121                                  ShapeMapHasher           from TopTools);
122
123     class Array1OfShape instantiates 
124         Array1 from TCollection (Shape from TopoDS);
125         
126     class HArray1OfShape instantiates 
127         HArray1 from TCollection(Shape         from TopoDS,
128                                  Array1OfShape from TopTools); 
129                                   
130     class Array2OfShape instantiates 
131         Array2 from TCollection (Shape from TopoDS);
132         
133     class HArray2OfShape instantiates 
134         HArray2 from TCollection(Shape         from TopoDS,
135                                  Array2OfShape from TopTools);                   
136         
137     class SequenceOfShape instantiates 
138         Sequence from TCollection (Shape from TopoDS);
139         
140     class HSequenceOfShape instantiates 
141         HSequence from TCollection(Shape           from TopoDS,
142                                    SequenceOfShape from TopTools);
143         
144     class ListOfShape instantiates 
145         List from TCollection (Shape from TopoDS);
146         
147     class Array1OfListOfShape instantiates 
148         Array1 from TCollection (ListOfShape from TopTools);
149         
150     class HArray1OfListOfShape instantiates 
151         HArray1 from TCollection(ListOfShape         from TopTools,
152                                  Array1OfListOfShape from TopTools);
153         
154     class DataMapOfIntegerListOfShape instantiates 
155         DataMap from TCollection(Integer from Standard, 
156                                  ListOfShape from TopTools,
157                                  MapIntegerHasher from TColStd);
158         
159     class DataMapOfShapeListOfShape instantiates
160         DataMap from TCollection(Shape          from TopoDS,
161                                  ListOfShape    from TopTools,
162                                  ShapeMapHasher from TopTools);
163                                  
164     class DataMapOfShapeListOfInteger instantiates
165         DataMap from TCollection(Shape          from TopoDS,
166                                  ListOfInteger  from TColStd,
167                                  ShapeMapHasher from TopTools);
168                                  
169     class IndexedDataMapOfShapeShape instantiates
170         IndexedDataMap from TCollection(Shape          from TopoDS,
171                                         Shape          from TopoDS,
172                                         ShapeMapHasher from TopTools);                          
173     class IndexedDataMapOfShapeListOfShape instantiates
174         IndexedDataMap from TCollection(Shape          from TopoDS,
175                                         ListOfShape    from TopTools,
176                                         ShapeMapHasher from TopTools);
177                                         
178     class DataMapOfShapeShape instantiates
179         DataMap from TCollection (Shape          from TopoDS,
180                                   Shape          from TopoDS,
181                                   ShapeMapHasher from TopTools);
182
183     class IndexedMapOfOrientedShape instantiates
184         IndexedMap from TCollection(Shape from TopoDS,
185                                     OrientedShapeMapHasher from TopTools);
186
187     class DataMapOfShapeSequenceOfShape instantiates 
188         DataMap from TCollection (Shape           from TopoDS,
189                                   SequenceOfShape from TopTools,
190                                   ShapeMapHasher  from TopTools);
191
192     class IndexedDataMapOfShapeAddress instantiates
193         IndexedDataMap from TCollection(Shape          from TopoDS,
194                                         Address        from Standard,
195                                         ShapeMapHasher from TopTools);    
196
197      class DataMapOfOrientedShapeShape instantiates
198         DataMap from TCollection (Shape                  from TopoDS,
199                                   Shape                  from TopoDS,
200                                   OrientedShapeMapHasher from TopTools);                            
201
202     ----------------------------------------------------------
203     -- Tools for writing and reading Locations and Shapes
204     ----------------------------------------------------------
205
206     class LocationSet;
207         ---Purpose: A set of Locations. Can be dump, wrote or read.
208   
209     pointer LocationSetPtr to LocationSet from TopTools;
210
211     class ShapeSet;
212         ---Purpose: A set of Shapes. Can be dump, wrote or read.
213         
214     --
215     --     Package methods
216     --   
217
218     imported MutexForShapeProvider;
219     
220     Dump(Sh : Shape from TopoDS; S : in out OStream);
221           ---Purpose: Dumps the topological structure  of <Sh>  on the
222           --          stream <S>.
223
224     Dummy(I : Integer);
225         ---Purpose: This is to bypass an extraction bug. It will force
226         --          the  inclusion    of  Standard_Integer.hxx  itself
227         --          including Standard_OStream.hxx  at   the   correct
228         --          position.
229     
230 end TopTools;
231
232