Salome HOME
4690e7e7ee702bfed1bfd3ecd027435fc49b078c
[modules/geom.git] / idl / GEOM_Superv.idl
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 //  This library is free software; you can redistribute it and/or
7 //  modify it under the terms of the GNU Lesser General Public
8 //  License as published by the Free Software Foundation; either
9 //  version 2.1 of the License.
10 //
11 //  This library is distributed in the hope that it will be useful,
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 //  Lesser General Public License for more details.
15 //
16 //  You should have received a copy of the GNU Lesser General Public
17 //  License along with this library; if not, write to the Free Software
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 //  File   : GEOM_Superv.idl
23 //  Author : Lucien PIGNOLONI
24 //
25 #ifndef __GEOM_SUPERV__
26 #define __GEOM_SUPERV__
27
28 #include "GEOM_Gen.idl"
29
30 module GEOM
31 {
32   interface GEOM_List
33   { };
34
35   interface GEOM_Superv : Engines::Component,SALOMEDS::Driver
36   {
37     //-----------------------------------------------------------//
38     // Set current study ID                                      // 
39     //-----------------------------------------------------------//
40     void SetStudyID (in long theStudyID) ;
41     
42     //-----------------------------------------------------------//
43     // Create ListOfGO and add items to it                       // 
44     //-----------------------------------------------------------//
45     GEOM_List CreateListOfGO();
46     void AddItemToListOfGO( inout GEOM_List theList, 
47                             in GEOM_Object theObject);
48
49     //-----------------------------------------------------------//
50     // Create ListOfLong and add items to it                     // 
51     //-----------------------------------------------------------//
52     GEOM_List CreateListOfLong();
53     void AddItemToListOfLong( inout GEOM_List theList, 
54                               in long theObject);
55
56     //-----------------------------------------------------------//
57     // Create ListOfDouble and add items to it                   // 
58     //-----------------------------------------------------------//
59     GEOM_List CreateListOfDouble();
60     void AddItemToListOfDouble( inout GEOM_List theList, 
61                                 in double theObject);
62
63     //-----------------------------------------------------------//
64     // Primitives Construction : BasicOperations                 // 
65     //-----------------------------------------------------------//
66     GEOM_Object MakePointXYZ (in double theX,
67                               in double theY,
68                               in double theZ) ;
69     GEOM_Object MakePointWithReference (in GEOM_Object theReference,
70                                         in double theX, 
71                                         in double theY, 
72                                         in double theZ) ;
73     GEOM_Object MakePointOnCurve (in GEOM_Object theRefCurve,
74                                   in double theParameter) ;
75
76     GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve,
77                                      in double theParameter);
78
79     GEOM_Object MakeVectorDXDYDZ (in double theDX,
80                                   in double theDY,
81                                   in double theDZ) ;
82     GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1,
83                                   in GEOM_Object thePnt2) ;
84     GEOM_Object MakeLineTwoPnt (in GEOM_Object thePnt1,
85                                 in GEOM_Object thePnt2) ;
86     GEOM_Object MakeLineTwoFaces (in GEOM_Object theFace1,
87                                   in GEOM_Object theFace2) ;
88     GEOM_Object MakePlaneThreePnt (in GEOM_Object thePnt1,
89                                    in GEOM_Object thePnt2,
90                                    in GEOM_Object thePnt3,
91                                    in double theTrimSize) ;
92     GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
93                                  in GEOM_Object theVec,
94                                  in double      theTrimSize) ;
95     GEOM_Object MakePlaneFace (in GEOM_Object theFace,
96                                in double      theTrimSize) ;
97     GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
98                             in double theXDX, in double theXDY, in double theXDZ,
99                             in double theYDX, in double theYDY, in double theYDZ) ;
100
101     /*!
102      *  Create a tangent plane to specified face in the point with specified parameters.
103      *  Values of parameters should be between 0. and 1.0
104      *  \param theFace - face for which tangent plane shuold be built. 
105      *  \param theParameterU - value of parameter by U
106      *  \param theParameterV - value of parameter Vthe
107      *  \param theTrimSize - defines sizes of created face
108      *  \return New GEOM_Object, containing the face built on tangent plane.
109      */
110     GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace,
111                                        in double theParameterU,
112                                        in double theParameterV,
113                                        in double theTrimSize);
114
115     //-----------------------------------------------------------//
116     // Primitives Construction : 3DPrimOperations                //
117     //-----------------------------------------------------------//
118     GEOM_Object MakeBox (in double theX1,
119                          in double theY1,
120                          in double theZ1,
121                          in double theX2,
122                          in double theY2,
123                          in double theZ2) ; 
124     GEOM_Object MakeBoxDXDYDZ (in double theDX, 
125                                in double theDY, 
126                                in double theDZ) ;
127     GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1, 
128                                in GEOM_Object thePnt2) ;
129     GEOM_Object MakeFaceHW (in double theH, 
130                             in double theW,
131                             in short  theOrientation) ;
132     GEOM_Object MakeFaceObjHW (in GEOM_Object theObj, 
133                                in double      theH,
134                                in double      theW) ;
135     GEOM_Object MakeDiskPntVecR (in GEOM_Object thePnt,
136                                  in GEOM_Object theVec,
137                                  in double      theR) ;
138     GEOM_Object MakeDiskThreePnt (in GEOM_Object thePnt1,
139                                   in GEOM_Object thePnt2,
140                                   in GEOM_Object thePnt3) ;
141     GEOM_Object MakeDiskR (in double theR, 
142                            in short  theOrientation) ;
143     GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
144                                       in GEOM_Object theAxis,
145                                       in double      theRadius,
146                                       in double      theHeight) ;
147     GEOM_Object MakeCylinderRH (in double theR, 
148                                 in double theH) ;
149     GEOM_Object MakeSphere (in double theX,
150                             in double theY,
151                             in double theZ,
152                             in double theRadius) ;
153     GEOM_Object MakeSphereR (in double theR) ;
154     GEOM_Object MakeSpherePntR (in GEOM_Object thePnt, 
155                                 in double      theR) ;
156     GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
157                                    in GEOM_Object theVec,
158                                    in double      theRMajor,
159                                    in double      theRMinor) ;
160     GEOM_Object MakeTorusRR (in double theRMajor,
161                              in double theRMinor) ;
162     GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
163                                      in GEOM_Object theAxis,
164                                      in double      theR1,
165                                      in double      theR2,
166                                      in double      theHeight) ;
167     GEOM_Object MakeConeR1R2H (in double theR1, 
168                                in double theR2, 
169                                in double theHeight) ;
170     GEOM_Object MakePrismVecH (in GEOM_Object theBase,
171                                in GEOM_Object theVec,
172                                in double      theH) ;
173     GEOM_Object MakePrismVecH2Ways (in GEOM_Object theBase,
174                                     in GEOM_Object theVec,
175                                     in double      theH) ;
176     GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
177                                  in GEOM_Object thePoint1,
178                                  in GEOM_Object thePoint2) ;
179     GEOM_Object MakePrismTwoPnt2Ways (in GEOM_Object theBase,
180                                       in GEOM_Object thePoint1,
181                                       in GEOM_Object thePoint2) ;
182     GEOM_Object MakePipe (in GEOM_Object theBase, 
183                           in GEOM_Object thePath) ;
184     GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
185                                          in GEOM_Object theAxis,
186                                          in double      theAngle) ;
187     GEOM_Object MakeRevolutionAxisAngle2Ways (in GEOM_Object theBase,
188                                               in GEOM_Object theAxis,
189                                               in double      theAngle) ;
190     GEOM_Object MakeFilling (in GEOM_Object theShape,
191                              in long theMinDeg, in long theMaxDeg,
192                              in double theTol2D, in double theTol3D,
193                              in long theNbIter, in boolean theApprox) ;
194     GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
195                                  in boolean theModeSolid,
196                                  in double thePreci,
197                                  in boolean theRuled);
198
199     GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
200                                                in ListOfGO theLocations,
201                                                in GEOM_Object thePath,
202                                                in boolean theWithContact ,
203                                                in boolean theWithCorrection );
204     
205     GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
206                                            in ListOfGO theSeqSubBases,
207                                            in ListOfGO theLocations,
208                                            in GEOM_Object thePath,
209                                            in boolean theWithContact ,
210                                            in boolean theWithCorrection );
211     
212     GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
213                                            in ListOfGO theLocations );
214
215     GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase, 
216                                              in GEOM_Object thePath, 
217                                              in GEOM_Object theVec);
218
219     //-----------------------------------------------------------//
220     // BooleanOperations                                         //
221     //-----------------------------------------------------------//
222     GEOM_Object MakeBoolean (in GEOM_Object theShape1,
223                              in GEOM_Object theShape2,
224                              in long        theOperation) ;
225     GEOM_Object MakeFuse (in GEOM_Object theShape1,
226                           in GEOM_Object theShape2) ;
227     GEOM_Object MakePartition (in GEOM_List   theShapes,
228                                in GEOM_List   theTools,
229                                in GEOM_List   theKeepInside,
230                                in GEOM_List   theRemoveInside,
231                                in short       theLimit,
232                                in boolean     theRemoveWebs,
233                                in GEOM_List   theMaterials,
234                                in short       theKeepNonlimitShapes);
235     GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
236                                    in GEOM_Object thePlane) ;
237
238     //-----------------------------------------------------------//
239     // InsertOperations                                          //
240     //-----------------------------------------------------------//
241     GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
242     void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
243     GEOM_Object Import (in string theFileName, in string theFormatName) ;
244     void ImportTranslators (out string_array theFormats,
245                             out string_array thePatterns) ;
246     void ExportTranslators (out string_array theFormats,
247                             out string_array thePatterns) ;
248
249     //-----------------------------------------------------------//
250     // TransformOperations                                       //
251     //-----------------------------------------------------------//
252     GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
253                                     in GEOM_Object thePoint1,
254                                     in GEOM_Object thePoint2) ;
255     GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
256                                         in GEOM_Object thePoint1,
257                                         in GEOM_Object thePoint2) ;
258     GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
259                                  in double      theDX, 
260                                  in double      theDY, 
261                                  in double      theDZ) ;
262     GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
263                                      in double      theDX, 
264                                      in double      theDY, 
265                                      in double      theDZ) ;
266     GEOM_Object TranslateVector (in GEOM_Object theObject,
267                                  in GEOM_Object theVector) ;
268     GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
269                                      in GEOM_Object theVector) ;
270     GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
271                                          in GEOM_Object theVector,
272                                          in double      theDistance,
273                                          in boolean     theCopy) ;
274     GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
275                                   in GEOM_Object theVector,
276                                   in double      theStep,
277                                   in long        theNbTimes) ;
278     GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
279                                   in GEOM_Object theVector1,
280                                   in double      theStep1,
281                                   in long        theNbTimes1,
282                                   in GEOM_Object theVector2,
283                                   in double      theStep2,
284                                   in long        theNbTimes2) ;
285     GEOM_Object Rotate (in GEOM_Object theObject,
286                         in GEOM_Object theAxis,
287                         in double      theAngle) ;
288     GEOM_Object RotateCopy (in GEOM_Object theObject,
289                             in GEOM_Object theAxis,
290                             in double      theAngle) ;
291     GEOM_Object RotateThreePoints (in GEOM_Object theObject,
292                                    in GEOM_Object theCentPoint,
293                                    in GEOM_Object thePoint1,
294                                    in GEOM_Object thePoint2);
295     GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
296                                        in GEOM_Object theCentPoint,
297                                        in GEOM_Object thePoint1,
298                                        in GEOM_Object thePoint2);
299     GEOM_Object MultiRotate1D (in GEOM_Object theObject,
300                                in GEOM_Object theAxis,
301                                in long        theNbTimes) ;
302     GEOM_Object MultiRotate2D (in GEOM_Object theObject,
303                                in GEOM_Object theAxis,
304                                in double      theAngle,
305                                in long        theNbTimes1,
306                                in double      theStep,
307                                in long        theNbTimes2) ;
308     GEOM_Object MirrorPlane (in GEOM_Object theObject, 
309                              in GEOM_Object thePlane) ;
310     GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, 
311                                  in GEOM_Object thePlane) ;
312     GEOM_Object MirrorAxis (in GEOM_Object theObject, 
313                             in GEOM_Object theAxis) ;
314     GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, 
315                                 in GEOM_Object theAxis) ;
316     GEOM_Object MirrorPoint (in GEOM_Object theObject, 
317                              in GEOM_Object thePoint) ;
318     GEOM_Object MirrorPointCopy (in GEOM_Object theObject, 
319                                  in GEOM_Object thePoint) ;
320     GEOM_Object OffsetShape (in GEOM_Object theObject, 
321                              in double      theOffset) ;
322     GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, 
323                                  in double      theOffset) ;
324     GEOM_Object ScaleShape (in GEOM_Object theObject, 
325                             in GEOM_Object thePoint,
326                             in double      theFactor) ;
327     GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, 
328                                 in GEOM_Object thePoint,
329                                 in double      theFactor) ;
330     GEOM_Object ScaleShapeAlongAxes (in GEOM_Object theObject,
331                                      in GEOM_Object thePoint,
332                                      in double theFactorX,
333                                      in double theFactorY,
334                                      in double theFactorZ);
335     GEOM_Object ScaleShapeAlongAxesCopy (in GEOM_Object theObject,
336                                          in GEOM_Object thePoint,
337                                          in double theFactorX,
338                                          in double theFactorY,
339                                          in double theFactorZ);
340     GEOM_Object PositionShape (in GEOM_Object theObject,
341                                in GEOM_Object theStartLCS,
342                                in GEOM_Object theEndLCS) ;
343     GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
344                                    in GEOM_Object theStartLCS,
345                                    in GEOM_Object theEndLCS) ;
346     GEOM_Object PositionAlongPath (in GEOM_Object theObject,
347                                    in GEOM_Object thePath,
348                                    in double theDistance,
349                                    in boolean theCopy,
350                                    in boolean theReverse);
351
352     //-----------------------------------------------------------//
353     // ShapesOperations                                          //
354     //-----------------------------------------------------------//
355     GEOM_Object MakeEdge (in GEOM_Object thePnt1, 
356                           in GEOM_Object thePnt2) ;
357     GEOM_Object MakeWire (in GEOM_List theEdgesAndWires) ;
358     GEOM_Object MakeFace (in GEOM_Object theWire, 
359                           in boolean     isPlanarWanted) ;
360     GEOM_Object MakeFaceWires (in GEOM_List theWires, 
361                                in boolean   isPlanarWanted) ;
362     GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
363     GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
364     GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
365     GEOM_Object MakeCompound (in GEOM_List theShapes) ;
366     GEOM_Object MakeGlueFaces (in GEOM_Object theShape, 
367                                in double theTolerance,
368                                in boolean doKeepNonSolids);
369     GEOM_List GetGlueFaces (in GEOM_Object theShape, 
370                             in double theTolerance);
371     GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape, 
372                                      in double theTolerance,
373                                      in ListOfGO theFaces,
374                                      in boolean doKeepNonSolids);
375     GEOM_List MakeExplode (in GEOM_Object theShape,
376                            in long        theShapeType,
377                            in boolean     isSorted) ;
378     long NumberOfFaces (in GEOM_Object theShape) ;
379     long NumberOfEdges (in GEOM_Object theShape) ;
380     GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
381
382     GEOM_List GetShapesOnShape (in GEOM_Object theCheckShape,
383                                 in GEOM_Object theShape, 
384                                 in short       theShapeType,
385                                 in shape_state theState);
386     GEOM_Object GetShapesOnShapeAsCompound (in GEOM_Object theCheckShape,
387                                             in GEOM_Object theShape, 
388                                             in short       theShapeType,
389                                             in shape_state theState);
390
391     //-----------------------------------------------------------//
392     // BlocksOperations                                          //
393     //-----------------------------------------------------------//
394     GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
395                                    in GEOM_Object thePnt2,
396                                    in GEOM_Object thePnt3,
397                                    in GEOM_Object thePnt4) ;
398     GEOM_Object MakeQuad (in GEOM_Object theEdge1,
399                           in GEOM_Object theEdge2,
400                           in GEOM_Object theEdge3,
401                           in GEOM_Object theEdge4) ;
402     GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
403                                 in GEOM_Object theEdge2) ;
404     GEOM_Object MakeHexa (in GEOM_Object theFace1,
405                           in GEOM_Object theFace2,
406                           in GEOM_Object theFace3,
407                           in GEOM_Object theFace4,
408                           in GEOM_Object theFace5,
409                           in GEOM_Object theFace6) ;
410     GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
411                                 in GEOM_Object theFace2) ;
412     GEOM_Object GetPoint (in GEOM_Object theShape,
413                           in double      theX,
414                           in double      theY,
415                           in double      theZ,
416                           in double      theEpsilon) ;
417     GEOM_Object GetEdge (in GEOM_Object theShape,
418                          in GEOM_Object thePoint1,
419                          in GEOM_Object thePoint2) ;
420     GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
421                                   in GEOM_Object thePoint) ;
422     GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
423                                  in GEOM_Object thePoint1,
424                                  in GEOM_Object thePoint2,
425                                  in GEOM_Object thePoint3,
426                                  in GEOM_Object thePoint4) ;
427     GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
428                                 in GEOM_Object theEdge1,
429                                 in GEOM_Object theEdge2) ;
430     GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
431                                  in GEOM_Object theFace) ;
432     GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
433                                   in GEOM_Object thePoint) ;
434     GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
435                                   in GEOM_Object theVector) ;
436     boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
437                                 in long        theMinNbFaces,
438                                 in long        theMaxNbFaces,
439                                 out long       theNbBlocks) ;
440     boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
441                                    out GEOM_IBlocksOperations::BCErrors   theErrors) ;
442     string PrintBCErrors (in GEOM_Object theCompound,
443                           in GEOM_IBlocksOperations::BCErrors    theErrors) ;
444     GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
445                                        in long        theMinNbFaces,
446                                        in long        theMaxNbFaces) ;
447     GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
448                                    in GEOM_Object thePoint) ;
449     GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
450                                  in GEOM_List   theParts) ;
451     GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
452                                 in GEOM_List   theParts) ;
453     GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
454                                            in long        theDirFace1,
455                                            in long        theDirFace2,
456                                            in long        theNbTimes) ;
457     GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
458                                            in long        theDirFace1U,
459                                            in long        theDirFace2U,
460                                            in long        theNbTimesU,
461                                            in long        theDirFace1V,
462                                            in long        theDirFace2V,
463                                            in long        theNbTimesV) ;
464
465     //-----------------------------------------------------------//
466     // CurvesOperations                                          //
467     //-----------------------------------------------------------//
468     GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
469                                    in GEOM_Object theVec,
470                                    in double      theR) ;
471     GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
472                                     in GEOM_Object thePnt2,
473                                     in GEOM_Object thePnt3) ;
474     GEOM_Object MakeCircleCenter2Pnt (in GEOM_Object thePnt1,
475                                       in GEOM_Object thePnt2,
476                                       in GEOM_Object thePnt3) ;
477     GEOM_Object MakeEllipse (in GEOM_Object thePnt,
478                              in GEOM_Object theVec,
479                              in double      theRMajor,
480                              in double      theRMinor) ;
481     GEOM_Object MakeArc (in GEOM_Object thePnt1,
482                          in GEOM_Object thePnt2,
483                          in GEOM_Object thePnt3) ;
484     GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
485                                in GEOM_Object thePnt1,
486                                in GEOM_Object thePnt2,
487                                in boolean theSense) ;
488     GEOM_Object MakeArcOfEllipse (in GEOM_Object theCenter,
489                                  in GEOM_Object thePnt1,
490                                  in GEOM_Object thePnt2) ;
491     GEOM_Object MakePolyline (in GEOM_List thePoints) ;
492     GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
493     GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
494     GEOM_Object MakeSketcher (in string    theCommand, 
495                               in GEOM_List theWorkingPlane) ;
496     
497     //-----------------------------------------------------------//
498     // LocalOperations                                           //
499     //-----------------------------------------------------------//
500     GEOM_Object MakeFilletAll (in GEOM_Object theShape,
501                                in double      theR) ;
502     GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
503                                  in double      theR,
504                                  in GEOM_List   theEdges) ;
505     GEOM_Object MakeFilletEdgesR1R2 (in GEOM_Object theShape,
506                                      in double      theR1,
507                                      in double      theR2,
508                                      in GEOM_List   theEdges) ;
509     GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
510                                  in double      theR,
511                                  in GEOM_List   theFaces) ;
512     GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
513                                      in double      theR1,
514                                      in double      theR2,
515                                      in GEOM_List   theFaces) ;
516     GEOM_Object MakeFillet2D (in GEOM_Object theShape,
517                               in double      theR,
518                               in GEOM_List   theVertexes) ;
519     GEOM_Object MakeChamferAll (in GEOM_Object theShape,
520                                 in double      theD) ;
521     GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
522                                  in double theD1, in double theD2,
523                                  in long theFace1, in long theFace2) ;
524     GEOM_Object MakeChamferEdgeAD (in GEOM_Object theShape,
525                                    in double theD, in double theAngle,
526                                    in long theFace1, in long theFace2) ;
527     GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
528                                   in double theD1, in double theD2,
529                                   in GEOM_List theFaces) ;
530     GEOM_Object MakeChamferFacesAD (in GEOM_Object theShape,
531                                     in double theD, in double theAngle,
532                                     in GEOM_List theFaces) ;
533     GEOM_Object MakeChamferEdges (in GEOM_Object theShape,
534                                   in double theD1, in double theD2,
535                                   in GEOM_List theEdges) ;
536     GEOM_Object MakeChamferEdgesAD (in GEOM_Object theShape,
537                                     in double theD, in double theAngle,
538                                     in GEOM_List theEdges) ;
539     GEOM_Object MakeArchimede (in GEOM_Object theShape,
540                                in double      theWeight,
541                                in double      theWaterDensity,
542                                in double      theMeshDeflection) ;
543     long GetSubShapeIndex (in GEOM_Object theShape, 
544                            in GEOM_Object theSubShape) ;
545
546     //-----------------------------------------------------------//
547     // GroupOperations                                           //
548     //-----------------------------------------------------------//
549     GEOM_Object CreateGroup (in GEOM_Object theMainShape, 
550                              in long        theShapeType) ;
551     void AddObject (in GEOM_Object theGroup, 
552                     in long        theSubShapeId) ;
553     void RemoveObject (in GEOM_Object theGroup, 
554                        in long        theSubShapeId) ;
555     long GetType (in GEOM_Object theGroup) ;
556     GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
557     GEOM_List  GetObjects(in GEOM_Object theGroup) ;
558
559   };
560 };
561
562 #endif