]> SALOME platform Git repositories - modules/geom.git/blob - idl/GEOM_Superv.idl
Salome HOME
Changes for 0020673 - Implementation of "Auto-correct edges orientation".
[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 MakePlane2Vec (in GEOM_Object theVec1,
98                                in GEOM_Object theVec2,
99                                in double      theTrimSize) ;
100     GEOM_Object MakePlaneLCS (in GEOM_Object theLCS,
101                               in double      theTrimSize,
102                               in double      theOrientation) ;
103     GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
104                             in double theXDX, in double theXDY, in double theXDZ,
105                             in double theYDX, in double theYDY, in double theYDZ) ;
106                             
107     GEOM_Object MakeMarkerFromShape (in GEOM_Object theShape) ;
108     
109     GEOM_Object MakeMarkerPntTwoVec (in GEOM_Object theOrigin, in GEOM_Object theXVec, in GEOM_Object theYVec) ;
110
111     /*!
112      *  Create a tangent plane to specified face in the point with specified parameters.
113      *  Values of parameters should be between 0. and 1.0
114      *  \param theFace - face for which tangent plane shuold be built. 
115      *  \param theParameterU - value of parameter by U
116      *  \param theParameterV - value of parameter Vthe
117      *  \param theTrimSize - defines sizes of created face
118      *  \return New GEOM_Object, containing the face built on tangent plane.
119      */
120     GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace,
121                                        in double theParameterU,
122                                        in double theParameterV,
123                                        in double theTrimSize);
124
125     //-----------------------------------------------------------//
126     // Primitives Construction : 3DPrimOperations                //
127     //-----------------------------------------------------------//
128     GEOM_Object MakeBox (in double theX1,
129                          in double theY1,
130                          in double theZ1,
131                          in double theX2,
132                          in double theY2,
133                          in double theZ2) ; 
134     GEOM_Object MakeBoxDXDYDZ (in double theDX, 
135                                in double theDY, 
136                                in double theDZ) ;
137     GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1, 
138                                in GEOM_Object thePnt2) ;
139     GEOM_Object MakeFaceHW (in double theH, 
140                             in double theW,
141                             in short  theOrientation) ;
142     GEOM_Object MakeFaceObjHW (in GEOM_Object theObj, 
143                                in double      theH,
144                                in double      theW) ;
145     GEOM_Object MakeDiskPntVecR (in GEOM_Object thePnt,
146                                  in GEOM_Object theVec,
147                                  in double      theR) ;
148     GEOM_Object MakeDiskThreePnt (in GEOM_Object thePnt1,
149                                   in GEOM_Object thePnt2,
150                                   in GEOM_Object thePnt3) ;
151     GEOM_Object MakeDiskR (in double theR, 
152                            in short  theOrientation) ;
153     GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
154                                       in GEOM_Object theAxis,
155                                       in double      theRadius,
156                                       in double      theHeight) ;
157     GEOM_Object MakeCylinderRH (in double theR, 
158                                 in double theH) ;
159     GEOM_Object MakeSphere (in double theX,
160                             in double theY,
161                             in double theZ,
162                             in double theRadius) ;
163     GEOM_Object MakeSphereR (in double theR) ;
164     GEOM_Object MakeSpherePntR (in GEOM_Object thePnt, 
165                                 in double      theR) ;
166     GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
167                                    in GEOM_Object theVec,
168                                    in double      theRMajor,
169                                    in double      theRMinor) ;
170     GEOM_Object MakeTorusRR (in double theRMajor,
171                              in double theRMinor) ;
172     GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
173                                      in GEOM_Object theAxis,
174                                      in double      theR1,
175                                      in double      theR2,
176                                      in double      theHeight) ;
177     GEOM_Object MakeConeR1R2H (in double theR1, 
178                                in double theR2, 
179                                in double theHeight) ;
180     GEOM_Object MakePrismVecH (in GEOM_Object theBase,
181                                in GEOM_Object theVec,
182                                in double      theH) ;
183     GEOM_Object MakePrismVecH2Ways (in GEOM_Object theBase,
184                                     in GEOM_Object theVec,
185                                     in double      theH) ;
186     GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
187                                  in GEOM_Object thePoint1,
188                                  in GEOM_Object thePoint2) ;
189     GEOM_Object MakePrismTwoPnt2Ways (in GEOM_Object theBase,
190                                       in GEOM_Object thePoint1,
191                                       in GEOM_Object thePoint2) ;
192     GEOM_Object MakePipe (in GEOM_Object theBase, 
193                           in GEOM_Object thePath) ;
194     GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
195                                          in GEOM_Object theAxis,
196                                          in double      theAngle) ;
197     GEOM_Object MakeRevolutionAxisAngle2Ways (in GEOM_Object theBase,
198                                               in GEOM_Object theAxis,
199                                               in double      theAngle) ;
200     GEOM_Object MakeFilling (in GEOM_Object theShape,
201                              in long theMinDeg, in long theMaxDeg,
202                              in double theTol2D, in double theTol3D,
203                              in long theNbIter,
204                              in filling_oper_method theMethod,
205                              in boolean theApprox) ;
206     GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
207                                  in boolean theModeSolid,
208                                  in double thePreci,
209                                  in boolean theRuled);
210
211     GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
212                                                in ListOfGO theLocations,
213                                                in GEOM_Object thePath,
214                                                in boolean theWithContact ,
215                                                in boolean theWithCorrection );
216     
217     GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
218                                            in ListOfGO theSeqSubBases,
219                                            in ListOfGO theLocations,
220                                            in GEOM_Object thePath,
221                                            in boolean theWithContact ,
222                                            in boolean theWithCorrection );
223     
224     GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
225                                            in ListOfGO theLocations );
226
227     GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase, 
228                                              in GEOM_Object thePath, 
229                                              in GEOM_Object theVec);
230
231     //-----------------------------------------------------------//
232     // BooleanOperations                                         //
233     //-----------------------------------------------------------//
234     GEOM_Object MakeBoolean (in GEOM_Object theShape1,
235                              in GEOM_Object theShape2,
236                              in long        theOperation) ;
237     GEOM_Object MakeFuse (in GEOM_Object theShape1,
238                           in GEOM_Object theShape2) ;
239     GEOM_Object MakePartition (in GEOM_List   theShapes,
240                                in GEOM_List   theTools,
241                                in GEOM_List   theKeepInside,
242                                in GEOM_List   theRemoveInside,
243                                in short       theLimit,
244                                in boolean     theRemoveWebs,
245                                in GEOM_List   theMaterials,
246                                in short       theKeepNonlimitShapes);
247     GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
248                                    in GEOM_Object thePlane) ;
249
250     //-----------------------------------------------------------//
251     // InsertOperations                                          //
252     //-----------------------------------------------------------//
253     GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
254     void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
255     GEOM_Object Import (in string theFileName, in string theFormatName) ;
256     void ImportTranslators (out string_array theFormats,
257                             out string_array thePatterns) ;
258     void ExportTranslators (out string_array theFormats,
259                             out string_array thePatterns) ;
260
261     //-----------------------------------------------------------//
262     // TransformOperations                                       //
263     //-----------------------------------------------------------//
264     GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
265                                     in GEOM_Object thePoint1,
266                                     in GEOM_Object thePoint2) ;
267     GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
268                                         in GEOM_Object thePoint1,
269                                         in GEOM_Object thePoint2) ;
270     GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
271                                  in double      theDX, 
272                                  in double      theDY, 
273                                  in double      theDZ) ;
274     GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
275                                      in double      theDX, 
276                                      in double      theDY, 
277                                      in double      theDZ) ;
278     GEOM_Object TranslateVector (in GEOM_Object theObject,
279                                  in GEOM_Object theVector) ;
280     GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
281                                      in GEOM_Object theVector) ;
282     GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
283                                          in GEOM_Object theVector,
284                                          in double      theDistance,
285                                          in boolean     theCopy) ;
286     GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
287                                   in GEOM_Object theVector,
288                                   in double      theStep,
289                                   in long        theNbTimes) ;
290     GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
291                                   in GEOM_Object theVector1,
292                                   in double      theStep1,
293                                   in long        theNbTimes1,
294                                   in GEOM_Object theVector2,
295                                   in double      theStep2,
296                                   in long        theNbTimes2) ;
297     GEOM_Object Rotate (in GEOM_Object theObject,
298                         in GEOM_Object theAxis,
299                         in double      theAngle) ;
300     GEOM_Object RotateCopy (in GEOM_Object theObject,
301                             in GEOM_Object theAxis,
302                             in double      theAngle) ;
303     GEOM_Object RotateThreePoints (in GEOM_Object theObject,
304                                    in GEOM_Object theCentPoint,
305                                    in GEOM_Object thePoint1,
306                                    in GEOM_Object thePoint2);
307     GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
308                                        in GEOM_Object theCentPoint,
309                                        in GEOM_Object thePoint1,
310                                        in GEOM_Object thePoint2);
311     GEOM_Object MultiRotate1D (in GEOM_Object theObject,
312                                in GEOM_Object theAxis,
313                                in long        theNbTimes) ;
314     GEOM_Object MultiRotate2D (in GEOM_Object theObject,
315                                in GEOM_Object theAxis,
316                                in double      theAngle,
317                                in long        theNbTimes1,
318                                in double      theStep,
319                                in long        theNbTimes2) ;
320     GEOM_Object MirrorPlane (in GEOM_Object theObject, 
321                              in GEOM_Object thePlane) ;
322     GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, 
323                                  in GEOM_Object thePlane) ;
324     GEOM_Object MirrorAxis (in GEOM_Object theObject, 
325                             in GEOM_Object theAxis) ;
326     GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, 
327                                 in GEOM_Object theAxis) ;
328     GEOM_Object MirrorPoint (in GEOM_Object theObject, 
329                              in GEOM_Object thePoint) ;
330     GEOM_Object MirrorPointCopy (in GEOM_Object theObject, 
331                                  in GEOM_Object thePoint) ;
332     GEOM_Object OffsetShape (in GEOM_Object theObject, 
333                              in double      theOffset) ;
334     GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, 
335                                  in double      theOffset) ;
336     GEOM_Object ScaleShape (in GEOM_Object theObject, 
337                             in GEOM_Object thePoint,
338                             in double      theFactor) ;
339     GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, 
340                                 in GEOM_Object thePoint,
341                                 in double      theFactor) ;
342     GEOM_Object ScaleShapeAlongAxes (in GEOM_Object theObject,
343                                      in GEOM_Object thePoint,
344                                      in double theFactorX,
345                                      in double theFactorY,
346                                      in double theFactorZ);
347     GEOM_Object ScaleShapeAlongAxesCopy (in GEOM_Object theObject,
348                                          in GEOM_Object thePoint,
349                                          in double theFactorX,
350                                          in double theFactorY,
351                                          in double theFactorZ);
352     GEOM_Object PositionShape (in GEOM_Object theObject,
353                                in GEOM_Object theStartLCS,
354                                in GEOM_Object theEndLCS) ;
355     GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
356                                    in GEOM_Object theStartLCS,
357                                    in GEOM_Object theEndLCS) ;
358     GEOM_Object PositionAlongPath (in GEOM_Object theObject,
359                                    in GEOM_Object thePath,
360                                    in double theDistance,
361                                    in boolean theCopy,
362                                    in boolean theReverse);
363
364     //-----------------------------------------------------------//
365     // ShapesOperations                                          //
366     //-----------------------------------------------------------//
367     GEOM_Object MakeEdge (in GEOM_Object thePnt1, 
368                           in GEOM_Object thePnt2) ;
369     GEOM_Object MakeWire (in GEOM_List theEdgesAndWires,
370                           in double    theTolerance) ;
371     GEOM_Object MakeFace (in GEOM_Object theWire, 
372                           in boolean     isPlanarWanted) ;
373     GEOM_Object MakeFaceWires (in GEOM_List theWires, 
374                                in boolean   isPlanarWanted) ;
375     GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
376     GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
377     GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
378     GEOM_Object MakeCompound (in GEOM_List theShapes) ;
379     GEOM_Object MakeGlueFaces (in GEOM_Object theShape, 
380                                in double theTolerance,
381                                in boolean doKeepNonSolids);
382     GEOM_List GetGlueFaces (in GEOM_Object theShape, 
383                             in double theTolerance);
384     GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape, 
385                                      in double theTolerance,
386                                      in ListOfGO theFaces,
387                                      in boolean doKeepNonSolids);
388     GEOM_List MakeExplode (in GEOM_Object theShape,
389                            in long        theShapeType,
390                            in boolean     isSorted) ;
391     long NumberOfFaces (in GEOM_Object theShape) ;
392     long NumberOfEdges (in GEOM_Object theShape) ;
393     GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
394
395     GEOM_List GetShapesOnShape (in GEOM_Object theCheckShape,
396                                 in GEOM_Object theShape, 
397                                 in short       theShapeType,
398                                 in shape_state theState);
399     GEOM_Object GetShapesOnShapeAsCompound (in GEOM_Object theCheckShape,
400                                             in GEOM_Object theShape, 
401                                             in short       theShapeType,
402                                             in shape_state theState);
403
404     //-----------------------------------------------------------//
405     // BlocksOperations                                          //
406     //-----------------------------------------------------------//
407     GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
408                                    in GEOM_Object thePnt2,
409                                    in GEOM_Object thePnt3,
410                                    in GEOM_Object thePnt4) ;
411     GEOM_Object MakeQuad (in GEOM_Object theEdge1,
412                           in GEOM_Object theEdge2,
413                           in GEOM_Object theEdge3,
414                           in GEOM_Object theEdge4) ;
415     GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
416                                 in GEOM_Object theEdge2) ;
417     GEOM_Object MakeHexa (in GEOM_Object theFace1,
418                           in GEOM_Object theFace2,
419                           in GEOM_Object theFace3,
420                           in GEOM_Object theFace4,
421                           in GEOM_Object theFace5,
422                           in GEOM_Object theFace6) ;
423     GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
424                                 in GEOM_Object theFace2) ;
425     GEOM_Object GetPoint (in GEOM_Object theShape,
426                           in double      theX,
427                           in double      theY,
428                           in double      theZ,
429                           in double      theEpsilon) ;
430     GEOM_Object GetEdge (in GEOM_Object theShape,
431                          in GEOM_Object thePoint1,
432                          in GEOM_Object thePoint2) ;
433     GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
434                                   in GEOM_Object thePoint) ;
435     GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
436                                  in GEOM_Object thePoint1,
437                                  in GEOM_Object thePoint2,
438                                  in GEOM_Object thePoint3,
439                                  in GEOM_Object thePoint4) ;
440     GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
441                                 in GEOM_Object theEdge1,
442                                 in GEOM_Object theEdge2) ;
443     GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
444                                  in GEOM_Object theFace) ;
445     GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
446                                   in GEOM_Object thePoint) ;
447     GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
448                                   in GEOM_Object theVector) ;
449     boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
450                                 in long        theMinNbFaces,
451                                 in long        theMaxNbFaces,
452                                 out long       theNbBlocks) ;
453     boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
454                                    out GEOM_IBlocksOperations::BCErrors   theErrors) ;
455     string PrintBCErrors (in GEOM_Object theCompound,
456                           in GEOM_IBlocksOperations::BCErrors    theErrors) ;
457     GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
458                                        in long        theMinNbFaces,
459                                        in long        theMaxNbFaces) ;
460     GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
461                                    in GEOM_Object thePoint) ;
462     GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
463                                  in GEOM_List   theParts) ;
464     GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
465                                 in GEOM_List   theParts) ;
466     GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
467                                            in long        theDirFace1,
468                                            in long        theDirFace2,
469                                            in long        theNbTimes) ;
470     GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
471                                            in long        theDirFace1U,
472                                            in long        theDirFace2U,
473                                            in long        theNbTimesU,
474                                            in long        theDirFace1V,
475                                            in long        theDirFace2V,
476                                            in long        theNbTimesV) ;
477
478     //-----------------------------------------------------------//
479     // CurvesOperations                                          //
480     //-----------------------------------------------------------//
481     GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
482                                    in GEOM_Object theVec,
483                                    in double      theR) ;
484     GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
485                                     in GEOM_Object thePnt2,
486                                     in GEOM_Object thePnt3) ;
487     GEOM_Object MakeCircleCenter2Pnt (in GEOM_Object thePnt1,
488                                       in GEOM_Object thePnt2,
489                                       in GEOM_Object thePnt3) ;
490     GEOM_Object MakeEllipse (in GEOM_Object thePnt,
491                              in GEOM_Object theVec,
492                              in double      theRMajor,
493                              in double      theRMinor) ;
494     GEOM_Object MakeEllipseVec (in GEOM_Object thePnt,
495                                 in GEOM_Object theVec,
496                                 in double      theRMajor,
497                                 in double      theRMinor,
498                                 in GEOM_Object theVecMaj) ;
499     GEOM_Object MakeArc (in GEOM_Object thePnt1,
500                          in GEOM_Object thePnt2,
501                          in GEOM_Object thePnt3) ;
502     GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
503                                in GEOM_Object thePnt1,
504                                in GEOM_Object thePnt2,
505                                in boolean theSense) ;
506     GEOM_Object MakeArcOfEllipse (in GEOM_Object theCenter,
507                                  in GEOM_Object thePnt1,
508                                  in GEOM_Object thePnt2) ;
509     GEOM_Object MakePolyline (in GEOM_List thePoints) ;
510     GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
511     GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints,
512                                          in boolean   theIsClosed) ;
513     GEOM_Object MakeSketcher (in string    theCommand, 
514                               in GEOM_List theWorkingPlane) ;
515     
516     //-----------------------------------------------------------//
517     // LocalOperations                                           //
518     //-----------------------------------------------------------//
519     GEOM_Object MakeFilletAll (in GEOM_Object theShape,
520                                in double      theR) ;
521     GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
522                                  in double      theR,
523                                  in GEOM_List   theEdges) ;
524     GEOM_Object MakeFilletEdgesR1R2 (in GEOM_Object theShape,
525                                      in double      theR1,
526                                      in double      theR2,
527                                      in GEOM_List   theEdges) ;
528     GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
529                                  in double      theR,
530                                  in GEOM_List   theFaces) ;
531     GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
532                                      in double      theR1,
533                                      in double      theR2,
534                                      in GEOM_List   theFaces) ;
535     GEOM_Object MakeFillet2D (in GEOM_Object theShape,
536                               in double      theR,
537                               in GEOM_List   theVertexes) ;
538     GEOM_Object MakeChamferAll (in GEOM_Object theShape,
539                                 in double      theD) ;
540     GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
541                                  in double theD1, in double theD2,
542                                  in long theFace1, in long theFace2) ;
543     GEOM_Object MakeChamferEdgeAD (in GEOM_Object theShape,
544                                    in double theD, in double theAngle,
545                                    in long theFace1, in long theFace2) ;
546     GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
547                                   in double theD1, in double theD2,
548                                   in GEOM_List theFaces) ;
549     GEOM_Object MakeChamferFacesAD (in GEOM_Object theShape,
550                                     in double theD, in double theAngle,
551                                     in GEOM_List theFaces) ;
552     GEOM_Object MakeChamferEdges (in GEOM_Object theShape,
553                                   in double theD1, in double theD2,
554                                   in GEOM_List theEdges) ;
555     GEOM_Object MakeChamferEdgesAD (in GEOM_Object theShape,
556                                     in double theD, in double theAngle,
557                                     in GEOM_List theEdges) ;
558     GEOM_Object MakeArchimede (in GEOM_Object theShape,
559                                in double      theWeight,
560                                in double      theWaterDensity,
561                                in double      theMeshDeflection) ;
562     long GetSubShapeIndex (in GEOM_Object theShape, 
563                            in GEOM_Object theSubShape) ;
564
565     //-----------------------------------------------------------//
566     // GroupOperations                                           //
567     //-----------------------------------------------------------//
568     GEOM_Object CreateGroup (in GEOM_Object theMainShape, 
569                              in long        theShapeType) ;
570     void AddObject (in GEOM_Object theGroup, 
571                     in long        theSubShapeId) ;
572     void RemoveObject (in GEOM_Object theGroup, 
573                        in long        theSubShapeId) ;
574     long GetType (in GEOM_Object theGroup) ;
575     GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
576     GEOM_List  GetObjects(in GEOM_Object theGroup) ;
577
578   };
579 };
580
581 #endif