23 #ifndef __GEOM_SUPERV_I_H__
24 #define __GEOM_SUPERV_I_H__
29 #include <SALOMEconfig.h>
30 #include CORBA_CLIENT_HEADER(GEOM_Gen)
31 #include CORBA_CLIENT_HEADER(AdvancedGEOM)
32 #include CORBA_CLIENT_HEADER(STLPlugin)
33 #include CORBA_CLIENT_HEADER(BREPPlugin)
34 #include CORBA_CLIENT_HEADER(STEPPlugin)
35 #include CORBA_CLIENT_HEADER(IGESPlugin)
36 #include CORBA_CLIENT_HEADER(XAOPlugin)
38 #include CORBA_CLIENT_HEADER(VTKPlugin)
40 #include CORBA_SERVER_HEADER(GEOM_Superv)
42 #include "SALOME_Component_i.hxx"
43 #include "SALOME_NamingService.hxx"
52 PortableServer::POA_ptr poa,
53 PortableServer::ObjectId * contId,
54 const char *instanceName,
55 const char *interfaceName);
59 void register_name(
char * name);
73 void getSTLPluginOp();
74 void getBREPPluginOp();
75 void getSTEPPluginOp();
76 void getIGESPluginOp();
77 void getXAOPluginOp();
79 void getVTKPluginOp();
81 PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject,
82 PortableServer::POA_ptr thePOA);
87 void SetStudyID( CORBA::Long theId );
92 GEOM::GEOM_List_ptr CreateListOfGO();
93 void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
94 GEOM::GEOM_Object_ptr theObject);
99 GEOM::GEOM_List_ptr CreateListOfLong();
100 void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
101 CORBA::Long theObject);
106 GEOM::GEOM_List_ptr CreateListOfDouble();
107 void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
108 CORBA::Double theObject);
114 SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
116 CORBA::Boolean isMultiFile);
118 SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
120 CORBA::Boolean isMultiFile);
122 CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
123 const SALOMEDS::TMPFile& theStream,
125 CORBA::Boolean isMultiFile);
127 CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
128 const SALOMEDS::TMPFile& theStream,
130 CORBA::Boolean isMultiFile);
132 void Close(SALOMEDS::SComponent_ptr theComponent);
133 char* ComponentDataType();
136 char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
137 const char* IORString,
138 CORBA::Boolean isMultiFile,
139 CORBA::Boolean isASCII);
140 char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
141 const char* aLocalPersistentID,
142 CORBA::Boolean isMultiFile,
143 CORBA::Boolean isASCII);
145 CORBA::Boolean CanPublishInStudy(CORBA::Object_ptr theIOR);
146 SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
147 SALOMEDS::SObject_ptr theSObject,
148 CORBA::Object_ptr theObject,
149 const char* theName)
throw (SALOME::SALOME_Exception) ;
151 GEOM::ListOfGO* PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
153 CORBA::Object_ptr theObject);
155 CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
156 SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
157 CORBA::Boolean CanPaste(
const char* theComponentName, CORBA::Long theObjectID);
158 SALOMEDS::SObject_ptr PasteInto(
const SALOMEDS::TMPFile& theStream,
159 CORBA::Long theObjectID,
160 SALOMEDS::SObject_ptr theObject);
165 GEOM::GEOM_Object_ptr MakePointXYZ (CORBA::Double theX,
168 GEOM::GEOM_Object_ptr MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
172 GEOM::GEOM_Object_ptr MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
173 CORBA::Double theParameter);
174 GEOM::GEOM_Object_ptr MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
175 CORBA::Double theLength,
176 GEOM::GEOM_Object_ptr theStartPoint);
177 GEOM::GEOM_Object_ptr MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
178 CORBA::Double theXParameter,
179 CORBA::Double theYParameter,
180 CORBA::Double theZParameter);
181 GEOM::GEOM_Object_ptr MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
182 CORBA::Double theUParameter,
183 CORBA::Double theVParameter);
184 GEOM::GEOM_Object_ptr MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
185 CORBA::Double theXParameter,
186 CORBA::Double theYParameter,
187 CORBA::Double theZParameter);
188 GEOM::GEOM_Object_ptr MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
189 GEOM::GEOM_Object_ptr theRefLine2);
190 GEOM::GEOM_Object_ptr MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
191 CORBA::Double theParameter);
192 GEOM::GEOM_Object_ptr MakeVectorDXDYDZ (CORBA::Double theDX,
194 CORBA::Double theDZ);
195 GEOM::GEOM_Object_ptr MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
196 GEOM::GEOM_Object_ptr thePnt2);
197 GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
198 GEOM::GEOM_Object_ptr thePnt2);
199 GEOM::GEOM_Object_ptr MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
200 GEOM::GEOM_Object_ptr theFace2);
201 GEOM::GEOM_Object_ptr MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
202 GEOM::GEOM_Object_ptr thePnt2,
203 GEOM::GEOM_Object_ptr thePnt3,
204 CORBA::Double theTrimSize);
205 GEOM::GEOM_Object_ptr MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
206 GEOM::GEOM_Object_ptr theVec,
207 CORBA::Double theTrimSize);
208 GEOM::GEOM_Object_ptr MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
209 CORBA::Double theTrimSize);
210 GEOM::GEOM_Object_ptr MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
211 GEOM::GEOM_Object_ptr theVec2,
212 CORBA::Double theTrimSize);
213 GEOM::GEOM_Object_ptr MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
214 CORBA::Double theTrimSize,
215 CORBA::Double theOrientation);
216 GEOM::GEOM_Object_ptr MakeMarker (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
217 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
218 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ);
220 GEOM::GEOM_Object_ptr MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape);
222 GEOM::GEOM_Object_ptr MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
223 GEOM::GEOM_Object_ptr theXVec,
224 GEOM::GEOM_Object_ptr theYVec);
226 GEOM::GEOM_Object_ptr MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
227 CORBA::Double theParameterU,
228 CORBA::Double theParameterV,
229 CORBA::Double theTrimSize);
234 GEOM::GEOM_Object_ptr MakeBox (CORBA::Double theX1,
239 CORBA::Double theZ2);
240 GEOM::GEOM_Object_ptr MakeBoxDXDYDZ (CORBA::Double theDX,
242 CORBA::Double theDZ);
243 GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
244 GEOM::GEOM_Object_ptr thePnt2);
245 GEOM::GEOM_Object_ptr MakeFaceHW (CORBA::Double theH,
247 CORBA::Short theOrientation);
248 GEOM::GEOM_Object_ptr MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
251 GEOM::GEOM_Object_ptr MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
252 GEOM::GEOM_Object_ptr theVector,
254 GEOM::GEOM_Object_ptr MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
255 GEOM::GEOM_Object_ptr thePnt2,
256 GEOM::GEOM_Object_ptr thePnt3);
257 GEOM::GEOM_Object_ptr MakeDiskR (CORBA::Double theR,
258 CORBA::Short theOrientation);
259 GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
260 GEOM::GEOM_Object_ptr theAxis,
261 CORBA::Double theRadius,
262 CORBA::Double theHeight);
263 GEOM::GEOM_Object_ptr MakeCylinderRH (CORBA::Double theR,
265 GEOM::GEOM_Object_ptr MakeCylinderPntVecRHA (GEOM::GEOM_Object_ptr thePnt,
266 GEOM::GEOM_Object_ptr theAxis,
267 CORBA::Double theRadius,
268 CORBA::Double theHeight,
269 CORBA::Double theAngle);
270 GEOM::GEOM_Object_ptr MakeCylinderRHA (CORBA::Double theR,
273 GEOM::GEOM_Object_ptr MakeSphere (CORBA::Double theX,
276 CORBA::Double theRadius);
277 GEOM::GEOM_Object_ptr MakeSphereR (CORBA::Double theR);
278 GEOM::GEOM_Object_ptr MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
280 GEOM::GEOM_Object_ptr MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
281 GEOM::GEOM_Object_ptr theVec,
282 CORBA::Double theRMajor,
283 CORBA::Double theRMinor);
284 GEOM::GEOM_Object_ptr MakeTorusRR (CORBA::Double theRMajor,
285 CORBA::Double theRMinor);
286 GEOM::GEOM_Object_ptr MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
287 GEOM::GEOM_Object_ptr theAxis,
290 CORBA::Double theHeight);
291 GEOM::GEOM_Object_ptr MakeConeR1R2H (CORBA::Double theR1,
293 CORBA::Double theHeight);
294 GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
295 GEOM::GEOM_Object_ptr theVec,
297 GEOM::GEOM_Object_ptr MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
298 GEOM::GEOM_Object_ptr theVec,
300 GEOM::GEOM_Object_ptr MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
301 GEOM::GEOM_Object_ptr thePoint1,
302 GEOM::GEOM_Object_ptr thePoint2);
303 GEOM::GEOM_Object_ptr MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
304 GEOM::GEOM_Object_ptr thePoint1,
305 GEOM::GEOM_Object_ptr thePoint2);
306 GEOM::GEOM_Object_ptr MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
309 CORBA::Double theDZ);
310 GEOM::GEOM_Object_ptr MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
313 CORBA::Double theDZ);
314 GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase,
315 GEOM::GEOM_Object_ptr thePath);
316 GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
317 GEOM::GEOM_Object_ptr theAxis,
318 CORBA::Double theAngle);
319 GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
320 GEOM::GEOM_Object_ptr theAxis,
321 CORBA::Double theAngle);
322 GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape,
323 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
324 CORBA::Double theTol2D, CORBA::Double theTol3D,
325 CORBA::Long theNbIter,
327 CORBA::Boolean theApprox);
329 GEOM::GEOM_Object_ptr MakeThruSections(
const GEOM::ListOfGO& theSeqSections,
330 CORBA::Boolean theModeSolid,
331 CORBA::Double thePreci,
332 CORBA::Boolean theRuled);
334 GEOM::GEOM_Object_ptr MakePipeWithDifferentSections(
const GEOM::ListOfGO& theBases,
336 GEOM::GEOM_Object_ptr thePath,
337 CORBA::Boolean theWithContact,
338 CORBA::Boolean theWithCorrections);
340 GEOM::GEOM_Object_ptr MakePipeWithShellSections(
const GEOM::ListOfGO& theBases,
343 GEOM::GEOM_Object_ptr thePath,
344 CORBA::Boolean theWithContact,
345 CORBA::Boolean theWithCorrections);
347 GEOM::GEOM_Object_ptr MakePipeShellsWithoutPath(
const GEOM::ListOfGO& theBases,
350 GEOM::GEOM_Object_ptr MakePipeBiNormalAlongVector (GEOM::GEOM_Object_ptr theBase,
351 GEOM::GEOM_Object_ptr thePath,
352 GEOM::GEOM_Object_ptr theVec);
357 GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
358 GEOM::GEOM_Object_ptr theShape2,
359 CORBA::Long theOperation);
360 GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
361 GEOM::GEOM_Object_ptr theShape2);
362 GEOM::GEOM_Object_ptr MakeCommon (GEOM::GEOM_Object_ptr theShape1,
363 GEOM::GEOM_Object_ptr theShape2);
364 GEOM::GEOM_Object_ptr MakeCut (GEOM::GEOM_Object_ptr theShape1,
365 GEOM::GEOM_Object_ptr theShape2);
366 GEOM::GEOM_Object_ptr MakeSection (GEOM::GEOM_Object_ptr theShape1,
367 GEOM::GEOM_Object_ptr theShape2);
368 GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr theShapes,
369 GEOM::GEOM_List_ptr theTools,
370 GEOM::GEOM_List_ptr theKeepInside,
371 GEOM::GEOM_List_ptr theRemoveInside,
372 CORBA::Short theLimit,
373 CORBA::Boolean theRemoveWebs,
374 GEOM::GEOM_List_ptr theMaterials,
375 CORBA::Short theKeepNonlimitShapes);
376 GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
377 GEOM::GEOM_Object_ptr thePlane);
382 GEOM::GEOM_Object_ptr MakeCopy (GEOM::GEOM_Object_ptr theOriginal);
383 void Export (GEOM::GEOM_Object_ptr theObject,
384 const char* theFileName,
385 const char* theFormatName);
386 GEOM::GEOM_Object_ptr ImportFile (
const char* theFileName,
387 const char* theFormatName);
392 GEOM::GEOM_Object_ptr TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
393 GEOM::GEOM_Object_ptr thePoint1,
394 GEOM::GEOM_Object_ptr thePoint2);
395 GEOM::GEOM_Object_ptr TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
396 GEOM::GEOM_Object_ptr thePoint1,
397 GEOM::GEOM_Object_ptr thePoint2);
398 GEOM::GEOM_Object_ptr TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
401 CORBA::Double theDZ);
402 GEOM::GEOM_Object_ptr TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
405 CORBA::Double theDZ);
406 GEOM::GEOM_Object_ptr TranslateVector (GEOM::GEOM_Object_ptr theObject,
407 GEOM::GEOM_Object_ptr theVector);
408 GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
409 GEOM::GEOM_Object_ptr theVector);
410 GEOM::GEOM_Object_ptr TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
411 GEOM::GEOM_Object_ptr theVector,
412 CORBA::Double theDistance,
413 CORBA::Boolean theCopy);
414 GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
415 GEOM::GEOM_Object_ptr theVector,
416 CORBA::Double theStep,
417 CORBA::Long theNbTimes);
418 GEOM::GEOM_Object_ptr MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
419 GEOM::GEOM_Object_ptr theVector1,
420 CORBA::Double theStep1,
421 CORBA::Long theNbTimes1,
422 GEOM::GEOM_Object_ptr theVector2,
423 CORBA::Double theStep2,
424 CORBA::Long theNbTimes2);
425 GEOM::GEOM_Object_ptr Rotate (GEOM::GEOM_Object_ptr theObject,
426 GEOM::GEOM_Object_ptr theAxis,
427 CORBA::Double theAngle);
428 GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject,
429 GEOM::GEOM_Object_ptr theAxis,
430 CORBA::Double theAngle);
432 GEOM::GEOM_Object_ptr RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
433 GEOM::GEOM_Object_ptr theCentPoint,
434 GEOM::GEOM_Object_ptr thePoint1,
435 GEOM::GEOM_Object_ptr thePoint2);
437 GEOM::GEOM_Object_ptr RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
438 GEOM::GEOM_Object_ptr theCentPoint,
439 GEOM::GEOM_Object_ptr thePoint1,
440 GEOM::GEOM_Object_ptr thePoint2);
442 GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
443 GEOM::GEOM_Object_ptr theAxis,
444 CORBA::Long theNbTimes);
445 GEOM::GEOM_Object_ptr MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
446 GEOM::GEOM_Object_ptr theAxis,
447 CORBA::Double theAngle,
448 CORBA::Long theNbTimes1,
449 CORBA::Double theStep,
450 CORBA::Long theNbTimes2);
451 GEOM::GEOM_Object_ptr MirrorPlane (GEOM::GEOM_Object_ptr theObject,
452 GEOM::GEOM_Object_ptr thePlane);
453 GEOM::GEOM_Object_ptr MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
454 GEOM::GEOM_Object_ptr thePlane);
455 GEOM::GEOM_Object_ptr MirrorAxis (GEOM::GEOM_Object_ptr theObject,
456 GEOM::GEOM_Object_ptr theAxis);
457 GEOM::GEOM_Object_ptr MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
458 GEOM::GEOM_Object_ptr theAxis);
459 GEOM::GEOM_Object_ptr MirrorPoint (GEOM::GEOM_Object_ptr theObject,
460 GEOM::GEOM_Object_ptr thePoint);
461 GEOM::GEOM_Object_ptr MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
462 GEOM::GEOM_Object_ptr thePoint);
463 GEOM::GEOM_Object_ptr OffsetShape (GEOM::GEOM_Object_ptr theObject,
464 CORBA::Double theOffset);
465 GEOM::GEOM_Object_ptr OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
466 CORBA::Double theOffset);
467 GEOM::GEOM_Object_ptr ScaleShape (GEOM::GEOM_Object_ptr theObject,
468 GEOM::GEOM_Object_ptr thePoint,
469 CORBA::Double theFactor);
470 GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
471 GEOM::GEOM_Object_ptr thePoint,
472 CORBA::Double theFactor);
473 GEOM::GEOM_Object_ptr ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
474 GEOM::GEOM_Object_ptr thePoint,
475 CORBA::Double theFactorX,
476 CORBA::Double theFactorY,
477 CORBA::Double theFactorZ);
478 GEOM::GEOM_Object_ptr ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
479 GEOM::GEOM_Object_ptr thePoint,
480 CORBA::Double theFactorX,
481 CORBA::Double theFactorY,
482 CORBA::Double theFactorZ);
483 GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject,
484 GEOM::GEOM_Object_ptr theStartLCS,
485 GEOM::GEOM_Object_ptr theEndLCS);
486 GEOM::GEOM_Object_ptr PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
487 GEOM::GEOM_Object_ptr theStartLCS,
488 GEOM::GEOM_Object_ptr theEndLCS);
489 GEOM::GEOM_Object_ptr PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
490 GEOM::GEOM_Object_ptr thePath,
491 CORBA::Double theDistance,
492 CORBA::Boolean theCopy,
493 CORBA::Boolean theReverse);
498 GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
499 GEOM::GEOM_Object_ptr thePnt2);
500 GEOM::GEOM_Object_ptr MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
501 CORBA::Double theLength,
502 GEOM::GEOM_Object_ptr theStartPoint);
503 GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
504 CORBA::Double theTolerance);
505 GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
506 CORBA::Boolean isPlanarWanted);
507 GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires,
508 CORBA::Boolean isPlanarWanted);
509 GEOM::GEOM_Object_ptr MakeFaceWithConstraints (GEOM::GEOM_List_ptr theConstraints);
510 GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells);
511 GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
512 GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells);
513 GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes);
514 GEOM::GEOM_Object_ptr MakeSolidFromConnectedFaces (GEOM::GEOM_List_ptr theFacesOrShells,
515 CORBA::Boolean isIntersect);
516 GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
517 CORBA::Double theTolerance,
518 CORBA::Boolean doKeepNonSolids);
519 GEOM::GEOM_List_ptr GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
520 CORBA::Double theTolerance);
521 GEOM::GEOM_Object_ptr MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
522 CORBA::Double theTolerance,
524 CORBA::Boolean doKeepNonSolids,
525 CORBA::Boolean doGlueAllEdges);
526 GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape,
527 CORBA::Long theShapeType,
528 CORBA::Boolean isSorted);
529 CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
530 CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
531 GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
533 GEOM::GEOM_List_ptr GetShapesOnShape (GEOM::GEOM_Object_ptr theCheckShape,
534 GEOM::GEOM_Object_ptr theShape,
535 CORBA::Short theShapeType,
537 GEOM::GEOM_Object_ptr GetShapesOnShapeAsCompound
538 (GEOM::GEOM_Object_ptr theCheckShape,
539 GEOM::GEOM_Object_ptr theShape,
540 CORBA::Short theShapeType,
546 GEOM::GEOM_Object_ptr MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
547 GEOM::GEOM_Object_ptr thePnt2,
548 GEOM::GEOM_Object_ptr thePnt3,
549 GEOM::GEOM_Object_ptr thePnt4);
550 GEOM::GEOM_Object_ptr MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
551 GEOM::GEOM_Object_ptr theEdge2,
552 GEOM::GEOM_Object_ptr theEdge3,
553 GEOM::GEOM_Object_ptr theEdge4);
554 GEOM::GEOM_Object_ptr MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
555 GEOM::GEOM_Object_ptr theEdge2);
556 GEOM::GEOM_Object_ptr MakeHexa (GEOM::GEOM_Object_ptr theFace1,
557 GEOM::GEOM_Object_ptr theFace2,
558 GEOM::GEOM_Object_ptr theFace3,
559 GEOM::GEOM_Object_ptr theFace4,
560 GEOM::GEOM_Object_ptr theFace5,
561 GEOM::GEOM_Object_ptr theFace6);
562 GEOM::GEOM_Object_ptr MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
563 GEOM::GEOM_Object_ptr theFace2);
564 GEOM::GEOM_Object_ptr GetPoint (GEOM::GEOM_Object_ptr theShape,
568 CORBA::Double theEpsilon);
569 GEOM::GEOM_Object_ptr GetEdge (GEOM::GEOM_Object_ptr theShape,
570 GEOM::GEOM_Object_ptr thePoint1,
571 GEOM::GEOM_Object_ptr thePoint2);
573 GEOM::GEOM_Object_ptr thePoint);
574 GEOM::GEOM_Object_ptr GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
575 GEOM::GEOM_Object_ptr thePoint1,
576 GEOM::GEOM_Object_ptr thePoint2,
577 GEOM::GEOM_Object_ptr thePoint3,
578 GEOM::GEOM_Object_ptr thePoint4);
579 GEOM::GEOM_Object_ptr GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
580 GEOM::GEOM_Object_ptr theEdge1,
581 GEOM::GEOM_Object_ptr theEdge2);
582 GEOM::GEOM_Object_ptr GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
583 GEOM::GEOM_Object_ptr theFace);
584 GEOM::GEOM_Object_ptr GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
585 GEOM::GEOM_Object_ptr thePoint);
586 GEOM::GEOM_Object_ptr GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
587 GEOM::GEOM_Object_ptr theVector);
588 CORBA::Boolean IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
589 CORBA::Long theMinNbFaces,
590 CORBA::Long theMaxNbFaces,
591 CORBA::Long& theNbBlocks);
592 CORBA::Boolean CheckCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
593 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
594 char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
596 GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
597 CORBA::Long theMinNbFaces,
598 CORBA::Long theMaxNbFaces);
599 GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
600 GEOM::GEOM_Object_ptr thePoint);
601 GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
602 GEOM::GEOM_List_ptr theParts);
603 GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
604 GEOM::GEOM_List_ptr theParts);
605 GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
606 CORBA::Long theDirFace1,
607 CORBA::Long theDirFace2,
608 CORBA::Long theNbTimes);
609 GEOM::GEOM_Object_ptr MakeMultiTransformation2D (GEOM::GEOM_Object_ptr theBlock,
610 CORBA::Long theDirFace1U,
611 CORBA::Long theDirFace2U,
612 CORBA::Long theNbTimesU,
613 CORBA::Long theDirFace1V,
614 CORBA::Long theDirFace2V,
615 CORBA::Long theNbTimesV);
620 GEOM::GEOM_Object_ptr MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
621 GEOM::GEOM_Object_ptr theVector,
623 GEOM::GEOM_Object_ptr MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
624 GEOM::GEOM_Object_ptr thePnt2,
625 GEOM::GEOM_Object_ptr thePnt3);
626 GEOM::GEOM_Object_ptr MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
627 GEOM::GEOM_Object_ptr thePnt2,
628 GEOM::GEOM_Object_ptr thePnt3);
629 GEOM::GEOM_Object_ptr MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
630 GEOM::GEOM_Object_ptr theVector,
631 CORBA::Double theRMajor, CORBA::Double theRMinor);
632 GEOM::GEOM_Object_ptr MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
633 GEOM::GEOM_Object_ptr theVector,
634 CORBA::Double theRMajor, CORBA::Double theRMinor,
635 GEOM::GEOM_Object_ptr theVectorMajor);
636 GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
637 GEOM::GEOM_Object_ptr thePnt2,
638 GEOM::GEOM_Object_ptr thePnt3);
639 GEOM::GEOM_Object_ptr MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
640 GEOM::GEOM_Object_ptr thePnt1,
641 GEOM::GEOM_Object_ptr thePnt2,
642 CORBA::Boolean theSense);
643 GEOM::GEOM_Object_ptr MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
644 GEOM::GEOM_Object_ptr thePnt2,
645 GEOM::GEOM_Object_ptr thePnt3);
646 GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints,
647 CORBA::Boolean theIsClosed);
648 GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
649 CORBA::Boolean theIsClosed);
650 GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
651 CORBA::Boolean theIsClosed,
652 CORBA::Boolean theDoReordering);
653 GEOM::GEOM_Object_ptr MakeSketcher (
const char* theCommand,
654 GEOM::GEOM_List_ptr theWorkingPlane);
655 GEOM::GEOM_Object_ptr Make3DSketcher (GEOM::GEOM_List_ptr theCoordinates);
660 GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
662 GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
663 GEOM::GEOM_List_ptr theEdges);
664 GEOM::GEOM_Object_ptr MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1,
665 CORBA::Double theR2, GEOM::GEOM_List_ptr theEdges);
666 GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
667 GEOM::GEOM_List_ptr theFaces);
668 GEOM::GEOM_Object_ptr MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1,
669 CORBA::Double theR2, GEOM::GEOM_List_ptr theFaces);
670 GEOM::GEOM_Object_ptr MakeFillet2D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
671 GEOM::GEOM_List_ptr theVertexes);
672 GEOM::GEOM_Object_ptr MakeFillet1D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
673 GEOM::GEOM_List_ptr theVertexes, CORBA::Boolean doIgnoreSecantVertices);
674 GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
675 GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
676 CORBA::Double theD1, CORBA::Double theD2,
677 CORBA::Long theFace1, CORBA::Long theFace2);
678 GEOM::GEOM_Object_ptr MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
679 CORBA::Double theD, CORBA::Double theAngle,
680 CORBA::Long theFace1, CORBA::Long theFace2);
681 GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
682 CORBA::Double theD1, CORBA::Double theD2,
683 GEOM::GEOM_List_ptr theFaces);
684 GEOM::GEOM_Object_ptr MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
685 CORBA::Double theD, CORBA::Double theAngle,
686 GEOM::GEOM_List_ptr theFaces);
687 GEOM::GEOM_Object_ptr MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
688 CORBA::Double theD1, CORBA::Double theD2,
689 GEOM::GEOM_List_ptr theEdges);
690 GEOM::GEOM_Object_ptr MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
691 CORBA::Double theD, CORBA::Double theAngle,
692 GEOM::GEOM_List_ptr theEdges);
693 GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
694 CORBA::Double theWeight,
695 CORBA::Double theWaterDensity,
696 CORBA::Double theMeshingDeflection);
697 CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
698 GEOM::GEOM_Object_ptr theSubShape);
703 GEOM::GEOM_Object_ptr CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
704 CORBA::Long theShapeType);
705 void AddObject (GEOM::GEOM_Object_ptr theGroup,
706 CORBA::Long theSubShapeId);
707 void RemoveObject (GEOM::GEOM_Object_ptr theGroup,
708 CORBA::Long theSubShapeId);
709 CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup);
710 GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
711 GEOM::GEOM_List_ptr
GetObjects (GEOM::GEOM_Object_ptr theGroup);
717 void ExportSTL( GEOM::GEOM_Object_ptr theObject,
718 const char* theFileName,
719 const bool theIsASCII,
720 CORBA::Double theDeflection,
721 const bool theIsRelative );
723 GEOM::GEOM_Object_ptr ImportSTL(
const char* theFileName );
725 void ExportBREP( GEOM::GEOM_Object_ptr theObject,
726 const char* theFileName );
728 GEOM::GEOM_Object_ptr ImportBREP(
const char* theFileName );
730 void ExportSTEP( GEOM::GEOM_Object_ptr theObject,
731 const char* theFileName );
733 GEOM::GEOM_Object_ptr ImportSTEP(
const char* theFileName,
734 const bool theIsIgnoreUnits );
736 void ExportIGES( GEOM::GEOM_Object_ptr theObject,
737 const char* theFileName,
738 const char* theVersion );
740 GEOM::GEOM_Object_ptr ImportIGES(
const char* theFileName,
741 const bool theIsIgnoreUnits );
743 CORBA::Boolean ExportXAO( GEOM::GEOM_Object_ptr shape,
747 const char* fileName,
748 const char* shapeFileName);
749 CORBA::Boolean ImportXAO(
const char* fileName,
750 GEOM::GEOM_Object_out shape,
751 GEOM::ListOfGO_out subShapes,
752 GEOM::ListOfGO_out groups,
753 GEOM::ListOfFields_out fields );
755 void ExportVTK( GEOM::GEOM_Object_ptr theObject,
756 const char* theFileName,
757 CORBA::Double theDeflection );
762 GEOM::GEOM_List_ptr MakePipeTShape (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
763 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
764 CORBA::Boolean theHexMesh);
765 GEOM::GEOM_List_ptr MakePipeTShapeWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
766 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
767 CORBA::Boolean theHexMesh,
768 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
769 GEOM::GEOM_List_ptr MakePipeTShapeChamfer (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
770 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
771 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh);
772 GEOM::GEOM_List_ptr MakePipeTShapeChamferWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
773 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
774 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
775 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
776 GEOM::GEOM_List_ptr MakePipeTShapeFillet (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
777 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
778 CORBA::Double theRF, CORBA::Boolean theHexMesh);
779 GEOM::GEOM_List_ptr MakePipeTShapeFilletWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
780 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
781 CORBA::Double theRF, CORBA::Boolean theHexMesh,
782 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
783 GEOM::GEOM_Object_ptr MakeDividedDisk (CORBA::Double theR, CORBA::Double theRatio,
785 GEOM::GEOM_Object_ptr MakeDividedCylinder (CORBA::Double theR,
788 GEOM::GEOM_Object_ptr MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints);
815 GEOM::IVTKOperations_var myVTKOp;