1 // Copyright (C) 2007-2022 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, or (at your option) any later version.
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"
29 #include "AdvancedGEOM.idl"
36 interface GEOM_Superv : Engines::EngineComponent,SALOMEDS::Driver
38 //-----------------------------------------------------------//
39 // Create ListOfGO and add items to it //
40 //-----------------------------------------------------------//
41 GEOM_List CreateListOfGO();
42 void AddItemToListOfGO( inout GEOM_List theList,
43 in GEOM_Object theObject);
45 //-----------------------------------------------------------//
46 // Create ListOfLong and add items to it //
47 //-----------------------------------------------------------//
48 GEOM_List CreateListOfLong();
49 void AddItemToListOfLong( inout GEOM_List theList,
52 //-----------------------------------------------------------//
53 // Create ListOfDouble and add items to it //
54 //-----------------------------------------------------------//
55 GEOM_List CreateListOfDouble();
56 void AddItemToListOfDouble( inout GEOM_List theList,
59 //-----------------------------------------------------------//
60 // Primitives Construction : BasicOperations //
61 //-----------------------------------------------------------//
62 GEOM_Object MakePointXYZ (in double theX,
65 GEOM_Object MakePointWithReference (in GEOM_Object theReference,
69 GEOM_Object MakePointOnCurve (in GEOM_Object theRefCurve,
70 in double theParameter);
71 GEOM_Object MakePointOnCurveByLength (in GEOM_Object theRefCurve,
73 in GEOM_Object theStartPoint);
75 GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve,
76 in double theParameter);
78 GEOM_Object MakeVectorDXDYDZ (in double theDX,
81 GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1,
82 in GEOM_Object thePnt2) ;
83 GEOM_Object MakeLineTwoPnt (in GEOM_Object thePnt1,
84 in GEOM_Object thePnt2) ;
85 GEOM_Object MakeLineTwoFaces (in GEOM_Object theFace1,
86 in GEOM_Object theFace2) ;
87 GEOM_Object MakePlaneThreePnt (in GEOM_Object thePnt1,
88 in GEOM_Object thePnt2,
89 in GEOM_Object thePnt3,
90 in double theTrimSize) ;
91 GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
92 in GEOM_Object theVec,
93 in double theTrimSize) ;
94 GEOM_Object MakePlaneFace (in GEOM_Object theFace,
95 in double theTrimSize) ;
96 GEOM_Object MakePlane2Vec (in GEOM_Object theVec1,
97 in GEOM_Object theVec2,
98 in double theTrimSize) ;
99 GEOM_Object MakePlaneLCS (in GEOM_Object theLCS,
100 in double theTrimSize,
101 in double theOrientation) ;
102 GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
103 in double theXDX, in double theXDY, in double theXDZ,
104 in double theYDX, in double theYDY, in double theYDZ) ;
106 GEOM_Object MakeMarkerFromShape (in GEOM_Object theShape) ;
108 GEOM_Object MakeMarkerPntTwoVec (in GEOM_Object theOrigin,
109 in GEOM_Object theXVec,
110 in GEOM_Object theYVec) ;
113 * Create a tangent plane to specified face in the point with specified parameters.
114 * Values of parameters should be between 0. and 1.0
115 * \param theFace - face for which tangent plane shuold be built.
116 * \param theParameterU - value of parameter by U
117 * \param theParameterV - value of parameter Vthe
118 * \param theTrimSize - defines sizes of created face
119 * \return New GEOM_Object, containing the face built on tangent plane.
121 GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace,
122 in double theParameterU,
123 in double theParameterV,
124 in double theTrimSize);
126 //-----------------------------------------------------------//
127 // Primitives Construction : 3DPrimOperations //
128 //-----------------------------------------------------------//
129 GEOM_Object MakeBox (in double theX1,
135 GEOM_Object MakeBoxDXDYDZ (in double theDX,
138 GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1,
139 in GEOM_Object thePnt2) ;
140 GEOM_Object MakeFaceHW (in double theH,
142 in short theOrientation) ;
143 GEOM_Object MakeFaceObjHW (in GEOM_Object theObj,
146 GEOM_Object MakeDiskPntVecR (in GEOM_Object thePnt,
147 in GEOM_Object theVec,
149 GEOM_Object MakeDiskThreePnt (in GEOM_Object thePnt1,
150 in GEOM_Object thePnt2,
151 in GEOM_Object thePnt3) ;
152 GEOM_Object MakeDiskR (in double theR,
153 in short theOrientation) ;
154 GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
155 in GEOM_Object theAxis,
157 in double theHeight) ;
158 GEOM_Object MakeCylinderRH (in double theR,
160 GEOM_Object MakeCylinderPntVecRHA (in GEOM_Object thePnt,
161 in GEOM_Object theAxis,
164 in double theAngle) ;
165 GEOM_Object MakeCylinderRHA (in double theR,
168 GEOM_Object MakeSphere (in double theX,
171 in double theRadius) ;
172 GEOM_Object MakeSphereR (in double theR) ;
173 GEOM_Object MakeSpherePntR (in GEOM_Object thePnt,
175 GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
176 in GEOM_Object theVec,
178 in double theRMinor) ;
179 GEOM_Object MakeTorusRR (in double theRMajor,
180 in double theRMinor) ;
181 GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
182 in GEOM_Object theAxis,
185 in double theHeight) ;
186 GEOM_Object MakeConeR1R2H (in double theR1,
188 in double theHeight) ;
189 GEOM_Object MakePrismVecH (in GEOM_Object theBase,
190 in GEOM_Object theVec,
192 GEOM_Object MakePrismVecH2Ways (in GEOM_Object theBase,
193 in GEOM_Object theVec,
195 GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
196 in GEOM_Object thePoint1,
197 in GEOM_Object thePoint2) ;
198 GEOM_Object MakePrismTwoPnt2Ways (in GEOM_Object theBase,
199 in GEOM_Object thePoint1,
200 in GEOM_Object thePoint2) ;
201 GEOM_Object MakePipe (in GEOM_Object theBase,
202 in GEOM_Object thePath) ;
203 GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
204 in GEOM_Object theAxis,
205 in double theAngle) ;
206 GEOM_Object MakeRevolutionAxisAngle2Ways (in GEOM_Object theBase,
207 in GEOM_Object theAxis,
208 in double theAngle) ;
209 GEOM_Object MakeFilling (in GEOM_Object theShape,
210 in long theMinDeg, in long theMaxDeg,
211 in double theTol2D, in double theTol3D,
213 in filling_oper_method theMethod,
214 in boolean theApprox) ;
215 GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
216 in boolean theModeSolid,
218 in boolean theRuled);
220 GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
221 in ListOfGO theLocations,
222 in GEOM_Object thePath,
223 in boolean theWithContact ,
224 in boolean theWithCorrection );
226 GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
227 in ListOfGO theSeqSubBases,
228 in ListOfGO theLocations,
229 in GEOM_Object thePath,
230 in boolean theWithContact ,
231 in boolean theWithCorrection );
233 GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
234 in ListOfGO theLocations );
236 GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase,
237 in GEOM_Object thePath,
238 in GEOM_Object theVec);
240 //-----------------------------------------------------------//
241 // BooleanOperations //
242 //-----------------------------------------------------------//
243 GEOM_Object MakeBoolean (in GEOM_Object theShape1,
244 in GEOM_Object theShape2,
245 in long theOperation) ;
246 GEOM_Object MakeFuse (in GEOM_Object theShape1,
247 in GEOM_Object theShape2) ;
248 GEOM_Object MakeCommon (in GEOM_Object theShape1,
249 in GEOM_Object theShape2) ;
250 GEOM_Object MakeCut (in GEOM_Object theShape1,
251 in GEOM_Object theShape2) ;
252 GEOM_Object MakeSection (in GEOM_Object theShape1,
253 in GEOM_Object theShape2) ;
254 GEOM_Object MakePartition (in GEOM_List theShapes,
255 in GEOM_List theTools,
256 in GEOM_List theKeepInside,
257 in GEOM_List theRemoveInside,
259 in boolean theRemoveWebs,
260 in GEOM_List theMaterials,
261 in short theKeepNonlimitShapes);
262 GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
263 in GEOM_Object thePlane) ;
265 //-----------------------------------------------------------//
266 // InsertOperations //
267 //-----------------------------------------------------------//
268 GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
269 void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
270 GEOM_Object ImportFile (in string theFileName, in string theFormatName) ;
272 //-----------------------------------------------------------//
273 // TransformOperations //
274 //-----------------------------------------------------------//
275 GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
276 in GEOM_Object thePoint1,
277 in GEOM_Object thePoint2) ;
278 GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
279 in GEOM_Object thePoint1,
280 in GEOM_Object thePoint2) ;
281 GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
285 GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
289 GEOM_Object TranslateVector (in GEOM_Object theObject,
290 in GEOM_Object theVector) ;
291 GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
292 in GEOM_Object theVector) ;
293 GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
294 in GEOM_Object theVector,
295 in double theDistance,
296 in boolean theCopy) ;
297 GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
298 in GEOM_Object theVector,
300 in long theNbTimes) ;
301 GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
302 in GEOM_Object theVector1,
305 in GEOM_Object theVector2,
307 in long theNbTimes2) ;
308 GEOM_Object Rotate (in GEOM_Object theObject,
309 in GEOM_Object theAxis,
310 in double theAngle) ;
311 GEOM_Object RotateCopy (in GEOM_Object theObject,
312 in GEOM_Object theAxis,
313 in double theAngle) ;
314 GEOM_Object RotateThreePoints (in GEOM_Object theObject,
315 in GEOM_Object theCentPoint,
316 in GEOM_Object thePoint1,
317 in GEOM_Object thePoint2);
318 GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
319 in GEOM_Object theCentPoint,
320 in GEOM_Object thePoint1,
321 in GEOM_Object thePoint2);
322 GEOM_Object MultiRotate1D (in GEOM_Object theObject,
323 in GEOM_Object theAxis,
324 in long theNbTimes) ;
325 GEOM_Object MultiRotate2D (in GEOM_Object theObject,
326 in GEOM_Object theAxis,
330 in long theNbTimes2) ;
331 GEOM_Object MirrorPlane (in GEOM_Object theObject,
332 in GEOM_Object thePlane) ;
333 GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject,
334 in GEOM_Object thePlane) ;
335 GEOM_Object MirrorAxis (in GEOM_Object theObject,
336 in GEOM_Object theAxis) ;
337 GEOM_Object MirrorAxisCopy (in GEOM_Object theObject,
338 in GEOM_Object theAxis) ;
339 GEOM_Object MirrorPoint (in GEOM_Object theObject,
340 in GEOM_Object thePoint) ;
341 GEOM_Object MirrorPointCopy (in GEOM_Object theObject,
342 in GEOM_Object thePoint) ;
343 GEOM_Object OffsetShape (in GEOM_Object theObject,
344 in double theOffset) ;
345 GEOM_Object OffsetShapeCopy (in GEOM_Object theObject,
346 in double theOffset) ;
347 GEOM_Object ScaleShape (in GEOM_Object theObject,
348 in GEOM_Object thePoint,
349 in double theFactor) ;
350 GEOM_Object ScaleShapeCopy (in GEOM_Object theObject,
351 in GEOM_Object thePoint,
352 in double theFactor) ;
353 GEOM_Object ScaleShapeAlongAxes (in GEOM_Object theObject,
354 in GEOM_Object thePoint,
355 in double theFactorX,
356 in double theFactorY,
357 in double theFactorZ);
358 GEOM_Object ScaleShapeAlongAxesCopy (in GEOM_Object theObject,
359 in GEOM_Object thePoint,
360 in double theFactorX,
361 in double theFactorY,
362 in double theFactorZ);
363 GEOM_Object PositionShape (in GEOM_Object theObject,
364 in GEOM_Object theStartLCS,
365 in GEOM_Object theEndLCS) ;
366 GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
367 in GEOM_Object theStartLCS,
368 in GEOM_Object theEndLCS) ;
369 GEOM_Object PositionAlongPath (in GEOM_Object theObject,
370 in GEOM_Object thePath,
371 in double theDistance,
373 in boolean theReverse);
375 //-----------------------------------------------------------//
376 // ShapesOperations //
377 //-----------------------------------------------------------//
378 GEOM_Object MakeEdge (in GEOM_Object thePnt1,
379 in GEOM_Object thePnt2) ;
380 GEOM_Object MakeEdgeOnCurveByLength (in GEOM_Object theRefCurve,
382 in GEOM_Object theStartPoint);
383 GEOM_Object MakeWire (in GEOM_List theEdgesAndWires,
384 in double theTolerance) ;
385 GEOM_Object MakeFace (in GEOM_Object theWire,
386 in boolean isPlanarWanted) ;
387 GEOM_Object MakeFaceWires (in GEOM_List theWires,
388 in boolean isPlanarWanted) ;
389 GEOM_Object MakeFaceWithConstraints(in GEOM_List theConstraints);
390 GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
391 GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
392 GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
393 GEOM_Object MakeCompound (in GEOM_List theShapes) ;
394 GEOM_Object MakeSolidFromConnectedFaces (in GEOM_List theFacesOrShells,
395 in boolean isIntersect);
396 GEOM_Object MakeGlueFaces (in GEOM_Object theShape,
397 in double theTolerance,
398 in boolean doKeepNonSolids);
399 GEOM_List GetGlueFaces (in GEOM_Object theShape,
400 in double theTolerance);
401 GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape,
402 in double theTolerance,
403 in ListOfGO theFaces,
404 in boolean doKeepNonSolids,
405 in boolean doGlueAllEdges);
406 GEOM_List MakeExplode (in GEOM_Object theShape,
407 in long theShapeType,
408 in boolean isSorted) ;
409 long NumberOfFaces (in GEOM_Object theShape) ;
410 long NumberOfEdges (in GEOM_Object theShape) ;
411 GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
413 GEOM_List GetShapesOnShape (in GEOM_Object theCheckShape,
414 in GEOM_Object theShape,
415 in short theShapeType,
416 in shape_state theState);
417 GEOM_Object GetShapesOnShapeAsCompound (in GEOM_Object theCheckShape,
418 in GEOM_Object theShape,
419 in short theShapeType,
420 in shape_state theState);
422 //-----------------------------------------------------------//
423 // BlocksOperations //
424 //-----------------------------------------------------------//
425 GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
426 in GEOM_Object thePnt2,
427 in GEOM_Object thePnt3,
428 in GEOM_Object thePnt4) ;
429 GEOM_Object MakeQuad (in GEOM_Object theEdge1,
430 in GEOM_Object theEdge2,
431 in GEOM_Object theEdge3,
432 in GEOM_Object theEdge4) ;
433 GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
434 in GEOM_Object theEdge2) ;
435 GEOM_Object MakeHexa (in GEOM_Object theFace1,
436 in GEOM_Object theFace2,
437 in GEOM_Object theFace3,
438 in GEOM_Object theFace4,
439 in GEOM_Object theFace5,
440 in GEOM_Object theFace6) ;
441 GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
442 in GEOM_Object theFace2) ;
443 GEOM_Object GetPoint (in GEOM_Object theShape,
447 in double theEpsilon) ;
448 GEOM_Object GetEdge (in GEOM_Object theShape,
449 in GEOM_Object thePoint1,
450 in GEOM_Object thePoint2) ;
451 GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
452 in GEOM_Object thePoint) ;
453 GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
454 in GEOM_Object thePoint1,
455 in GEOM_Object thePoint2,
456 in GEOM_Object thePoint3,
457 in GEOM_Object thePoint4) ;
458 GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
459 in GEOM_Object theEdge1,
460 in GEOM_Object theEdge2) ;
461 GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
462 in GEOM_Object theFace) ;
463 GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
464 in GEOM_Object thePoint) ;
465 GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
466 in GEOM_Object theVector) ;
467 boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
468 in long theMinNbFaces,
469 in long theMaxNbFaces,
470 out long theNbBlocks) ;
471 boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
472 out GEOM_IBlocksOperations::BCErrors theErrors) ;
473 string PrintBCErrors (in GEOM_Object theCompound,
474 in GEOM_IBlocksOperations::BCErrors theErrors) ;
475 GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
476 in long theMinNbFaces,
477 in long theMaxNbFaces) ;
478 GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
479 in GEOM_Object thePoint) ;
480 GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
481 in GEOM_List theParts) ;
482 GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
483 in GEOM_List theParts) ;
484 GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
487 in long theNbTimes) ;
488 GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
489 in long theDirFace1U,
490 in long theDirFace2U,
492 in long theDirFace1V,
493 in long theDirFace2V,
494 in long theNbTimesV) ;
496 //-----------------------------------------------------------//
497 // CurvesOperations //
498 //-----------------------------------------------------------//
499 GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
500 in GEOM_Object theVec,
502 GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
503 in GEOM_Object thePnt2,
504 in GEOM_Object thePnt3) ;
505 GEOM_Object MakeCircleCenter2Pnt (in GEOM_Object thePnt1,
506 in GEOM_Object thePnt2,
507 in GEOM_Object thePnt3) ;
508 GEOM_Object MakeEllipse (in GEOM_Object thePnt,
509 in GEOM_Object theVec,
511 in double theRMinor) ;
512 GEOM_Object MakeEllipseVec (in GEOM_Object thePnt,
513 in GEOM_Object theVec,
516 in GEOM_Object theVecMaj) ;
517 GEOM_Object MakeArc (in GEOM_Object thePnt1,
518 in GEOM_Object thePnt2,
519 in GEOM_Object thePnt3) ;
520 GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
521 in GEOM_Object thePnt1,
522 in GEOM_Object thePnt2,
523 in boolean theSense) ;
524 GEOM_Object MakeArcOfEllipse (in GEOM_Object theCenter,
525 in GEOM_Object thePnt1,
526 in GEOM_Object thePnt2) ;
527 GEOM_Object MakePolyline (in GEOM_List thePoints,
528 in boolean theIsClosed) ;
529 GEOM_Object MakeSplineBezier (in GEOM_List thePoints,
530 in boolean theIsClosed) ;
531 GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints,
532 in boolean theIsClosed,
533 in boolean theDoReordering) ;
534 GEOM_Object MakeSketcher (in string theCommand,
535 in GEOM_List theWorkingPlane) ;
537 //-----------------------------------------------------------//
538 // LocalOperations //
539 //-----------------------------------------------------------//
540 GEOM_Object MakeFilletAll (in GEOM_Object theShape,
542 GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
544 in GEOM_List theEdges) ;
545 GEOM_Object MakeFilletEdgesR1R2 (in GEOM_Object theShape,
548 in GEOM_List theEdges) ;
549 GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
551 in GEOM_List theFaces) ;
552 GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
555 in GEOM_List theFaces) ;
556 GEOM_Object MakeFillet2D (in GEOM_Object theShape,
558 in GEOM_List theVertexes) ;
559 GEOM_Object MakeChamferAll (in GEOM_Object theShape,
561 GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
562 in double theD1, in double theD2,
563 in long theFace1, in long theFace2) ;
564 GEOM_Object MakeChamferEdgeAD (in GEOM_Object theShape,
565 in double theD, in double theAngle,
566 in long theFace1, in long theFace2) ;
567 GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
568 in double theD1, in double theD2,
569 in GEOM_List theFaces) ;
570 GEOM_Object MakeChamferFacesAD (in GEOM_Object theShape,
571 in double theD, in double theAngle,
572 in GEOM_List theFaces) ;
573 GEOM_Object MakeChamferEdges (in GEOM_Object theShape,
574 in double theD1, in double theD2,
575 in GEOM_List theEdges) ;
576 GEOM_Object MakeChamferEdgesAD (in GEOM_Object theShape,
577 in double theD, in double theAngle,
578 in GEOM_List theEdges) ;
579 GEOM_Object MakeArchimede (in GEOM_Object theShape,
581 in double theWaterDensity,
582 in double theMeshDeflection) ;
583 long GetSubShapeIndex (in GEOM_Object theShape,
584 in GEOM_Object theSubShape) ;
586 //-----------------------------------------------------------//
587 // GroupOperations //
588 //-----------------------------------------------------------//
589 GEOM_Object CreateGroup (in GEOM_Object theMainShape,
590 in long theShapeType) ;
591 void AddObject (in GEOM_Object theGroup,
592 in long theSubShapeId) ;
593 void RemoveObject (in GEOM_Object theGroup,
594 in long theSubShapeId) ;
595 long GetType (in GEOM_Object theGroup) ;
596 GEOM_Object GetMainShape(in GEOM_Object theGroup) ;
597 GEOM_List GetObjects(in GEOM_Object theGroup) ;
599 //-----------------------------------------------------------//
600 // AdvancedOperations //
601 //-----------------------------------------------------------//
602 GEOM_List MakePipeTShape (in double theR1, in double theW1, in double theL1,
603 in double theR2, in double theW2, in double theL2,
604 in boolean theHexMesh);
606 GEOM_List MakePipeTShapeWithPosition (in double theR1, in double theW1, in double theL1,
607 in double theR2, in double theW2, in double theL2,
608 in boolean theHexMesh,
609 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
611 GEOM_List MakePipeTShapeChamfer (in double theR1, in double theW1, in double theL1,
612 in double theR2, in double theW2, in double theL2,
613 in double theH, in double theW, in boolean theHexMesh);
615 GEOM_List MakePipeTShapeChamferWithPosition (in double theR1, in double theW1, in double theL1,
616 in double theR2, in double theW2, in double theL2,
617 in double theH, in double theW, in boolean theHexMesh,
618 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
620 GEOM_List MakePipeTShapeFillet (in double theR1, in double theW1, in double theL1,
621 in double theR2, in double theW2, in double theL2,
622 in double theRF, in boolean theHexMesh);
624 GEOM_List MakePipeTShapeFilletWithPosition (in double theR1, in double theW1, in double theL1,
625 in double theR2, in double theW2, in double theL2,
626 in double theRF, in boolean theHexMesh,
627 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
629 GEOM_Object MakeDividedDisk (in double theR, in double theRatio, in short theOrientation,
630 in pattern thePattern);
632 GEOM_Object MakeDividedCylinder (in double theR, in double theH,
633 in pattern thePattern);
635 GEOM_Object MakeSmoothingSurface (in GEOM_List thelPoints);
637 //-----------------------------------------------------------//
638 // Import/Export Operations //
639 //-----------------------------------------------------------//
640 void ExportSTL( in GEOM::GEOM_Object theObject,
641 in string theFileName,
642 in boolean theIsASCII,
643 in double theDeflection,
644 in boolean theIsRelative );
645 GEOM_Object ImportSTL( in string theFileName );
647 void ExportBREP( in GEOM::GEOM_Object theObject,
648 in string theFileName );
649 GEOM_Object ImportBREP( in string theFileName );
651 void ExportSTEP( in GEOM::GEOM_Object theObject,
652 in string theFileName );
653 GEOM_Object ImportSTEP( in string theFileName,
654 in boolean theIsIgnoreUnits );
656 void ExportIGES( in GEOM::GEOM_Object theObject,
657 in string theFileName,
658 in string theVersion );
659 GEOM_Object ImportIGES( in string theFileName,
660 in boolean theIsIgnoreUnits );
662 boolean ExportXAO( in GEOM_Object shape,
664 in ListOfFields fields,
667 in string shapeFileName );
668 boolean ImportXAO( in string fileName,
669 out GEOM_Object shape,
670 out ListOfGO subShapes,
672 out ListOfFields fields );
674 void ExportVTK( in GEOM::GEOM_Object theObject,
675 in string theFileName,
676 in double theDeflection );
678 //-----------------------------------------------------------//
679 // Measure Operations //
680 //-----------------------------------------------------------//
681 GEOM_List PatchFace(in GEOM_Object theShape);
683 /*@@ insert new functions before this line @@ do not remove this line @@*/