Salome HOME
Mantis issue 0021191: GlueEdges and GlueFaces problem with tolerance 1. A fix by...
[modules/geom.git] / src / GEOMAlgo_NEW / GEOMAlgo.cdl
1 -- Copyright (C) 2007-2011  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     --