3 // Author : Lucien PIGNOLONI
5 // Copyright : OPEN CASCADE
12 #include "SALOME_Exception.idl"
13 #include "SALOME_Component.idl"
14 #include "SALOMEDS.idl"
15 #include "GEOM_Shape.idl"
19 interface GEOM_Gen : Engines::Component,SALOMEDS::Driver
21 typedef sequence<string> ListOfIOR ;
22 typedef sequence<GEOM_Shape> ListOfGeomShapes ;
24 //--------------------------------------------------------------//
25 // Studies Management //
26 //--------------------------------------------------------------//
27 void GetCurrentStudy(in long StudyID) ;
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);
38 //--------------------------------------------------------------//
40 //--------------------------------------------------------------//
41 PointStruct MakePointStruct(in double x,
44 DirStruct MakeDirection (in PointStruct p) ;
45 AxisStruct MakeAxisStruct(in double x,
52 //------------------------------------------------------------//
53 // Boolean Operations //
54 //------------------------------------------------------------//
55 GEOM_Shape MakeBoolean (in GEOM_Shape shape1,
57 in long operation) raises (SALOME::SALOME_Exception) ;
59 GEOM_Shape MakeFuse( in GEOM_Shape shape1,
60 in GEOM_Shape shape2) raises (SALOME::SALOME_Exception) ;
62 //-----------------------------------------------------------//
63 // Advanced Operations //
64 //-----------------------------------------------------------//
65 GEOM_Shape Partition (in ListOfIOR ListShapes,
66 in ListOfIOR ListTools,
67 in ListOfIOR ListKeepInside,
68 in ListOfIOR ListRemoveInside,
70 raises (SALOME::SALOME_Exception) ;
73 GEOM_Shape MakeFilling(in GEOM_Shape shape,
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);
84 GEOM_Shape OrientationChange(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;
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) ;
94 //-----------------------------------------------------------//
95 // Transformations Operations //
96 //-----------------------------------------------------------//
97 GEOM_Shape MakeCopy(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;
99 GEOM_Shape MakeTranslation(in GEOM_Shape shape,
102 in double z) raises (SALOME::SALOME_Exception) ;
103 GEOM_Shape MakeRotation(in GEOM_Shape shape,
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,
113 in double angle) raises (SALOME::SALOME_Exception) ;
114 GEOM_Shape MakePrism(in GEOM_Shape baseShape,
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) ;
120 //-----------------------------------------------------------//
121 // Patterns Construction //
122 //-----------------------------------------------------------//
123 GEOM_Shape MakeMultiTranslation1D(in GEOM_Shape shape,
126 in short nbtimes) raises (SALOME::SALOME_Exception) ;
127 GEOM_Shape MakeMultiTranslation2D(in GEOM_Shape shape,
133 in short nbtimes2) raises (SALOME::SALOME_Exception) ;
134 GEOM_Shape MakeMultiRotation1D(in GEOM_Shape shape,
137 in short nbtimes) raises (SALOME::SALOME_Exception) ;
138 GEOM_Shape MakeMultiRotation2D(in GEOM_Shape shape,
144 in short nbtimes2) raises (SALOME::SALOME_Exception) ;
146 //-----------------------------------------------------------//
147 // Mesures Construction //
148 //-----------------------------------------------------------//
149 GEOM_Shape MakeCDG(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;
152 //-----------------------------------------------------------//
153 // Primitives Construction //
154 //-----------------------------------------------------------//
156 GEOM_Shape MakeVertex(in double x,
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) ;
173 //-----------------------------------------------------------//
174 // Primitives Construction //
175 //-----------------------------------------------------------//
176 GEOM_Shape MakeBox (in double x1,
181 in double z2) raises (SALOME::SALOME_Exception) ;
182 GEOM_Shape MakeCylinder(in PointStruct pstruct,
183 in DirStruct dstruct,
185 in double height) raises (SALOME::SALOME_Exception) ;
187 GEOM_Shape MakeSphere (in double x1,
190 in double radius) raises (SALOME::SALOME_Exception) ;
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) ;
197 GEOM_Shape MakeCone(in PointStruct pstruct,
198 in DirStruct dstruct,
201 in double height) raises (SALOME::SALOME_Exception) ;
203 //-----------------------------------------------------------//
205 //-----------------------------------------------------------//
206 GEOM_Shape Archimede(in GEOM_Shape shape,
208 in double WaterDensity,
209 in double MeshingDeflection) raises (SALOME::SALOME_Exception);
211 //-----------------------------------------------------------//
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) ;
222 //-----------------------------------------------------------//
223 // Subshapes Construction for GUI only //
224 //-----------------------------------------------------------//
225 GEOM_Shape SubShape(in GEOM_Shape shape,
227 in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
229 //-----------------------------------------------------------//
230 // Subshapes Construction for TUI or GUI //
231 //-----------------------------------------------------------//
232 ListOfGeomShapes SubShapeAll(in GEOM_Shape shape,
233 in short ShapeType) raises (SALOME::SALOME_Exception) ;
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,
243 in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
245 ListOfGeomShapes SubShapeAllSorted(in GEOM_Shape shape,
246 in short ShapeType) raises (SALOME::SALOME_Exception) ;
248 //-----------------------------------------------------------//
249 // Fillet and Chamfer construction //
250 //-----------------------------------------------------------//
251 GEOM_Shape MakeFillet(in GEOM_Shape shape,
254 in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
256 GEOM_Shape MakeChamfer(in GEOM_Shape shape,
260 in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ;
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) ;
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) ;
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) ;
284 //-----------------------------------------------------------//
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) ;
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 //-----------------------------------------------------------//
296 //-----------------------------------------------------------//
297 boolean CheckShape(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;