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