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