Salome HOME
sources v1.2
[modules/geom.git] / idl / GEOM_Gen.idl
1 // File :      GEOM_Gen.idl
2 // Created :   
3 // Author :    Lucien PIGNOLONI
4 // Project :   SALOME
5 // Copyright : OPEN CASCADE
6 // $HEADERS:
7
8
9 #ifndef __GEOM_GEN__
10 #define __GEOM_GEN__
11
12 #include "SALOME_Exception.idl"
13 #include "SALOME_Component.idl"
14 #include "SALOMEDS.idl"
15 #include "GEOM_Shape.idl"
16
17 module GEOM
18 {
19   interface GEOM_Gen : Engines::Component,SALOMEDS::Driver
20   {
21     typedef sequence<string> ListOfIOR ;
22     typedef sequence<GEOM_Shape> ListOfGeomShapes ;
23
24     //--------------------------------------------------------------//
25     // Studies Management                                           //
26     //--------------------------------------------------------------//
27     void       GetCurrentStudy(in long StudyID) ; 
28
29     short      NbLabels();
30
31     //--------------------------------------------------------------//
32     // Shapes Management                                            //
33     //--------------------------------------------------------------//
34     GEOM_Shape GetIORFromString    (in string ior);
35     ListOfIOR  GetReferencedObjects(in GEOM_Shape shape);
36     ListOfIOR  GetObjects          (in GEOM_Shape shape);
37
38     //--------------------------------------------------------------//
39     // Structures                                                   //
40     //--------------------------------------------------------------//
41     PointStruct MakePointStruct(in double x,
42                                 in double y,
43                                 in double z) ; 
44     DirStruct   MakeDirection (in PointStruct p) ; 
45     AxisStruct  MakeAxisStruct(in double x,
46                                in double y,
47                                in double z,
48                                in double vx,
49                                in double vy,
50                                in double vz) ; 
51
52     //------------------------------------------------------------//
53     // Boolean Operations                                         //
54     //------------------------------------------------------------//
55     GEOM_Shape MakeBoolean  (in GEOM_Shape shape1,
56                              in GEOM_Shape shape2,
57                              in long operation) raises (SALOME::SALOME_Exception) ;
58
59     GEOM_Shape MakeFuse( in GEOM_Shape shape1,
60                          in GEOM_Shape shape2) raises (SALOME::SALOME_Exception) ;
61     
62     //-----------------------------------------------------------//
63     // Advanced Operations                                       //
64     //-----------------------------------------------------------//
65     GEOM_Shape Partition  (in ListOfIOR ListShapes,
66                            in ListOfIOR ListTools,
67                            in ListOfIOR ListKeepInside,
68                            in ListOfIOR ListRemoveInside,
69                            in short Limit)
70       raises (SALOME::SALOME_Exception) ;
71
72
73     GEOM_Shape MakeFilling(in GEOM_Shape shape,
74                            in  short mindeg,
75                            in  short maxdeg,
76                            in  double tol3d,
77                            in  double tol2d,
78                            in  short nbiter) raises (SALOME::SALOME_Exception) ;
79     GEOM_Shape MakeSewing (in ListOfIOR ListShape,
80                            in double precision)  raises (SALOME::SALOME_Exception) ;
81     GEOM_Shape MakeSewingShape( in GEOM_Shape aShape,
82                                 in double precision )  raises (SALOME::SALOME_Exception);
83
84     GEOM_Shape OrientationChange(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;
85
86     GEOM_Shape MakePlacedBox(in double x1,  in double y1,  in double z1,
87                              in double delta1, in double delta2, in double delta3) raises (SALOME::SALOME_Exception) ;
88     GEOM_Shape MakePanel(in GEOM_Shape shape,
89                          in short directiontype,
90                          in double delta) raises (SALOME::SALOME_Exception) ;
91     GEOM_Shape MakeGlueFaces(in GEOM_Shape shape,
92                              in double tol3d) raises (SALOME::SALOME_Exception) ;
93     
94     //-----------------------------------------------------------//
95     // Transformations Operations                                //
96     //-----------------------------------------------------------//
97     GEOM_Shape MakeCopy(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;
98
99     GEOM_Shape MakeTranslation(in GEOM_Shape shape,
100                                in double x,
101                                in double y,
102                                in double z) raises (SALOME::SALOME_Exception) ;
103     GEOM_Shape MakeRotation(in GEOM_Shape shape,
104                             in AxisStruct axis,
105                             in double angle) raises (SALOME::SALOME_Exception) ;
106     GEOM_Shape MakeScaleTransform(in GEOM_Shape shape,
107                                   in PointStruct theCenterofScale,
108                                   in double factor) raises (SALOME::SALOME_Exception) ;
109     GEOM_Shape MakeMirrorByPlane(in GEOM_Shape shape,
110                                  in GEOM_Shape shapePlane) raises (SALOME::SALOME_Exception) ;
111     GEOM_Shape MakeRevolution(in GEOM_Shape shape,
112                               in AxisStruct axis,
113                               in double angle) raises (SALOME::SALOME_Exception) ;
114     GEOM_Shape MakePrism(in GEOM_Shape baseShape,
115                          in PointStruct P1,
116                          in PointStruct P2) raises (SALOME::SALOME_Exception) ;
117     GEOM_Shape MakePipe(in GEOM_Shape pathShape,                        
118                         in GEOM_Shape baseShape) raises (SALOME::SALOME_Exception) ;
119
120     //-----------------------------------------------------------//
121     // Patterns Construction                                     //
122     //-----------------------------------------------------------//
123     GEOM_Shape MakeMultiTranslation1D(in GEOM_Shape shape,
124                                       in DirStruct dir,
125                                       in double step,
126                                       in short nbtimes) raises (SALOME::SALOME_Exception) ;
127     GEOM_Shape MakeMultiTranslation2D(in GEOM_Shape shape,
128                                       in DirStruct dir1,
129                                       in double step1,
130                                       in short nbtimes1,
131                                       in DirStruct dir2,
132                                       in double step2,
133                                       in short nbtimes2) raises (SALOME::SALOME_Exception) ;
134     GEOM_Shape MakeMultiRotation1D(in GEOM_Shape shape,
135                                    in DirStruct dir,
136                                    in PointStruct loc,
137                                    in short nbtimes) raises (SALOME::SALOME_Exception) ;
138     GEOM_Shape MakeMultiRotation2D(in GEOM_Shape shape,
139                                    in DirStruct dir,
140                                    in PointStruct loc,
141                                    in double ang,
142                                    in short nbtimes1,
143                                    in double step,
144                                    in short nbtimes2) raises (SALOME::SALOME_Exception) ;
145
146     //-----------------------------------------------------------//
147     // Mesures Construction                                      //
148     //-----------------------------------------------------------//
149     GEOM_Shape MakeCDG(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;
150
151
152     //-----------------------------------------------------------//
153     // Primitives Construction                                   //
154     //-----------------------------------------------------------//
155
156     GEOM_Shape MakeVertex(in double x,
157                           in double y,
158                           in double z) raises (SALOME::SALOME_Exception) ;
159     GEOM_Shape MakeVector (in PointStruct pstruct1,
160                            in PointStruct pstruct2) raises (SALOME::SALOME_Exception) ;
161     GEOM_Shape MakeLine  (in PointStruct pstruct,
162                           in DirStruct dstruct) raises (SALOME::SALOME_Exception) ;
163     GEOM_Shape MakePlane (in PointStruct pstruct,
164                           in DirStruct dstruct,
165                           in double trimsize) raises (SALOME::SALOME_Exception) ;
166     GEOM_Shape MakeCircle(in PointStruct pstruct,
167                           in DirStruct dstruct,
168                           in double radius) raises (SALOME::SALOME_Exception) ;
169     GEOM_Shape MakeArc(in PointStruct pInit,
170                        in PointStruct pCircle,
171                        in PointStruct pEnd) raises (SALOME::SALOME_Exception) ;
172
173     //-----------------------------------------------------------//
174     // Primitives Construction                                   //
175     //-----------------------------------------------------------//
176     GEOM_Shape MakeBox     (in double x1,
177                             in double y1,
178                             in double z1,
179                             in double x2,
180                             in double y2,
181                             in double z2) raises (SALOME::SALOME_Exception) ; 
182     GEOM_Shape MakeCylinder(in PointStruct pstruct,
183                             in DirStruct dstruct,
184                             in double radius,
185                             in double height) raises (SALOME::SALOME_Exception) ;
186
187     GEOM_Shape MakeSphere  (in double x1,
188                             in double y1,
189                             in double z1,
190                             in double radius) raises (SALOME::SALOME_Exception) ;
191
192     GEOM_Shape MakeTorus(in PointStruct pstruct,
193                          in DirStruct dstruct,
194                          in double major_radius,
195                          in double minor_radius) raises (SALOME::SALOME_Exception) ;
196
197     GEOM_Shape MakeCone(in PointStruct pstruct,
198                         in DirStruct dstruct,
199                         in double radius1,
200                         in double radius2,
201                         in double height) raises (SALOME::SALOME_Exception) ;
202     
203     //-----------------------------------------------------------//
204     // Archimede                                                 //
205     //-----------------------------------------------------------//  
206     GEOM_Shape Archimede(in GEOM_Shape shape,
207                          in double Weight,
208                          in double WaterDensity,
209                          in double MeshingDeflection) raises (SALOME::SALOME_Exception);
210
211     //-----------------------------------------------------------//
212     // Build                                                     //
213     //-----------------------------------------------------------//  
214     GEOM_Shape MakeEdge     (in PointStruct pstruct1,
215                              in PointStruct pstruct2) raises (SALOME::SALOME_Exception) ;
216     GEOM_Shape MakeWire     (in ListOfIOR ListShape) raises (SALOME::SALOME_Exception) ;
217     GEOM_Shape MakeCompound (in ListOfIOR ListShape) raises (SALOME::SALOME_Exception) ;
218     GEOM_Shape MakeFace     (in GEOM_Shape shapeWire,
219                              in boolean wantplanarface ) raises (SALOME::SALOME_Exception) ;
220
221   
222     //-----------------------------------------------------------//
223     // Subshapes Construction for GUI only                       //
224     //-----------------------------------------------------------//
225     GEOM_Shape SubShape(in GEOM_Shape shape,
226                         in short ShapeType,
227                         in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
228     
229     //-----------------------------------------------------------//
230     // Subshapes Construction for TUI or GUI                     //
231     //-----------------------------------------------------------//
232     ListOfGeomShapes SubShapeAll(in GEOM_Shape shape,
233                                  in short ShapeType) raises (SALOME::SALOME_Exception) ;
234     
235     //-----------------------------------------------------------//
236     // Subshapes Construction
237     // Use it to have the same order of subshapes if their
238     // order may change as a result of <shape> reconstruction using
239     // boolean operations, fillet etc.
240     //-----------------------------------------------------------//
241     GEOM_Shape SubShapeSorted(in GEOM_Shape shape,
242                               in short ShapeType,
243                               in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
244     
245     ListOfGeomShapes SubShapeAllSorted(in GEOM_Shape shape,
246                                        in short ShapeType) raises (SALOME::SALOME_Exception) ;
247
248     //-----------------------------------------------------------//
249     // Fillet and Chamfer construction                           //
250     //-----------------------------------------------------------//
251     GEOM_Shape MakeFillet(in GEOM_Shape shape,
252                           in double radius,
253                           in short ShapeType,
254                           in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
255  
256     GEOM_Shape MakeChamfer(in GEOM_Shape shape,
257                            in double d1,
258                            in double d2,
259                            in short ShapeType,
260                            in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
261
262     //-----------------------------------------------------------//
263     // Suppress faces in a shape                                 //
264     //-----------------------------------------------------------//
265     ListOfGeomShapes SuppressFaces(in GEOM_Shape shape,
266                                    in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
267     
268     //-----------------------------------------------------------//
269     // Suppress a single hole in topology (face) shell or solid  //
270     //          :  ListOfIdEndFace may be an empty list          //
271     //          :  used only when hole traverses the topology    //
272     //-----------------------------------------------------------//
273     GEOM_Shape SuppressHole(in GEOM_Shape shape,
274                             in GEOM_Shape::ListOfSubShapeID ListOfIdFace,
275                             in GEOM_Shape::ListOfSubShapeID ListOfIdWire,
276                             in GEOM_Shape::ListOfSubShapeID ListOfIdEndFace ) raises (SALOME::SALOME_Exception) ;
277
278     //-----------------------------------------------------------//
279     // Suppress one or more holes in a face or a shell           //
280     //-----------------------------------------------------------//
281     GEOM_Shape SuppressHolesInFaceOrShell(in GEOM_Shape shapeFaceShell,
282                                           in GEOM_Shape::ListOfSubShapeID ListOfIdWires ) raises (SALOME::SALOME_Exception) ;
283     
284     //-----------------------------------------------------------//
285     // Import/Export                                             //
286     //-----------------------------------------------------------//
287     GEOM_Shape ImportIGES(in string filename) raises (SALOME::SALOME_Exception) ;
288     GEOM_Shape ImportBREP(in string filename) raises (SALOME::SALOME_Exception) ;
289     GEOM_Shape ImportSTEP(in string filename) raises (SALOME::SALOME_Exception) ;
290   
291     void ExportIGES(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ;
292     void ExportBREP(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ;
293     void ExportSTEP(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ;
294     //-----------------------------------------------------------//
295     // Check Shape                                               //
296     //-----------------------------------------------------------//
297     boolean CheckShape(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;
298
299   };
300 };
301
302 #endif