Salome HOME
NPAL15298: KindOfShape(). A tool by PKV.
[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 GlueAnalyser; 
131     class CoupleOfShapes; 
132     class PassKey;  
133     class PassKeyMapHasher; 
134     class PassKeyShape;  
135     
136     class SurfaceTools; 
137     class Tools;  
138     --       
139     --  finder on 
140     deferred class ShapeSolid;
141     class WireSolid; 
142     class ShellSolid; 
143     class VertexSolid; 
144     class SolidSolid; 
145     class FinderShapeOn; 
146     -- 
147     class FinderShapeOn1;
148     class StateCollector; 
149     
150     --
151     -- Builder/Splitter 
152     deferred class BuilderShape; 
153      
154     class Builder; 
155     class Splitter; 
156     class Tools3D; 
157     class BuilderTools; 
158     class ShapeSet;  
159      
160     deferred class BuilderArea;
161     class BuilderFace; 
162     class BuilderSolid;  
163     
164     class WireSplitter; 
165     class WireEdgeSet; 
166     class WESCorrector; 
167     -- 
168     --  Pointers
169     --     
170     pointer PWireEdgeSet to WireEdgeSet from GEOMAlgo;  
171     --     
172     -- 
173     --  Instantiations  
174     class DataMapOfShapeShapeSet instantiates 
175         DataMap from TCollection(Shape from TopoDS, 
176                                  ShapeSet from GEOMAlgo, 
177                                  ShapeMapHasher from TopTools); 
178          
179     class DataMapOfShapeReal instantiates 
180         DataMap from TCollection(Shape from TopoDS, 
181                                  Real from Standard, 
182                                  ShapeMapHasher from TopTools);          
183                                   
184     
185     class DataMapOfRealListOfShape instantiates  
186         DataMap from TCollection(Real from Standard, 
187                                  ListOfShape from TopTools,  
188                                  MapRealHasher from TColStd);      
189     --
190     --  instantiations
191     
192      
193     class IndexedDataMapOfShapeBox  
194         instantiates IndexedDataMap from TCollection    (Shape from TopoDS,
195                                                          Box from Bnd,
196                                                          ShapeMapHasher from TopTools);
197     class IndexedDataMapOfIntegerShape  
198         instantiates IndexedDataMap from TCollection    (Integer from Standard,
199                                                          Shape from TopoDS,
200                                                          MapIntegerHasher from TColStd); 
201                                                           
202     class ListOfCoupleOfShapes  
203         instantiates List from TCollection  (CoupleOfShapes from GEOMAlgo);
204
205
206     class IndexedDataMapOfShapeState
207         instantiates IndexedDataMap from TCollection    (Shape from TopoDS,
208                                                          State from TopAbs,  
209                                                          ShapeMapHasher from TopTools);
210     class ListOfPnt
211         instantiates List from TCollection  (Pnt from gp);
212
213     class DataMapOfPassKeyInteger
214         instantiates DataMap from TCollection (PassKey from GEOMAlgo, 
215                                                Integer from Standard, 
216                                                PassKeyMapHasher from GEOMAlgo); 
217      
218     class IndexedDataMapOfPassKeyShapeListOfShape
219         instantiates IndexedDataMap from TCollection (PassKeyShape from GEOMAlgo, 
220                                                       ListOfShape from TopTools, 
221                                                       PassKeyShapeMapHasher from GEOMAlgo); 
222
223     class IndexedDataMapOfShapeShapeInfo
224         instantiates IndexedDataMap from TCollection    (Shape from TopoDS,
225                                                          ShapeInfo from GEOMAlgo,
226                                                          ShapeMapHasher from TopTools);
227 end GEOMAlgo;