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