1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // File : GEOM_Superv.idl
23 // Author : Lucien PIGNOLONI
25 #ifndef __GEOM_SUPERV__
26 #define __GEOM_SUPERV__
28 #include "GEOM_Gen.idl"
35 interface GEOM_Superv : Engines::Component,SALOMEDS::Driver
37 //-----------------------------------------------------------//
38 // Set current study ID //
39 //-----------------------------------------------------------//
40 void SetStudyID (in long theStudyID) ;
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);
49 //-----------------------------------------------------------//
50 // Create ListOfLong and add items to it //
51 //-----------------------------------------------------------//
52 GEOM_List CreateListOfLong();
53 void AddItemToListOfLong( inout GEOM_List theList,
56 //-----------------------------------------------------------//
57 // Create ListOfDouble and add items to it //
58 //-----------------------------------------------------------//
59 GEOM_List CreateListOfDouble();
60 void AddItemToListOfDouble( inout GEOM_List theList,
63 //-----------------------------------------------------------//
64 // Primitives Construction : BasicOperations //
65 //-----------------------------------------------------------//
66 GEOM_Object MakePointXYZ (in double theX,
69 GEOM_Object MakePointWithReference (in GEOM_Object theReference,
73 GEOM_Object MakePointOnCurve (in GEOM_Object theRefCurve,
74 in double theParameter) ;
76 GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve,
77 in double theParameter);
79 GEOM_Object MakeVectorDXDYDZ (in double theDX,
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) ;
107 GEOM_Object MakeMarkerFromShape (in GEOM_Object theShape) ;
109 GEOM_Object MakeMarkerPntTwoVec (in GEOM_Object theOrigin, in GEOM_Object theXVec, in GEOM_Object theYVec) ;
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.
120 GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace,
121 in double theParameterU,
122 in double theParameterV,
123 in double theTrimSize);
125 //-----------------------------------------------------------//
126 // Primitives Construction : 3DPrimOperations //
127 //-----------------------------------------------------------//
128 GEOM_Object MakeBox (in double theX1,
134 GEOM_Object MakeBoxDXDYDZ (in double theDX,
137 GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1,
138 in GEOM_Object thePnt2) ;
139 GEOM_Object MakeFaceHW (in double theH,
141 in short theOrientation) ;
142 GEOM_Object MakeFaceObjHW (in GEOM_Object theObj,
145 GEOM_Object MakeDiskPntVecR (in GEOM_Object thePnt,
146 in GEOM_Object theVec,
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,
156 in double theHeight) ;
157 GEOM_Object MakeCylinderRH (in double theR,
159 GEOM_Object MakeSphere (in double theX,
162 in double theRadius) ;
163 GEOM_Object MakeSphereR (in double theR) ;
164 GEOM_Object MakeSpherePntR (in GEOM_Object thePnt,
166 GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
167 in GEOM_Object theVec,
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,
176 in double theHeight) ;
177 GEOM_Object MakeConeR1R2H (in double theR1,
179 in double theHeight) ;
180 GEOM_Object MakePrismVecH (in GEOM_Object theBase,
181 in GEOM_Object theVec,
183 GEOM_Object MakePrismVecH2Ways (in GEOM_Object theBase,
184 in GEOM_Object theVec,
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,
204 in filling_oper_method theMethod,
205 in boolean theApprox) ;
206 GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
207 in boolean theModeSolid,
209 in boolean theRuled);
211 GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
212 in ListOfGO theLocations,
213 in GEOM_Object thePath,
214 in boolean theWithContact ,
215 in boolean theWithCorrection );
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 );
224 GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
225 in ListOfGO theLocations );
227 GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase,
228 in GEOM_Object thePath,
229 in GEOM_Object theVec);
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,
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) ;
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) ;
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,
274 GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
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,
289 in long theNbTimes) ;
290 GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
291 in GEOM_Object theVector1,
294 in GEOM_Object theVector2,
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,
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,
362 in boolean theReverse);
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) ;
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);
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,
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,
469 in long theNbTimes) ;
470 GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
471 in long theDirFace1U,
472 in long theDirFace2U,
474 in long theDirFace1V,
475 in long theDirFace2V,
476 in long theNbTimesV) ;
478 //-----------------------------------------------------------//
479 // CurvesOperations //
480 //-----------------------------------------------------------//
481 GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
482 in GEOM_Object theVec,
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,
493 in double theRMinor) ;
494 GEOM_Object MakeEllipseVec (in GEOM_Object thePnt,
495 in GEOM_Object theVec,
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) ;
516 //-----------------------------------------------------------//
517 // LocalOperations //
518 //-----------------------------------------------------------//
519 GEOM_Object MakeFilletAll (in GEOM_Object theShape,
521 GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
523 in GEOM_List theEdges) ;
524 GEOM_Object MakeFilletEdgesR1R2 (in GEOM_Object theShape,
527 in GEOM_List theEdges) ;
528 GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
530 in GEOM_List theFaces) ;
531 GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
534 in GEOM_List theFaces) ;
535 GEOM_Object MakeFillet2D (in GEOM_Object theShape,
537 in GEOM_List theVertexes) ;
538 GEOM_Object MakeChamferAll (in GEOM_Object theShape,
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,
560 in double theWaterDensity,
561 in double theMeshDeflection) ;
562 long GetSubShapeIndex (in GEOM_Object theShape,
563 in GEOM_Object theSubShape) ;
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) ;