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