]> SALOME platform Git repositories - modules/geom.git/blob - idl/GEOM_Superv.idl
Salome HOME
0020695: EDF 1076 GEOM: Add a new shape in GEOM: T-shape
[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     // AdvancedOperations                                        //
580     //-----------------------------------------------------------//
581     GEOM_List MakePipeTShape (in double theR1, in double theW1, in double theL1, 
582                 in double theR2, in double theW2, in double theL2,
583                 in boolean theHexMesh);
584               
585     GEOM_List MakePipeTShapeWithPosition (in double theR1, in double theW1, in double theL1, 
586                         in double theR2, in double theW2, in double theL2,
587                         in boolean theHexMesh,
588                         in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
589                         
590     GEOM_List MakePipeTShapeChamfer (in double theR1, in double theW1, in double theL1,
591                     in double theR2, in double theW2, in double theL2,
592                     in double theH, in double theW, in boolean theHexMesh);
593                     
594     GEOM_List MakePipeTShapeChamferWithPosition (in double theR1, in double theW1, in double theL1, 
595                            in double theR2, in double theW2, in double theL2, 
596                            in double theH, in double theW, in boolean theHexMesh,
597                            in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
598                            
599     GEOM_List MakePipeTShapeFillet (in double theR1, in double theW1, in double theL1, 
600                       in double theR2, in double theW2, in double theL2, 
601                       in double theRF, in boolean theHexMesh);
602                       
603     GEOM_List MakePipeTShapeFilletWithPosition (in double theR1, in double theW1, in double theL1, 
604                           in double theR2, in double theW2, in double theL2, 
605                           in double theRF, in boolean theHexMesh,
606                           in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
607  };
608 };
609
610 #endif