Salome HOME
d2fbf97701eb00f5858485a43ba3f5cffb52b0a1
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo.cdl
1 -- Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
2 --
3 -- Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 --
6 -- This library is free software; you can redistribute it and/or
7 -- modify it under the terms of the GNU Lesser General Public
8 -- License as published by the Free Software Foundation; either
9 -- version 2.1 of the License.
10 --
11 -- This library is distributed in the hope that it will be useful,
12 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 -- Lesser General Public License for more details.
15 --
16 -- You should have received a copy of the GNU Lesser General Public
17 -- License along with this library; if not, write to the Free Software
18 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 --
20 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 --
22 -- File:        GEOMAlgo.cdl
23 -- Created:     Sat Dec 04 12:36:22 2004
24 -- Author:      Peter KURNEV
25
26 package GEOMAlgo
27
28         ---Purpose:
29
30 uses
31     TCollection,
32
33     TColgp,
34     Geom,
35     Bnd,
36     gp,
37     GeomAdaptor,
38     TopAbs,
39     TopoDS,
40     TopTools,
41     IntTools,
42     BOPTools,
43     BOP,
44
45     TColStd,
46     BOPTColStd,
47     BRepAlgo,
48     NMTDS,
49     NMTTools
50
51 is
52     --  Enumerations
53     imported State from GEOMAlgo;
54     imported KindOfShape from GEOMAlgo;
55     imported KindOfName from GEOMAlgo;
56     imported KindOfBounds from GEOMAlgo;
57     imported KindOfClosed from GEOMAlgo;
58     --
59     --  Gluer / GetInPlace
60     imported Gluer2 from GEOMAlgo;
61     imported GlueDetector from GEOMAlgo;
62     imported GluerAlgo from GEOMAlgo;
63     imported GetInPlace from GEOMAlgo;
64     -- Algos
65     imported WireSplitter from GEOMAlgo;
66     imported WESScaler from GEOMAlgo;
67     imported WESCorrector from GEOMAlgo;
68     imported WireEdgeSet from GEOMAlgo;
69     imported GlueAnalyser from GEOMAlgo;
70     imported Gluer from GEOMAlgo;
71     imported FinderShapeOn2 from GEOMAlgo;
72     imported FinderShapeOn1 from GEOMAlgo;
73     imported FinderShapeOn from GEOMAlgo;
74     imported ShapeAlgo from GEOMAlgo;
75     imported SolidSolid from GEOMAlgo;
76     imported ShellSolid from GEOMAlgo;
77     imported VertexSolid from GEOMAlgo;
78     imported WireSolid from GEOMAlgo;
79     imported ShapeSolid from GEOMAlgo;
80     imported Splitter from GEOMAlgo;
81     imported Builder from GEOMAlgo;
82     imported BuilderShape from GEOMAlgo;
83     imported BuilderSolid from GEOMAlgo;
84     imported BuilderFace from GEOMAlgo;
85     imported BuilderArea from GEOMAlgo;
86     imported ShapeInfoFiller from GEOMAlgo;
87     imported Algo from GEOMAlgo;
88     -- Data /  Tools
89     imported ShapeSet from GEOMAlgo;
90     imported SurfaceTools from GEOMAlgo;
91     imported ShapeInfo from GEOMAlgo;
92     imported CoupleOfShapes from GEOMAlgo;
93     imported BuilderTools from GEOMAlgo;
94     imported Tools3D from GEOMAlgo;
95     imported Tools from GEOMAlgo;
96     imported PWireEdgeSet from GEOMAlgo;
97     imported StateCollector from GEOMAlgo;
98     imported PassKey from GEOMAlgo;
99     imported PassKeyMapHasher from GEOMAlgo;
100     imported PassKeyShape from GEOMAlgo;
101     imported PassKeyShapeMapHasher from GEOMAlgo;
102     imported ClsfBox from GEOMAlgo;
103     imported ClsfSurf from GEOMAlgo;
104     imported ClsfSolid from GEOMAlgo;
105     imported Clsf from GEOMAlgo;
106     imported HAlgo from GEOMAlgo;
107
108     imported ListOfCoupleOfShapes from GEOMAlgo;
109     imported ListIteratorOfListOfCoupleOfShapes from GEOMAlgo;
110     imported ListOfPnt from GEOMAlgo;
111     imported ListIteratorOfListOfPnt from GEOMAlgo;
112     imported DataMapOfShapeShapeSet from GEOMAlgo;
113     imported DataMapIteratorOfDataMapOfShapeShapeSet from GEOMAlgo;
114     imported DataMapOfShapeReal from GEOMAlgo;
115     imported DataMapIteratorOfDataMapOfShapeReal from GEOMAlgo;
116     imported DataMapOfRealListOfShape from GEOMAlgo;
117     imported DataMapIteratorOfDataMapOfRealListOfShape from GEOMAlgo;
118     imported DataMapOfPassKeyInteger from GEOMAlgo;
119     imported DataMapIteratorOfDataMapOfPassKeyInteger from GEOMAlgo;
120     imported DataMapOfPassKeyShapeShape from GEOMAlgo;
121     imported DataMapIteratorOfDataMapOfPassKeyShapeShape from GEOMAlgo;
122     imported DataMapOfOrientedShapeShape from GEOMAlgo;
123     imported DataMapIteratorOfDataMapOfOrientedShapeShape from GEOMAlgo;
124     imported DataMapOfShapeMapOfShape from GEOMAlgo;
125     imported DataMapIteratorOfDataMapOfShapeMapOfShape from GEOMAlgo;
126     imported DataMapOfShapePnt from GEOMAlgo;
127     imported DataMapIteratorOfDataMapOfShapePnt from GEOMAlgo;
128     imported IndexedDataMapOfShapeBox from GEOMAlgo;
129     imported IndexedDataMapOfShapeShapeInfo from GEOMAlgo;
130     imported IndexedDataMapOfShapeState from GEOMAlgo;
131     imported IndexedDataMapOfIntegerShape from GEOMAlgo;
132     imported IndexedDataMapOfPassKeyShapeListOfShape from GEOMAlgo;
133
134
135     --  Instantiations
136
137     --class ListOfCoupleOfShapes
138     --  instantiates List from TCollection  (CoupleOfShapes from GEOMAlgo);
139
140     --class ListOfPnt
141     --  instantiates List from TCollection  (Pnt from gp);
142     --
143
144     --class DataMapOfShapeShapeSet instantiates
145     --  DataMap from TCollection(Shape from TopoDS,
146     --                           ShapeSet from GEOMAlgo,
147     --                           ShapeMapHasher from TopTools);
148
149     --class DataMapOfShapeReal instantiates
150     --  DataMap from TCollection(Shape from TopoDS,
151     --                           Real from Standard,
152     --                           ShapeMapHasher from TopTools);
153
154
155     --class DataMapOfRealListOfShape instantiates
156     --  DataMap from TCollection(Real from Standard,
157     --                           ListOfShape from TopTools,
158     --                           MapRealHasher from TColStd);
159
160
161     --class DataMapOfPassKeyInteger
162     --  instantiates DataMap from TCollection (PassKey from GEOMAlgo,
163     --                                         Integer from Standard,
164     --                                         PassKeyMapHasher from GEOMAlgo);
165
166     --class DataMapOfPassKeyShapeShape
167     --  instantiates DataMap from TCollection (PassKeyShape from GEOMAlgo,
168     --                                         Shape from TopoDS,
169     --                                                 PassKeyShapeMapHasher from GEOMAlgo);
170
171     --class DataMapOfOrientedShapeShape instantiates
172     --    DataMap from TCollection (Shape                  from TopoDS,
173      --                             Shape                  from TopoDS,
174      --                             OrientedShapeMapHasher from TopTools);
175
176
177     --class DataMapOfShapeMapOfShape instantiates
178     --    DataMap from TCollection (Shape          from TopoDS,
179     --                              MapOfShape     from TopTools,
180      --                             ShapeMapHasher from TopTools);
181
182     --class DataMapOfShapePnt instantiates
183     --    DataMap from TCollection (Shape          from TopoDS,
184     --                              Pnt            from gp,
185     --                              ShapeMapHasher from TopTools);
186
187     --
188     --class IndexedDataMapOfShapeBox
189     --  instantiates IndexedDataMap from TCollection    (Shape from TopoDS,
190 --                                                       Box from Bnd,
191 --                                                       ShapeMapHasher from TopTools);
192
193 --    class IndexedDataMapOfShapeShapeInfo
194 --      instantiates IndexedDataMap from TCollection    (Shape from TopoDS,
195 --                                                       ShapeInfo from GEOMAlgo,
196 --                                                       ShapeMapHasher from TopTools);
197 --    class IndexedDataMapOfShapeState
198 --      instantiates IndexedDataMap from TCollection    (Shape from TopoDS,
199 --                                                       State from TopAbs,
200 --                                                       ShapeMapHasher from TopTools);
201
202
203 --
204 --    class IndexedDataMapOfIntegerShape
205 --      instantiates IndexedDataMap from TCollection    (Integer from Standard,
206 --                                                       Shape from TopoDS,
207 --                                                       MapIntegerHasher from TColStd);
208
209
210 --    class IndexedDataMapOfPassKeyShapeListOfShape
211 --      instantiates IndexedDataMap from TCollection (PassKeyShape from GEOMAlgo,
212 --                                                    ListOfShape from TopTools,
213 --                                                      PassKeyShapeMapHasher from GEOMAlgo);
214
215
216
217
218
219
220 end GEOMAlgo;
221     --
222     -- enumerations
223     --
224     --enumeration State is
225     --  ST_UNKNOWN,
226 --      ST_IN,
227 --      ST_OUT,
228 --      ST_ON,
229 --      ST_ONIN,
230 --      ST_ONOUT,
231 --      ST_INOUT
232 --    end State;
233     --
234 --    enumeration KindOfShape is
235 --      KS_UNKNOWN,
236 --      KS_SPHERE,
237 --      KS_CYLINDER,
238 --      KS_BOX,
239 --      KS_TORUS,
240 --      KS_CONE,
241 --      KS_ELLIPSE,
242 --      KS_PLANE,
243 --      KS_CIRCLE,
244 --      KS_LINE,
245 --      KS_DEGENERATED
246 --    end KindOfShape;
247     --
248 --    enumeration KindOfName is
249 --      KN_UNKNOWN,
250 --      KN_SPHERE,
251 --      KN_CYLINDER,
252 --      KN_TORUS,
253 --      KN_CONE,
254 --      KN_ELLIPSE,
255 --      KN_CIRCLE,
256 --      KN_PLANE,
257 --      KN_LINE,
258 --      KN_BOX,
259 --      KN_SEGMENT,
260 --      KN_ARCCIRCLE,
261 --        KN_POLYGON,
262 --      KN_POLYHEDRON,
263 --      KN_DISKCIRCLE,
264 --      KN_DISKELLIPSE,
265 --      KN_RECTANGLE,
266 --      KN_TRIANGLE,
267 --      KN_QUADRANGLE,
268 --      KN_ARCELLIPSE
269 --    end KindOfName;
270     --
271  --   enumeration KindOfBounds is
272  --     KB_UNKNOWN,
273 --      KB_TRIMMED,
274  --     KB_INFINITE
275 --    end KindOfBounds;
276     --
277 --    enumeration KindOfClosed is
278 --      KC_UNKNOWN,
279 --      KC_CLOSED,
280 --      KC_NOTCLOSED
281 --    end KindOfClosed;
282     --
283
284     --deferred class HAlgo;
285     --deferred class Clsf;
286     --class ClsfSurf;
287     --class ClsfBox;
288     --class ClsfSolid;
289
290     --
291     --  classes
292     --
293     --deferred class Algo;
294     --deferred class ShapeAlgo;
295     --
296     --class ShapeInfo;
297     --class ShapeInfoFiller;
298     --class CoupleOfShapes;
299     --class SurfaceTools;
300     --class Tools;
301     --class PassKey;
302     --class PassKeyMapHasher;
303     --class PassKeyShape;
304     --class PassKeyShapeMapHasher;
305     --
306     --  finder on
307     --deferred class ShapeSolid;
308     --class WireSolid;
309     --class ShellSolid;
310     --class VertexSolid;
311     --class SolidSolid;
312     --class StateCollector;
313
314     --
315     --class Gluer;
316     --class GlueAnalyser;
317     --class FinderShapeOn;
318     --class FinderShapeOn1;
319     --class FinderShapeOn2;
320     --
321     -- Builder/Splitter
322     --deferred class BuilderShape;
323     --class Builder;
324     --class Splitter;
325     --class Tools3D;
326     --class BuilderTools;
327     --class ShapeSet;
328
329     --deferred class BuilderArea;
330     --class BuilderFace;
331     --class BuilderSolid;
332
333     --class WireSplitter;
334     --class WireEdgeSet;
335     --class WESCorrector;
336     --class WESScaler;
337     --
338     --  Pointers
339     --
340     --pointer PWireEdgeSet to WireEdgeSet from GEOMAlgo;
341     --
342     --