1 // Copyright (C) 2007-2014 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"
35 interface GEOM_Superv : Engines::EngineComponent,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);
75 GEOM_Object MakePointOnCurveByLength (in GEOM_Object theRefCurve,
77 in GEOM_Object theStartPoint);
79 GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve,
80 in double theParameter);
82 GEOM_Object MakeVectorDXDYDZ (in double theDX,
85 GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1,
86 in GEOM_Object thePnt2) ;
87 GEOM_Object MakeLineTwoPnt (in GEOM_Object thePnt1,
88 in GEOM_Object thePnt2) ;
89 GEOM_Object MakeLineTwoFaces (in GEOM_Object theFace1,
90 in GEOM_Object theFace2) ;
91 GEOM_Object MakePlaneThreePnt (in GEOM_Object thePnt1,
92 in GEOM_Object thePnt2,
93 in GEOM_Object thePnt3,
94 in double theTrimSize) ;
95 GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
96 in GEOM_Object theVec,
97 in double theTrimSize) ;
98 GEOM_Object MakePlaneFace (in GEOM_Object theFace,
99 in double theTrimSize) ;
100 GEOM_Object MakePlane2Vec (in GEOM_Object theVec1,
101 in GEOM_Object theVec2,
102 in double theTrimSize) ;
103 GEOM_Object MakePlaneLCS (in GEOM_Object theLCS,
104 in double theTrimSize,
105 in double theOrientation) ;
106 GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
107 in double theXDX, in double theXDY, in double theXDZ,
108 in double theYDX, in double theYDY, in double theYDZ) ;
110 GEOM_Object MakeMarkerFromShape (in GEOM_Object theShape) ;
112 GEOM_Object MakeMarkerPntTwoVec (in GEOM_Object theOrigin,
113 in GEOM_Object theXVec,
114 in GEOM_Object theYVec) ;
117 * Create a tangent plane to specified face in the point with specified parameters.
118 * Values of parameters should be between 0. and 1.0
119 * \param theFace - face for which tangent plane shuold be built.
120 * \param theParameterU - value of parameter by U
121 * \param theParameterV - value of parameter Vthe
122 * \param theTrimSize - defines sizes of created face
123 * \return New GEOM_Object, containing the face built on tangent plane.
125 GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace,
126 in double theParameterU,
127 in double theParameterV,
128 in double theTrimSize);
130 //-----------------------------------------------------------//
131 // Primitives Construction : 3DPrimOperations //
132 //-----------------------------------------------------------//
133 GEOM_Object MakeBox (in double theX1,
139 GEOM_Object MakeBoxDXDYDZ (in double theDX,
142 GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1,
143 in GEOM_Object thePnt2) ;
144 GEOM_Object MakeFaceHW (in double theH,
146 in short theOrientation) ;
147 GEOM_Object MakeFaceObjHW (in GEOM_Object theObj,
150 GEOM_Object MakeDiskPntVecR (in GEOM_Object thePnt,
151 in GEOM_Object theVec,
153 GEOM_Object MakeDiskThreePnt (in GEOM_Object thePnt1,
154 in GEOM_Object thePnt2,
155 in GEOM_Object thePnt3) ;
156 GEOM_Object MakeDiskR (in double theR,
157 in short theOrientation) ;
158 GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
159 in GEOM_Object theAxis,
161 in double theHeight) ;
162 GEOM_Object MakeCylinderRH (in double theR,
164 GEOM_Object MakeCylinderPntVecRHA (in GEOM_Object thePnt,
165 in GEOM_Object theAxis,
168 in double theAngle) ;
169 GEOM_Object MakeCylinderRHA (in double theR,
172 GEOM_Object MakeSphere (in double theX,
175 in double theRadius) ;
176 GEOM_Object MakeSphereR (in double theR) ;
177 GEOM_Object MakeSpherePntR (in GEOM_Object thePnt,
179 GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
180 in GEOM_Object theVec,
182 in double theRMinor) ;
183 GEOM_Object MakeTorusRR (in double theRMajor,
184 in double theRMinor) ;
185 GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
186 in GEOM_Object theAxis,
189 in double theHeight) ;
190 GEOM_Object MakeConeR1R2H (in double theR1,
192 in double theHeight) ;
193 GEOM_Object MakePrismVecH (in GEOM_Object theBase,
194 in GEOM_Object theVec,
196 GEOM_Object MakePrismVecH2Ways (in GEOM_Object theBase,
197 in GEOM_Object theVec,
199 GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
200 in GEOM_Object thePoint1,
201 in GEOM_Object thePoint2) ;
202 GEOM_Object MakePrismTwoPnt2Ways (in GEOM_Object theBase,
203 in GEOM_Object thePoint1,
204 in GEOM_Object thePoint2) ;
205 GEOM_Object MakePipe (in GEOM_Object theBase,
206 in GEOM_Object thePath) ;
207 GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
208 in GEOM_Object theAxis,
209 in double theAngle) ;
210 GEOM_Object MakeRevolutionAxisAngle2Ways (in GEOM_Object theBase,
211 in GEOM_Object theAxis,
212 in double theAngle) ;
213 GEOM_Object MakeFilling (in GEOM_Object theShape,
214 in long theMinDeg, in long theMaxDeg,
215 in double theTol2D, in double theTol3D,
217 in filling_oper_method theMethod,
218 in boolean theApprox) ;
219 GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
220 in boolean theModeSolid,
222 in boolean theRuled);
224 GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
225 in ListOfGO theLocations,
226 in GEOM_Object thePath,
227 in boolean theWithContact ,
228 in boolean theWithCorrection );
230 GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
231 in ListOfGO theSeqSubBases,
232 in ListOfGO theLocations,
233 in GEOM_Object thePath,
234 in boolean theWithContact ,
235 in boolean theWithCorrection );
237 GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
238 in ListOfGO theLocations );
240 GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase,
241 in GEOM_Object thePath,
242 in GEOM_Object theVec);
244 //-----------------------------------------------------------//
245 // BooleanOperations //
246 //-----------------------------------------------------------//
247 GEOM_Object MakeBoolean (in GEOM_Object theShape1,
248 in GEOM_Object theShape2,
249 in long theOperation) ;
250 GEOM_Object MakeFuse (in GEOM_Object theShape1,
251 in GEOM_Object theShape2) ;
252 GEOM_Object MakeCommon (in GEOM_Object theShape1,
253 in GEOM_Object theShape2) ;
254 GEOM_Object MakeCut (in GEOM_Object theShape1,
255 in GEOM_Object theShape2) ;
256 GEOM_Object MakeSection (in GEOM_Object theShape1,
257 in GEOM_Object theShape2) ;
258 GEOM_Object MakePartition (in GEOM_List theShapes,
259 in GEOM_List theTools,
260 in GEOM_List theKeepInside,
261 in GEOM_List theRemoveInside,
263 in boolean theRemoveWebs,
264 in GEOM_List theMaterials,
265 in short theKeepNonlimitShapes);
266 GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
267 in GEOM_Object thePlane) ;
269 //-----------------------------------------------------------//
270 // InsertOperations //
271 //-----------------------------------------------------------//
272 GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
273 void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
274 GEOM_Object ImportFile (in string theFileName, in string theFormatName) ;
275 void ImportTranslators (out string_array theFormats,
276 out string_array thePatterns) ;
277 void ExportTranslators (out string_array theFormats,
278 out string_array thePatterns) ;
279 boolean ExportXAO(in GEOM_Object shape,
280 in ListOfGO groups, in ListOfFields fields,
281 in string author, in string fileName);
282 boolean ImportXAO(in string fileName, out GEOM_Object shape,
283 out ListOfGO subShapes, out ListOfGO groups, out ListOfFields fields);
285 //-----------------------------------------------------------//
286 // TransformOperations //
287 //-----------------------------------------------------------//
288 GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
289 in GEOM_Object thePoint1,
290 in GEOM_Object thePoint2) ;
291 GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
292 in GEOM_Object thePoint1,
293 in GEOM_Object thePoint2) ;
294 GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
298 GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
302 GEOM_Object TranslateVector (in GEOM_Object theObject,
303 in GEOM_Object theVector) ;
304 GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
305 in GEOM_Object theVector) ;
306 GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
307 in GEOM_Object theVector,
308 in double theDistance,
309 in boolean theCopy) ;
310 GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
311 in GEOM_Object theVector,
313 in long theNbTimes) ;
314 GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
315 in GEOM_Object theVector1,
318 in GEOM_Object theVector2,
320 in long theNbTimes2) ;
321 GEOM_Object Rotate (in GEOM_Object theObject,
322 in GEOM_Object theAxis,
323 in double theAngle) ;
324 GEOM_Object RotateCopy (in GEOM_Object theObject,
325 in GEOM_Object theAxis,
326 in double theAngle) ;
327 GEOM_Object RotateThreePoints (in GEOM_Object theObject,
328 in GEOM_Object theCentPoint,
329 in GEOM_Object thePoint1,
330 in GEOM_Object thePoint2);
331 GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
332 in GEOM_Object theCentPoint,
333 in GEOM_Object thePoint1,
334 in GEOM_Object thePoint2);
335 GEOM_Object MultiRotate1D (in GEOM_Object theObject,
336 in GEOM_Object theAxis,
337 in long theNbTimes) ;
338 GEOM_Object MultiRotate2D (in GEOM_Object theObject,
339 in GEOM_Object theAxis,
343 in long theNbTimes2) ;
344 GEOM_Object MirrorPlane (in GEOM_Object theObject,
345 in GEOM_Object thePlane) ;
346 GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject,
347 in GEOM_Object thePlane) ;
348 GEOM_Object MirrorAxis (in GEOM_Object theObject,
349 in GEOM_Object theAxis) ;
350 GEOM_Object MirrorAxisCopy (in GEOM_Object theObject,
351 in GEOM_Object theAxis) ;
352 GEOM_Object MirrorPoint (in GEOM_Object theObject,
353 in GEOM_Object thePoint) ;
354 GEOM_Object MirrorPointCopy (in GEOM_Object theObject,
355 in GEOM_Object thePoint) ;
356 GEOM_Object OffsetShape (in GEOM_Object theObject,
357 in double theOffset) ;
358 GEOM_Object OffsetShapeCopy (in GEOM_Object theObject,
359 in double theOffset) ;
360 GEOM_Object ScaleShape (in GEOM_Object theObject,
361 in GEOM_Object thePoint,
362 in double theFactor) ;
363 GEOM_Object ScaleShapeCopy (in GEOM_Object theObject,
364 in GEOM_Object thePoint,
365 in double theFactor) ;
366 GEOM_Object ScaleShapeAlongAxes (in GEOM_Object theObject,
367 in GEOM_Object thePoint,
368 in double theFactorX,
369 in double theFactorY,
370 in double theFactorZ);
371 GEOM_Object ScaleShapeAlongAxesCopy (in GEOM_Object theObject,
372 in GEOM_Object thePoint,
373 in double theFactorX,
374 in double theFactorY,
375 in double theFactorZ);
376 GEOM_Object PositionShape (in GEOM_Object theObject,
377 in GEOM_Object theStartLCS,
378 in GEOM_Object theEndLCS) ;
379 GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
380 in GEOM_Object theStartLCS,
381 in GEOM_Object theEndLCS) ;
382 GEOM_Object PositionAlongPath (in GEOM_Object theObject,
383 in GEOM_Object thePath,
384 in double theDistance,
386 in boolean theReverse);
388 //-----------------------------------------------------------//
389 // ShapesOperations //
390 //-----------------------------------------------------------//
391 GEOM_Object MakeEdge (in GEOM_Object thePnt1,
392 in GEOM_Object thePnt2) ;
393 GEOM_Object MakeEdgeOnCurveByLength (in GEOM_Object theRefCurve,
395 in GEOM_Object theStartPoint);
396 GEOM_Object MakeWire (in GEOM_List theEdgesAndWires,
397 in double theTolerance) ;
398 GEOM_Object MakeFace (in GEOM_Object theWire,
399 in boolean isPlanarWanted) ;
400 GEOM_Object MakeFaceWires (in GEOM_List theWires,
401 in boolean isPlanarWanted) ;
402 GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
403 GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
404 GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
405 GEOM_Object MakeCompound (in GEOM_List theShapes) ;
406 GEOM_Object MakeGlueFaces (in GEOM_Object theShape,
407 in double theTolerance,
408 in boolean doKeepNonSolids);
409 GEOM_List GetGlueFaces (in GEOM_Object theShape,
410 in double theTolerance);
411 GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape,
412 in double theTolerance,
413 in ListOfGO theFaces,
414 in boolean doKeepNonSolids,
415 in boolean doGlueAllEdges);
416 GEOM_List MakeExplode (in GEOM_Object theShape,
417 in long theShapeType,
418 in boolean isSorted) ;
419 long NumberOfFaces (in GEOM_Object theShape) ;
420 long NumberOfEdges (in GEOM_Object theShape) ;
421 GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
423 GEOM_List GetShapesOnShape (in GEOM_Object theCheckShape,
424 in GEOM_Object theShape,
425 in short theShapeType,
426 in shape_state theState);
427 GEOM_Object GetShapesOnShapeAsCompound (in GEOM_Object theCheckShape,
428 in GEOM_Object theShape,
429 in short theShapeType,
430 in shape_state theState);
432 //-----------------------------------------------------------//
433 // BlocksOperations //
434 //-----------------------------------------------------------//
435 GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
436 in GEOM_Object thePnt2,
437 in GEOM_Object thePnt3,
438 in GEOM_Object thePnt4) ;
439 GEOM_Object MakeQuad (in GEOM_Object theEdge1,
440 in GEOM_Object theEdge2,
441 in GEOM_Object theEdge3,
442 in GEOM_Object theEdge4) ;
443 GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
444 in GEOM_Object theEdge2) ;
445 GEOM_Object MakeHexa (in GEOM_Object theFace1,
446 in GEOM_Object theFace2,
447 in GEOM_Object theFace3,
448 in GEOM_Object theFace4,
449 in GEOM_Object theFace5,
450 in GEOM_Object theFace6) ;
451 GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
452 in GEOM_Object theFace2) ;
453 GEOM_Object GetPoint (in GEOM_Object theShape,
457 in double theEpsilon) ;
458 GEOM_Object GetEdge (in GEOM_Object theShape,
459 in GEOM_Object thePoint1,
460 in GEOM_Object thePoint2) ;
461 GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
462 in GEOM_Object thePoint) ;
463 GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
464 in GEOM_Object thePoint1,
465 in GEOM_Object thePoint2,
466 in GEOM_Object thePoint3,
467 in GEOM_Object thePoint4) ;
468 GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
469 in GEOM_Object theEdge1,
470 in GEOM_Object theEdge2) ;
471 GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
472 in GEOM_Object theFace) ;
473 GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
474 in GEOM_Object thePoint) ;
475 GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
476 in GEOM_Object theVector) ;
477 boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
478 in long theMinNbFaces,
479 in long theMaxNbFaces,
480 out long theNbBlocks) ;
481 boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
482 out GEOM_IBlocksOperations::BCErrors theErrors) ;
483 string PrintBCErrors (in GEOM_Object theCompound,
484 in GEOM_IBlocksOperations::BCErrors theErrors) ;
485 GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
486 in long theMinNbFaces,
487 in long theMaxNbFaces) ;
488 GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
489 in GEOM_Object thePoint) ;
490 GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
491 in GEOM_List theParts) ;
492 GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
493 in GEOM_List theParts) ;
494 GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
497 in long theNbTimes) ;
498 GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
499 in long theDirFace1U,
500 in long theDirFace2U,
502 in long theDirFace1V,
503 in long theDirFace2V,
504 in long theNbTimesV) ;
506 //-----------------------------------------------------------//
507 // CurvesOperations //
508 //-----------------------------------------------------------//
509 GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
510 in GEOM_Object theVec,
512 GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
513 in GEOM_Object thePnt2,
514 in GEOM_Object thePnt3) ;
515 GEOM_Object MakeCircleCenter2Pnt (in GEOM_Object thePnt1,
516 in GEOM_Object thePnt2,
517 in GEOM_Object thePnt3) ;
518 GEOM_Object MakeEllipse (in GEOM_Object thePnt,
519 in GEOM_Object theVec,
521 in double theRMinor) ;
522 GEOM_Object MakeEllipseVec (in GEOM_Object thePnt,
523 in GEOM_Object theVec,
526 in GEOM_Object theVecMaj) ;
527 GEOM_Object MakeArc (in GEOM_Object thePnt1,
528 in GEOM_Object thePnt2,
529 in GEOM_Object thePnt3) ;
530 GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
531 in GEOM_Object thePnt1,
532 in GEOM_Object thePnt2,
533 in boolean theSense) ;
534 GEOM_Object MakeArcOfEllipse (in GEOM_Object theCenter,
535 in GEOM_Object thePnt1,
536 in GEOM_Object thePnt2) ;
537 GEOM_Object MakePolyline (in GEOM_List thePoints,
538 in boolean theIsClosed) ;
539 GEOM_Object MakeSplineBezier (in GEOM_List thePoints,
540 in boolean theIsClosed) ;
541 GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints,
542 in boolean theIsClosed,
543 in boolean theDoReordering) ;
544 GEOM_Object MakeSketcher (in string theCommand,
545 in GEOM_List theWorkingPlane) ;
547 //-----------------------------------------------------------//
548 // LocalOperations //
549 //-----------------------------------------------------------//
550 GEOM_Object MakeFilletAll (in GEOM_Object theShape,
552 GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
554 in GEOM_List theEdges) ;
555 GEOM_Object MakeFilletEdgesR1R2 (in GEOM_Object theShape,
558 in GEOM_List theEdges) ;
559 GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
561 in GEOM_List theFaces) ;
562 GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
565 in GEOM_List theFaces) ;
566 GEOM_Object MakeFillet2D (in GEOM_Object theShape,
568 in GEOM_List theVertexes) ;
569 GEOM_Object MakeChamferAll (in GEOM_Object theShape,
571 GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
572 in double theD1, in double theD2,
573 in long theFace1, in long theFace2) ;
574 GEOM_Object MakeChamferEdgeAD (in GEOM_Object theShape,
575 in double theD, in double theAngle,
576 in long theFace1, in long theFace2) ;
577 GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
578 in double theD1, in double theD2,
579 in GEOM_List theFaces) ;
580 GEOM_Object MakeChamferFacesAD (in GEOM_Object theShape,
581 in double theD, in double theAngle,
582 in GEOM_List theFaces) ;
583 GEOM_Object MakeChamferEdges (in GEOM_Object theShape,
584 in double theD1, in double theD2,
585 in GEOM_List theEdges) ;
586 GEOM_Object MakeChamferEdgesAD (in GEOM_Object theShape,
587 in double theD, in double theAngle,
588 in GEOM_List theEdges) ;
589 GEOM_Object MakeArchimede (in GEOM_Object theShape,
591 in double theWaterDensity,
592 in double theMeshDeflection) ;
593 long GetSubShapeIndex (in GEOM_Object theShape,
594 in GEOM_Object theSubShape) ;
596 //-----------------------------------------------------------//
597 // GroupOperations //
598 //-----------------------------------------------------------//
599 GEOM_Object CreateGroup (in GEOM_Object theMainShape,
600 in long theShapeType) ;
601 void AddObject (in GEOM_Object theGroup,
602 in long theSubShapeId) ;
603 void RemoveObject (in GEOM_Object theGroup,
604 in long theSubShapeId) ;
605 long GetType (in GEOM_Object theGroup) ;
606 GEOM_Object GetMainShape(in GEOM_Object theGroup) ;
607 GEOM_List GetObjects(in GEOM_Object theGroup) ;
609 //-----------------------------------------------------------//
610 // AdvancedOperations //
611 //-----------------------------------------------------------//
612 GEOM_List MakePipeTShape (in double theR1, in double theW1, in double theL1,
613 in double theR2, in double theW2, in double theL2,
614 in boolean theHexMesh);
616 GEOM_List MakePipeTShapeWithPosition (in double theR1, in double theW1, in double theL1,
617 in double theR2, in double theW2, in double theL2,
618 in boolean theHexMesh,
619 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
621 GEOM_List MakePipeTShapeChamfer (in double theR1, in double theW1, in double theL1,
622 in double theR2, in double theW2, in double theL2,
623 in double theH, in double theW, in boolean theHexMesh);
625 GEOM_List MakePipeTShapeChamferWithPosition (in double theR1, in double theW1, in double theL1,
626 in double theR2, in double theW2, in double theL2,
627 in double theH, in double theW, in boolean theHexMesh,
628 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
630 GEOM_List MakePipeTShapeFillet (in double theR1, in double theW1, in double theL1,
631 in double theR2, in double theW2, in double theL2,
632 in double theRF, in boolean theHexMesh);
634 GEOM_List MakePipeTShapeFilletWithPosition (in double theR1, in double theW1, in double theL1,
635 in double theR2, in double theW2, in double theL2,
636 in double theRF, in boolean theHexMesh,
637 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
639 GEOM_Object MakeDividedDisk (in double theR, in double theRatio, in short theOrientation,
640 in pattern thePattern);
642 GEOM_Object MakeDividedCylinder (in double theR, in double theH,
643 in pattern thePattern);
645 GEOM_Object MakeSmoothingSurface (in GEOM_List thelPoints);
647 /*@@ insert new functions before this line @@ do not remove this line @@*/