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