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,
162 in double theAngle) ;
163 GEOM_Object MakeCylinderRH (in double theR,
166 GEOM_Object MakeSphere (in double theX,
169 in double theRadius) ;
170 GEOM_Object MakeSphereR (in double theR) ;
171 GEOM_Object MakeSpherePntR (in GEOM_Object thePnt,
173 GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
174 in GEOM_Object theVec,
176 in double theRMinor) ;
177 GEOM_Object MakeTorusRR (in double theRMajor,
178 in double theRMinor) ;
179 GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
180 in GEOM_Object theAxis,
183 in double theHeight) ;
184 GEOM_Object MakeConeR1R2H (in double theR1,
186 in double theHeight) ;
187 GEOM_Object MakePrismVecH (in GEOM_Object theBase,
188 in GEOM_Object theVec,
190 GEOM_Object MakePrismVecH2Ways (in GEOM_Object theBase,
191 in GEOM_Object theVec,
193 GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
194 in GEOM_Object thePoint1,
195 in GEOM_Object thePoint2) ;
196 GEOM_Object MakePrismTwoPnt2Ways (in GEOM_Object theBase,
197 in GEOM_Object thePoint1,
198 in GEOM_Object thePoint2) ;
199 GEOM_Object MakePipe (in GEOM_Object theBase,
200 in GEOM_Object thePath) ;
201 GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
202 in GEOM_Object theAxis,
203 in double theAngle) ;
204 GEOM_Object MakeRevolutionAxisAngle2Ways (in GEOM_Object theBase,
205 in GEOM_Object theAxis,
206 in double theAngle) ;
207 GEOM_Object MakeFilling (in GEOM_Object theShape,
208 in long theMinDeg, in long theMaxDeg,
209 in double theTol2D, in double theTol3D,
211 in filling_oper_method theMethod,
212 in boolean theApprox) ;
213 GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
214 in boolean theModeSolid,
216 in boolean theRuled);
218 GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
219 in ListOfGO theLocations,
220 in GEOM_Object thePath,
221 in boolean theWithContact ,
222 in boolean theWithCorrection );
224 GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
225 in ListOfGO theSeqSubBases,
226 in ListOfGO theLocations,
227 in GEOM_Object thePath,
228 in boolean theWithContact ,
229 in boolean theWithCorrection );
231 GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
232 in ListOfGO theLocations );
234 GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase,
235 in GEOM_Object thePath,
236 in GEOM_Object theVec);
238 //-----------------------------------------------------------//
239 // BooleanOperations //
240 //-----------------------------------------------------------//
241 GEOM_Object MakeBoolean (in GEOM_Object theShape1,
242 in GEOM_Object theShape2,
243 in long theOperation) ;
244 GEOM_Object MakeFuse (in GEOM_Object theShape1,
245 in GEOM_Object theShape2) ;
246 GEOM_Object MakeCommon (in GEOM_Object theShape1,
247 in GEOM_Object theShape2) ;
248 GEOM_Object MakeCut (in GEOM_Object theShape1,
249 in GEOM_Object theShape2) ;
250 GEOM_Object MakeSection (in GEOM_Object theShape1,
251 in GEOM_Object theShape2) ;
252 GEOM_Object MakePartition (in GEOM_List theShapes,
253 in GEOM_List theTools,
254 in GEOM_List theKeepInside,
255 in GEOM_List theRemoveInside,
257 in boolean theRemoveWebs,
258 in GEOM_List theMaterials,
259 in short theKeepNonlimitShapes);
260 GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
261 in GEOM_Object thePlane) ;
263 //-----------------------------------------------------------//
264 // InsertOperations //
265 //-----------------------------------------------------------//
266 GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
267 void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
268 GEOM_Object ImportFile (in string theFileName, in string theFormatName) ;
269 void ImportTranslators (out string_array theFormats,
270 out string_array thePatterns) ;
271 void ExportTranslators (out string_array theFormats,
272 out string_array thePatterns) ;
273 boolean ExportXAO(in GEOM_Object shape,
274 in ListOfGO groups, in ListOfFields fields,
275 in string author, in string fileName);
276 boolean ImportXAO(in string fileName, out GEOM_Object shape,
277 out ListOfGO subShapes, out ListOfGO groups, out ListOfFields fields);
279 //-----------------------------------------------------------//
280 // TransformOperations //
281 //-----------------------------------------------------------//
282 GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
283 in GEOM_Object thePoint1,
284 in GEOM_Object thePoint2) ;
285 GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
286 in GEOM_Object thePoint1,
287 in GEOM_Object thePoint2) ;
288 GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
292 GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
296 GEOM_Object TranslateVector (in GEOM_Object theObject,
297 in GEOM_Object theVector) ;
298 GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
299 in GEOM_Object theVector) ;
300 GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
301 in GEOM_Object theVector,
302 in double theDistance,
303 in boolean theCopy) ;
304 GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
305 in GEOM_Object theVector,
307 in long theNbTimes) ;
308 GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
309 in GEOM_Object theVector1,
312 in GEOM_Object theVector2,
314 in long theNbTimes2) ;
315 GEOM_Object Rotate (in GEOM_Object theObject,
316 in GEOM_Object theAxis,
317 in double theAngle) ;
318 GEOM_Object RotateCopy (in GEOM_Object theObject,
319 in GEOM_Object theAxis,
320 in double theAngle) ;
321 GEOM_Object RotateThreePoints (in GEOM_Object theObject,
322 in GEOM_Object theCentPoint,
323 in GEOM_Object thePoint1,
324 in GEOM_Object thePoint2);
325 GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
326 in GEOM_Object theCentPoint,
327 in GEOM_Object thePoint1,
328 in GEOM_Object thePoint2);
329 GEOM_Object MultiRotate1D (in GEOM_Object theObject,
330 in GEOM_Object theAxis,
331 in long theNbTimes) ;
332 GEOM_Object MultiRotate2D (in GEOM_Object theObject,
333 in GEOM_Object theAxis,
337 in long theNbTimes2) ;
338 GEOM_Object MirrorPlane (in GEOM_Object theObject,
339 in GEOM_Object thePlane) ;
340 GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject,
341 in GEOM_Object thePlane) ;
342 GEOM_Object MirrorAxis (in GEOM_Object theObject,
343 in GEOM_Object theAxis) ;
344 GEOM_Object MirrorAxisCopy (in GEOM_Object theObject,
345 in GEOM_Object theAxis) ;
346 GEOM_Object MirrorPoint (in GEOM_Object theObject,
347 in GEOM_Object thePoint) ;
348 GEOM_Object MirrorPointCopy (in GEOM_Object theObject,
349 in GEOM_Object thePoint) ;
350 GEOM_Object OffsetShape (in GEOM_Object theObject,
351 in double theOffset) ;
352 GEOM_Object OffsetShapeCopy (in GEOM_Object theObject,
353 in double theOffset) ;
354 GEOM_Object ScaleShape (in GEOM_Object theObject,
355 in GEOM_Object thePoint,
356 in double theFactor) ;
357 GEOM_Object ScaleShapeCopy (in GEOM_Object theObject,
358 in GEOM_Object thePoint,
359 in double theFactor) ;
360 GEOM_Object ScaleShapeAlongAxes (in GEOM_Object theObject,
361 in GEOM_Object thePoint,
362 in double theFactorX,
363 in double theFactorY,
364 in double theFactorZ);
365 GEOM_Object ScaleShapeAlongAxesCopy (in GEOM_Object theObject,
366 in GEOM_Object thePoint,
367 in double theFactorX,
368 in double theFactorY,
369 in double theFactorZ);
370 GEOM_Object PositionShape (in GEOM_Object theObject,
371 in GEOM_Object theStartLCS,
372 in GEOM_Object theEndLCS) ;
373 GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
374 in GEOM_Object theStartLCS,
375 in GEOM_Object theEndLCS) ;
376 GEOM_Object PositionAlongPath (in GEOM_Object theObject,
377 in GEOM_Object thePath,
378 in double theDistance,
380 in boolean theReverse);
382 //-----------------------------------------------------------//
383 // ShapesOperations //
384 //-----------------------------------------------------------//
385 GEOM_Object MakeEdge (in GEOM_Object thePnt1,
386 in GEOM_Object thePnt2) ;
387 GEOM_Object MakeEdgeOnCurveByLength (in GEOM_Object theRefCurve,
389 in GEOM_Object theStartPoint);
390 GEOM_Object MakeWire (in GEOM_List theEdgesAndWires,
391 in double theTolerance) ;
392 GEOM_Object MakeFace (in GEOM_Object theWire,
393 in boolean isPlanarWanted) ;
394 GEOM_Object MakeFaceWires (in GEOM_List theWires,
395 in boolean isPlanarWanted) ;
396 GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
397 GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
398 GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
399 GEOM_Object MakeCompound (in GEOM_List theShapes) ;
400 GEOM_Object MakeGlueFaces (in GEOM_Object theShape,
401 in double theTolerance,
402 in boolean doKeepNonSolids);
403 GEOM_List GetGlueFaces (in GEOM_Object theShape,
404 in double theTolerance);
405 GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape,
406 in double theTolerance,
407 in ListOfGO theFaces,
408 in boolean doKeepNonSolids,
409 in boolean doGlueAllEdges);
410 GEOM_List MakeExplode (in GEOM_Object theShape,
411 in long theShapeType,
412 in boolean isSorted) ;
413 long NumberOfFaces (in GEOM_Object theShape) ;
414 long NumberOfEdges (in GEOM_Object theShape) ;
415 GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
417 GEOM_List GetShapesOnShape (in GEOM_Object theCheckShape,
418 in GEOM_Object theShape,
419 in short theShapeType,
420 in shape_state theState);
421 GEOM_Object GetShapesOnShapeAsCompound (in GEOM_Object theCheckShape,
422 in GEOM_Object theShape,
423 in short theShapeType,
424 in shape_state theState);
426 //-----------------------------------------------------------//
427 // BlocksOperations //
428 //-----------------------------------------------------------//
429 GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
430 in GEOM_Object thePnt2,
431 in GEOM_Object thePnt3,
432 in GEOM_Object thePnt4) ;
433 GEOM_Object MakeQuad (in GEOM_Object theEdge1,
434 in GEOM_Object theEdge2,
435 in GEOM_Object theEdge3,
436 in GEOM_Object theEdge4) ;
437 GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
438 in GEOM_Object theEdge2) ;
439 GEOM_Object MakeHexa (in GEOM_Object theFace1,
440 in GEOM_Object theFace2,
441 in GEOM_Object theFace3,
442 in GEOM_Object theFace4,
443 in GEOM_Object theFace5,
444 in GEOM_Object theFace6) ;
445 GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
446 in GEOM_Object theFace2) ;
447 GEOM_Object GetPoint (in GEOM_Object theShape,
451 in double theEpsilon) ;
452 GEOM_Object GetEdge (in GEOM_Object theShape,
453 in GEOM_Object thePoint1,
454 in GEOM_Object thePoint2) ;
455 GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
456 in GEOM_Object thePoint) ;
457 GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
458 in GEOM_Object thePoint1,
459 in GEOM_Object thePoint2,
460 in GEOM_Object thePoint3,
461 in GEOM_Object thePoint4) ;
462 GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
463 in GEOM_Object theEdge1,
464 in GEOM_Object theEdge2) ;
465 GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
466 in GEOM_Object theFace) ;
467 GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
468 in GEOM_Object thePoint) ;
469 GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
470 in GEOM_Object theVector) ;
471 boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
472 in long theMinNbFaces,
473 in long theMaxNbFaces,
474 out long theNbBlocks) ;
475 boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
476 out GEOM_IBlocksOperations::BCErrors theErrors) ;
477 string PrintBCErrors (in GEOM_Object theCompound,
478 in GEOM_IBlocksOperations::BCErrors theErrors) ;
479 GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
480 in long theMinNbFaces,
481 in long theMaxNbFaces) ;
482 GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
483 in GEOM_Object thePoint) ;
484 GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
485 in GEOM_List theParts) ;
486 GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
487 in GEOM_List theParts) ;
488 GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
491 in long theNbTimes) ;
492 GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
493 in long theDirFace1U,
494 in long theDirFace2U,
496 in long theDirFace1V,
497 in long theDirFace2V,
498 in long theNbTimesV) ;
500 //-----------------------------------------------------------//
501 // CurvesOperations //
502 //-----------------------------------------------------------//
503 GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
504 in GEOM_Object theVec,
506 GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
507 in GEOM_Object thePnt2,
508 in GEOM_Object thePnt3) ;
509 GEOM_Object MakeCircleCenter2Pnt (in GEOM_Object thePnt1,
510 in GEOM_Object thePnt2,
511 in GEOM_Object thePnt3) ;
512 GEOM_Object MakeEllipse (in GEOM_Object thePnt,
513 in GEOM_Object theVec,
515 in double theRMinor) ;
516 GEOM_Object MakeEllipseVec (in GEOM_Object thePnt,
517 in GEOM_Object theVec,
520 in GEOM_Object theVecMaj) ;
521 GEOM_Object MakeArc (in GEOM_Object thePnt1,
522 in GEOM_Object thePnt2,
523 in GEOM_Object thePnt3) ;
524 GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
525 in GEOM_Object thePnt1,
526 in GEOM_Object thePnt2,
527 in boolean theSense) ;
528 GEOM_Object MakeArcOfEllipse (in GEOM_Object theCenter,
529 in GEOM_Object thePnt1,
530 in GEOM_Object thePnt2) ;
531 GEOM_Object MakePolyline (in GEOM_List thePoints,
532 in boolean theIsClosed) ;
533 GEOM_Object MakeSplineBezier (in GEOM_List thePoints,
534 in boolean theIsClosed) ;
535 GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints,
536 in boolean theIsClosed,
537 in boolean theDoReordering) ;
538 GEOM_Object MakeSketcher (in string theCommand,
539 in GEOM_List theWorkingPlane) ;
541 //-----------------------------------------------------------//
542 // LocalOperations //
543 //-----------------------------------------------------------//
544 GEOM_Object MakeFilletAll (in GEOM_Object theShape,
546 GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
548 in GEOM_List theEdges) ;
549 GEOM_Object MakeFilletEdgesR1R2 (in GEOM_Object theShape,
552 in GEOM_List theEdges) ;
553 GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
555 in GEOM_List theFaces) ;
556 GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
559 in GEOM_List theFaces) ;
560 GEOM_Object MakeFillet2D (in GEOM_Object theShape,
562 in GEOM_List theVertexes) ;
563 GEOM_Object MakeChamferAll (in GEOM_Object theShape,
565 GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
566 in double theD1, in double theD2,
567 in long theFace1, in long theFace2) ;
568 GEOM_Object MakeChamferEdgeAD (in GEOM_Object theShape,
569 in double theD, in double theAngle,
570 in long theFace1, in long theFace2) ;
571 GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
572 in double theD1, in double theD2,
573 in GEOM_List theFaces) ;
574 GEOM_Object MakeChamferFacesAD (in GEOM_Object theShape,
575 in double theD, in double theAngle,
576 in GEOM_List theFaces) ;
577 GEOM_Object MakeChamferEdges (in GEOM_Object theShape,
578 in double theD1, in double theD2,
579 in GEOM_List theEdges) ;
580 GEOM_Object MakeChamferEdgesAD (in GEOM_Object theShape,
581 in double theD, in double theAngle,
582 in GEOM_List theEdges) ;
583 GEOM_Object MakeArchimede (in GEOM_Object theShape,
585 in double theWaterDensity,
586 in double theMeshDeflection) ;
587 long GetSubShapeIndex (in GEOM_Object theShape,
588 in GEOM_Object theSubShape) ;
590 //-----------------------------------------------------------//
591 // GroupOperations //
592 //-----------------------------------------------------------//
593 GEOM_Object CreateGroup (in GEOM_Object theMainShape,
594 in long theShapeType) ;
595 void AddObject (in GEOM_Object theGroup,
596 in long theSubShapeId) ;
597 void RemoveObject (in GEOM_Object theGroup,
598 in long theSubShapeId) ;
599 long GetType (in GEOM_Object theGroup) ;
600 GEOM_Object GetMainShape(in GEOM_Object theGroup) ;
601 GEOM_List GetObjects(in GEOM_Object theGroup) ;
603 //-----------------------------------------------------------//
604 // AdvancedOperations //
605 //-----------------------------------------------------------//
606 GEOM_List MakePipeTShape (in double theR1, in double theW1, in double theL1,
607 in double theR2, in double theW2, in double theL2,
608 in boolean theHexMesh);
610 GEOM_List MakePipeTShapeWithPosition (in double theR1, in double theW1, in double theL1,
611 in double theR2, in double theW2, in double theL2,
612 in boolean theHexMesh,
613 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
615 GEOM_List MakePipeTShapeChamfer (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);
619 GEOM_List MakePipeTShapeChamferWithPosition (in double theR1, in double theW1, in double theL1,
620 in double theR2, in double theW2, in double theL2,
621 in double theH, in double theW, in boolean theHexMesh,
622 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
624 GEOM_List MakePipeTShapeFillet (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);
628 GEOM_List MakePipeTShapeFilletWithPosition (in double theR1, in double theW1, in double theL1,
629 in double theR2, in double theW2, in double theL2,
630 in double theRF, in boolean theHexMesh,
631 in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
633 GEOM_Object MakeDividedDisk (in double theR, in double theRatio, in short theOrientation,
634 in pattern thePattern);
636 GEOM_Object MakeDividedCylinder (in double theR, in double theH,
637 in pattern thePattern);
639 GEOM_Object MakeSmoothingSurface (in GEOM_List thelPoints);
641 /*@@ insert new functions before this line @@ do not remove this line @@*/