Version: 9.16.0
GEOM_Superv_i.hh
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
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.
10//
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.
15//
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
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23#ifndef __GEOM_SUPERV_I_H__
24#define __GEOM_SUPERV_I_H__
25
26#include "GEOM_I_Superv.hxx"
27
28// IDL headers
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)
37#ifdef WITH_VTK
38#include CORBA_CLIENT_HEADER(VTKPlugin)
39#endif
40#include CORBA_SERVER_HEADER(GEOM_Superv)
41
42#include "SALOME_Component_i.hxx"
43#include "SALOME_NamingService.hxx"
44
45#include "GEOM_List_i.hh"
46
47class GEOM_I_SUPERV_EXPORT GEOM_Superv_i : public virtual POA_GEOM::GEOM_Superv,
49{
50public:
51 GEOM_Superv_i(CORBA::ORB_ptr orb,
52 PortableServer::POA_ptr poa,
53 PortableServer::ObjectId * contId,
54 const char *instanceName,
55 const char *interfaceName, bool withRegistry,
56 SALOME_NamingService_Abstract *my_name_service);
58
59 // generic method to be put in a super class
60 void register_name(char * name);
61 void setGeomEngine();
62
63 void getBasicOp();
64 void get3DPrimOp();
65 void getBoolOp();
66 void getInsOp();
67 void getTransfOp();
68 void getShapesOp();
69 void getBlocksOp();
70 void getCurvesOp();
71 void getLocalOp();
72 void getMeasureOp();
73 void getGroupOp();
74 void getAdvancedOp();
75 void getSTLPluginOp();
76 void getBREPPluginOp();
77 void getSTEPPluginOp();
78 void getIGESPluginOp();
79 void getXAOPluginOp();
80#ifdef WITH_VTK
81 void getVTKPluginOp();
82#endif
83 PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject,
84 PortableServer::POA_ptr thePOA);
85
86 //-----------------------------------------------------------//
87 // Create ListOfGO and add items to it //
88 //-----------------------------------------------------------//
89 GEOM::GEOM_List_ptr CreateListOfGO();
90 void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
91 GEOM::GEOM_Object_ptr theObject);
92
93 //-----------------------------------------------------------//
94 // Create ListOfLong and add items to it //
95 //-----------------------------------------------------------//
96 GEOM::GEOM_List_ptr CreateListOfLong();
97 void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
98 CORBA::Long theObject);
99
100 //-----------------------------------------------------------//
101 // Create ListOfDouble and add items to it //
102 //-----------------------------------------------------------//
103 GEOM::GEOM_List_ptr CreateListOfDouble();
104 void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
105 CORBA::Double theObject);
106
107 //-----------------------------------------------------------------------//
108 // Inherited methods from SALOMEDS::Driver //
109 //-----------------------------------------------------------------------//
110
111 SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
112 const char* theURL,
113 CORBA::Boolean isMultiFile);
114
115 SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
116 const char* theURL,
117 CORBA::Boolean isMultiFile);
118
119 CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
120 const SALOMEDS::TMPFile& theStream,
121 const char* theURL,
122 CORBA::Boolean isMultiFile);
123
124 CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
125 const SALOMEDS::TMPFile& theStream,
126 const char* theURL,
127 CORBA::Boolean isMultiFile);
128
129 void Close(SALOMEDS::SComponent_ptr theComponent);
130 char* ComponentDataType();
131
132
133 char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
134 const char* IORString,
135 CORBA::Boolean isMultiFile,
136 CORBA::Boolean isASCII);
137 char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
138 const char* aLocalPersistentID,
139 CORBA::Boolean isMultiFile,
140 CORBA::Boolean isASCII);
141
142 CORBA::Boolean CanPublishInStudy(CORBA::Object_ptr theIOR);
143 SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::SObject_ptr theSObject,
144 CORBA::Object_ptr theObject,
145 const char* theName) ;
146
147 GEOM::ListOfGO* PublishNamedShapesInStudy(//SALOMEDS::SObject_ptr theSObject,
148 CORBA::Object_ptr theObject);
149
150 CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
151 SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
152 CORBA::Boolean CanPaste(const char* theComponentName, CORBA::Long theObjectID);
153 SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
154 CORBA::Long theObjectID,
155 SALOMEDS::SObject_ptr theObject);
156
157 //-----------------------------------------------------------//
158 // Primitives Construction : BasicOperations //
159 //-----------------------------------------------------------//
160 GEOM::GEOM_Object_ptr MakePointXYZ (CORBA::Double theX,
161 CORBA::Double theY,
162 CORBA::Double theZ);
163 GEOM::GEOM_Object_ptr MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
164 CORBA::Double theX,
165 CORBA::Double theY,
166 CORBA::Double theZ);
167 GEOM::GEOM_Object_ptr MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
168 CORBA::Double theParameter);
169 GEOM::GEOM_Object_ptr MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
170 CORBA::Double theLength,
171 GEOM::GEOM_Object_ptr theStartPoint);
172 GEOM::GEOM_Object_ptr MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
173 CORBA::Double theXParameter,
174 CORBA::Double theYParameter,
175 CORBA::Double theZParameter);
176 GEOM::GEOM_Object_ptr MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
177 CORBA::Double theUParameter,
178 CORBA::Double theVParameter);
179 GEOM::GEOM_Object_ptr MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
180 CORBA::Double theXParameter,
181 CORBA::Double theYParameter,
182 CORBA::Double theZParameter);
183 GEOM::GEOM_Object_ptr MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
184 GEOM::GEOM_Object_ptr theRefLine2);
185 GEOM::GEOM_Object_ptr MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
186 CORBA::Double theParameter);
187 GEOM::GEOM_Object_ptr MakeVectorDXDYDZ (CORBA::Double theDX,
188 CORBA::Double theDY,
189 CORBA::Double theDZ);
190 GEOM::GEOM_Object_ptr MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
191 GEOM::GEOM_Object_ptr thePnt2);
192 GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
193 GEOM::GEOM_Object_ptr thePnt2);
194 GEOM::GEOM_Object_ptr MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
195 GEOM::GEOM_Object_ptr theFace2);
196 GEOM::GEOM_Object_ptr MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
197 GEOM::GEOM_Object_ptr thePnt2,
198 GEOM::GEOM_Object_ptr thePnt3,
199 CORBA::Double theTrimSize);
200 GEOM::GEOM_Object_ptr MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
201 GEOM::GEOM_Object_ptr theVec,
202 CORBA::Double theTrimSize);
203 GEOM::GEOM_Object_ptr MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
204 CORBA::Double theTrimSize);
205 GEOM::GEOM_Object_ptr MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
206 GEOM::GEOM_Object_ptr theVec2,
207 CORBA::Double theTrimSize);
208 GEOM::GEOM_Object_ptr MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
209 CORBA::Double theTrimSize,
210 CORBA::Double theOrientation);
211 GEOM::GEOM_Object_ptr MakeMarker (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
212 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
213 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ);
214
215 GEOM::GEOM_Object_ptr MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape);
216
217 GEOM::GEOM_Object_ptr MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
218 GEOM::GEOM_Object_ptr theXVec,
219 GEOM::GEOM_Object_ptr theYVec);
220
221 GEOM::GEOM_Object_ptr MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
222 CORBA::Double theParameterU,
223 CORBA::Double theParameterV,
224 CORBA::Double theTrimSize);
225
226 //-----------------------------------------------------------//
227 // Primitives Construction : 3DPrimOperations //
228 //-----------------------------------------------------------//
229 GEOM::GEOM_Object_ptr MakeBox (CORBA::Double theX1,
230 CORBA::Double theY1,
231 CORBA::Double theZ1,
232 CORBA::Double theX2,
233 CORBA::Double theY2,
234 CORBA::Double theZ2);
235 GEOM::GEOM_Object_ptr MakeBoxDXDYDZ (CORBA::Double theDX,
236 CORBA::Double theDY,
237 CORBA::Double theDZ);
238 GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
239 GEOM::GEOM_Object_ptr thePnt2);
240 GEOM::GEOM_Object_ptr MakeFaceHW (CORBA::Double theH,
241 CORBA::Double theW,
242 CORBA::Short theOrientation);
243 GEOM::GEOM_Object_ptr MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
244 CORBA::Double theH,
245 CORBA::Double theW);
246 GEOM::GEOM_Object_ptr MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
247 GEOM::GEOM_Object_ptr theVector,
248 CORBA::Double theR);
249 GEOM::GEOM_Object_ptr MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
250 GEOM::GEOM_Object_ptr thePnt2,
251 GEOM::GEOM_Object_ptr thePnt3);
252 GEOM::GEOM_Object_ptr MakeDiskR (CORBA::Double theR,
253 CORBA::Short theOrientation);
254 GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
255 GEOM::GEOM_Object_ptr theAxis,
256 CORBA::Double theRadius,
257 CORBA::Double theHeight);
258 GEOM::GEOM_Object_ptr MakeCylinderRH (CORBA::Double theR,
259 CORBA::Double theH);
260 GEOM::GEOM_Object_ptr MakeCylinderPntVecRHA (GEOM::GEOM_Object_ptr thePnt,
261 GEOM::GEOM_Object_ptr theAxis,
262 CORBA::Double theRadius,
263 CORBA::Double theHeight,
264 CORBA::Double theAngle);
265 GEOM::GEOM_Object_ptr MakeCylinderRHA (CORBA::Double theR,
266 CORBA::Double theH,
267 CORBA::Double theA);
268 GEOM::GEOM_Object_ptr MakeSphere (CORBA::Double theX,
269 CORBA::Double theY,
270 CORBA::Double theZ,
271 CORBA::Double theRadius);
272 GEOM::GEOM_Object_ptr MakeSphereR (CORBA::Double theR);
273 GEOM::GEOM_Object_ptr MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
274 CORBA::Double theR);
275 GEOM::GEOM_Object_ptr MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
276 GEOM::GEOM_Object_ptr theVec,
277 CORBA::Double theRMajor,
278 CORBA::Double theRMinor);
279 GEOM::GEOM_Object_ptr MakeTorusRR (CORBA::Double theRMajor,
280 CORBA::Double theRMinor);
281 GEOM::GEOM_Object_ptr MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
282 GEOM::GEOM_Object_ptr theAxis,
283 CORBA::Double theR1,
284 CORBA::Double theR2,
285 CORBA::Double theHeight);
286 GEOM::GEOM_Object_ptr MakeConeR1R2H (CORBA::Double theR1,
287 CORBA::Double theR2,
288 CORBA::Double theHeight);
289 GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
290 GEOM::GEOM_Object_ptr theVec,
291 CORBA::Double theH);
292 GEOM::GEOM_Object_ptr MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
293 GEOM::GEOM_Object_ptr theVec,
294 CORBA::Double theH);
295 GEOM::GEOM_Object_ptr MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
296 GEOM::GEOM_Object_ptr thePoint1,
297 GEOM::GEOM_Object_ptr thePoint2);
298 GEOM::GEOM_Object_ptr MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
299 GEOM::GEOM_Object_ptr thePoint1,
300 GEOM::GEOM_Object_ptr thePoint2);
301 GEOM::GEOM_Object_ptr MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
302 CORBA::Double theDX,
303 CORBA::Double theDY,
304 CORBA::Double theDZ);
305 GEOM::GEOM_Object_ptr MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
306 CORBA::Double theDX,
307 CORBA::Double theDY,
308 CORBA::Double theDZ);
309 GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase,
310 GEOM::GEOM_Object_ptr thePath);
311 GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
312 GEOM::GEOM_Object_ptr theAxis,
313 CORBA::Double theAngle);
314 GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
315 GEOM::GEOM_Object_ptr theAxis,
316 CORBA::Double theAngle);
317 GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape,
318 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
319 CORBA::Double theTol2D, CORBA::Double theTol3D,
320 CORBA::Long theNbIter,
322 CORBA::Boolean theApprox);
323
324 GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections,
325 CORBA::Boolean theModeSolid,
326 CORBA::Double thePreci,
327 CORBA::Boolean theRuled);
328
329 GEOM::GEOM_Object_ptr MakePipeWithDifferentSections(const GEOM::ListOfGO& theBases,
330 const GEOM::ListOfGO& theLocations,
331 GEOM::GEOM_Object_ptr thePath,
332 CORBA::Boolean theWithContact,
333 CORBA::Boolean theWithCorrections);
334
335 GEOM::GEOM_Object_ptr MakePipeWithShellSections(const GEOM::ListOfGO& theBases,
336 const GEOM::ListOfGO& theSubBases,
337 const GEOM::ListOfGO& theLocations,
338 GEOM::GEOM_Object_ptr thePath,
339 CORBA::Boolean theWithContact,
340 CORBA::Boolean theWithCorrections);
341
342 GEOM::GEOM_Object_ptr MakePipeShellsWithoutPath(const GEOM::ListOfGO& theBases,
343 const GEOM::ListOfGO& theLocations);
344
345 GEOM::GEOM_Object_ptr MakePipeBiNormalAlongVector (GEOM::GEOM_Object_ptr theBase,
346 GEOM::GEOM_Object_ptr thePath,
347 GEOM::GEOM_Object_ptr theVec);
348
349 //-----------------------------------------------------------//
350 // BooleanOperations //
351 //-----------------------------------------------------------//
352 GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
353 GEOM::GEOM_Object_ptr theShape2,
354 CORBA::Long theOperation);
355 GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
356 GEOM::GEOM_Object_ptr theShape2);
357 GEOM::GEOM_Object_ptr MakeCommon (GEOM::GEOM_Object_ptr theShape1,
358 GEOM::GEOM_Object_ptr theShape2);
359 GEOM::GEOM_Object_ptr MakeCut (GEOM::GEOM_Object_ptr theShape1,
360 GEOM::GEOM_Object_ptr theShape2);
361 GEOM::GEOM_Object_ptr MakeSection (GEOM::GEOM_Object_ptr theShape1,
362 GEOM::GEOM_Object_ptr theShape2);
363 GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr theShapes,
364 GEOM::GEOM_List_ptr theTools,
365 GEOM::GEOM_List_ptr theKeepInside,
366 GEOM::GEOM_List_ptr theRemoveInside,
367 CORBA::Short theLimit,
368 CORBA::Boolean theRemoveWebs,
369 GEOM::GEOM_List_ptr theMaterials,
370 CORBA::Short theKeepNonlimitShapes);
371 GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
372 GEOM::GEOM_Object_ptr thePlane);
373
374 //-----------------------------------------------------------//
375 // InsertOperations //
376 //-----------------------------------------------------------//
377 GEOM::GEOM_Object_ptr MakeCopy (GEOM::GEOM_Object_ptr theOriginal);
378 void Export (GEOM::GEOM_Object_ptr theObject,
379 const char* theFileName,
380 const char* theFormatName);
381 GEOM::GEOM_Object_ptr ImportFile (const char* theFileName,
382 const char* theFormatName);
383
384 //-----------------------------------------------------------//
385 // TransformOperations //
386 //-----------------------------------------------------------//
387 GEOM::GEOM_Object_ptr TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
388 GEOM::GEOM_Object_ptr thePoint1,
389 GEOM::GEOM_Object_ptr thePoint2);
390 GEOM::GEOM_Object_ptr TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
391 GEOM::GEOM_Object_ptr thePoint1,
392 GEOM::GEOM_Object_ptr thePoint2);
393 GEOM::GEOM_Object_ptr TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
394 CORBA::Double theDX,
395 CORBA::Double theDY,
396 CORBA::Double theDZ);
397 GEOM::GEOM_Object_ptr TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
398 CORBA::Double theDX,
399 CORBA::Double theDY,
400 CORBA::Double theDZ);
401 GEOM::GEOM_Object_ptr TranslateVector (GEOM::GEOM_Object_ptr theObject,
402 GEOM::GEOM_Object_ptr theVector);
403 GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
404 GEOM::GEOM_Object_ptr theVector);
405 GEOM::GEOM_Object_ptr TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
406 GEOM::GEOM_Object_ptr theVector,
407 CORBA::Double theDistance,
408 CORBA::Boolean theCopy);
409 GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
410 GEOM::GEOM_Object_ptr theVector,
411 CORBA::Double theStep,
412 CORBA::Long theNbTimes);
413 GEOM::GEOM_Object_ptr MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
414 GEOM::GEOM_Object_ptr theVector1,
415 CORBA::Double theStep1,
416 CORBA::Long theNbTimes1,
417 GEOM::GEOM_Object_ptr theVector2,
418 CORBA::Double theStep2,
419 CORBA::Long theNbTimes2);
420 GEOM::GEOM_Object_ptr Rotate (GEOM::GEOM_Object_ptr theObject,
421 GEOM::GEOM_Object_ptr theAxis,
422 CORBA::Double theAngle);
423 GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject,
424 GEOM::GEOM_Object_ptr theAxis,
425 CORBA::Double theAngle);
426
427 GEOM::GEOM_Object_ptr RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
428 GEOM::GEOM_Object_ptr theCentPoint,
429 GEOM::GEOM_Object_ptr thePoint1,
430 GEOM::GEOM_Object_ptr thePoint2);
431
432 GEOM::GEOM_Object_ptr RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
433 GEOM::GEOM_Object_ptr theCentPoint,
434 GEOM::GEOM_Object_ptr thePoint1,
435 GEOM::GEOM_Object_ptr thePoint2);
436
437 GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
438 GEOM::GEOM_Object_ptr theAxis,
439 CORBA::Long theNbTimes);
440 GEOM::GEOM_Object_ptr MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
441 GEOM::GEOM_Object_ptr theAxis,
442 CORBA::Double theAngle,
443 CORBA::Long theNbTimes1,
444 CORBA::Double theStep,
445 CORBA::Long theNbTimes2);
446 GEOM::GEOM_Object_ptr MirrorPlane (GEOM::GEOM_Object_ptr theObject,
447 GEOM::GEOM_Object_ptr thePlane);
448 GEOM::GEOM_Object_ptr MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
449 GEOM::GEOM_Object_ptr thePlane);
450 GEOM::GEOM_Object_ptr MirrorAxis (GEOM::GEOM_Object_ptr theObject,
451 GEOM::GEOM_Object_ptr theAxis);
452 GEOM::GEOM_Object_ptr MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
453 GEOM::GEOM_Object_ptr theAxis);
454 GEOM::GEOM_Object_ptr MirrorPoint (GEOM::GEOM_Object_ptr theObject,
455 GEOM::GEOM_Object_ptr thePoint);
456 GEOM::GEOM_Object_ptr MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
457 GEOM::GEOM_Object_ptr thePoint);
458 GEOM::GEOM_Object_ptr OffsetShape (GEOM::GEOM_Object_ptr theObject,
459 CORBA::Double theOffset);
460 GEOM::GEOM_Object_ptr OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
461 CORBA::Double theOffset);
462 GEOM::GEOM_Object_ptr ScaleShape (GEOM::GEOM_Object_ptr theObject,
463 GEOM::GEOM_Object_ptr thePoint,
464 CORBA::Double theFactor);
465 GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
466 GEOM::GEOM_Object_ptr thePoint,
467 CORBA::Double theFactor);
468 GEOM::GEOM_Object_ptr ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
469 GEOM::GEOM_Object_ptr thePoint,
470 CORBA::Double theFactorX,
471 CORBA::Double theFactorY,
472 CORBA::Double theFactorZ);
473 GEOM::GEOM_Object_ptr ScaleShapeAlongAxesCopy (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 PositionShape (GEOM::GEOM_Object_ptr theObject,
479 GEOM::GEOM_Object_ptr theStartLCS,
480 GEOM::GEOM_Object_ptr theEndLCS);
481 GEOM::GEOM_Object_ptr PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
482 GEOM::GEOM_Object_ptr theStartLCS,
483 GEOM::GEOM_Object_ptr theEndLCS);
484 GEOM::GEOM_Object_ptr PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
485 GEOM::GEOM_Object_ptr thePath,
486 CORBA::Double theDistance,
487 CORBA::Boolean theCopy,
488 CORBA::Boolean theReverse);
489
490 //-----------------------------------------------------------//
491 // ShapesOperations //
492 //-----------------------------------------------------------//
493 GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
494 GEOM::GEOM_Object_ptr thePnt2);
495 GEOM::GEOM_Object_ptr MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
496 CORBA::Double theLength,
497 GEOM::GEOM_Object_ptr theStartPoint);
498 GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
499 CORBA::Double theTolerance);
500 GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
501 CORBA::Boolean isPlanarWanted);
502 GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires,
503 CORBA::Boolean isPlanarWanted);
504 GEOM::GEOM_Object_ptr MakeFaceWithConstraints (GEOM::GEOM_List_ptr theConstraints);
505 GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells);
506 GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
507 GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells);
508 GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes);
509 GEOM::GEOM_Object_ptr MakeSolidFromConnectedFaces (GEOM::GEOM_List_ptr theFacesOrShells,
510 CORBA::Boolean isIntersect);
511 GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
512 CORBA::Double theTolerance,
513 CORBA::Boolean doKeepNonSolids);
514 GEOM::GEOM_List_ptr GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
515 CORBA::Double theTolerance);
516 GEOM::GEOM_Object_ptr MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
517 CORBA::Double theTolerance,
518 const GEOM::ListOfGO& theFaces,
519 CORBA::Boolean doKeepNonSolids,
520 CORBA::Boolean doGlueAllEdges);
521 GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape,
522 CORBA::Long theShapeType,
523 CORBA::Boolean isSorted);
524 CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
525 CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
526 GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
527
528 GEOM::GEOM_List_ptr GetShapesOnShape (GEOM::GEOM_Object_ptr theCheckShape,
529 GEOM::GEOM_Object_ptr theShape,
530 CORBA::Short theShapeType,
531 GEOM::shape_state theState);
532 GEOM::GEOM_Object_ptr GetShapesOnShapeAsCompound
533 (GEOM::GEOM_Object_ptr theCheckShape,
534 GEOM::GEOM_Object_ptr theShape,
535 CORBA::Short theShapeType,
536 GEOM::shape_state theState);
537
538 //-----------------------------------------------------------//
539 // BlocksOperations //
540 //-----------------------------------------------------------//
541 GEOM::GEOM_Object_ptr MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
542 GEOM::GEOM_Object_ptr thePnt2,
543 GEOM::GEOM_Object_ptr thePnt3,
544 GEOM::GEOM_Object_ptr thePnt4);
545 GEOM::GEOM_Object_ptr MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
546 GEOM::GEOM_Object_ptr theEdge2,
547 GEOM::GEOM_Object_ptr theEdge3,
548 GEOM::GEOM_Object_ptr theEdge4);
549 GEOM::GEOM_Object_ptr MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
550 GEOM::GEOM_Object_ptr theEdge2);
551 GEOM::GEOM_Object_ptr MakeHexa (GEOM::GEOM_Object_ptr theFace1,
552 GEOM::GEOM_Object_ptr theFace2,
553 GEOM::GEOM_Object_ptr theFace3,
554 GEOM::GEOM_Object_ptr theFace4,
555 GEOM::GEOM_Object_ptr theFace5,
556 GEOM::GEOM_Object_ptr theFace6);
557 GEOM::GEOM_Object_ptr MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
558 GEOM::GEOM_Object_ptr theFace2);
559 GEOM::GEOM_Object_ptr GetPoint (GEOM::GEOM_Object_ptr theShape,
560 CORBA::Double theX,
561 CORBA::Double theY,
562 CORBA::Double theZ,
563 CORBA::Double theEpsilon);
564 GEOM::GEOM_Object_ptr GetEdge (GEOM::GEOM_Object_ptr theShape,
565 GEOM::GEOM_Object_ptr thePoint1,
566 GEOM::GEOM_Object_ptr thePoint2);
567 GEOM::GEOM_Object_ptr GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
568 GEOM::GEOM_Object_ptr thePoint);
569 GEOM::GEOM_Object_ptr GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
570 GEOM::GEOM_Object_ptr thePoint1,
571 GEOM::GEOM_Object_ptr thePoint2,
572 GEOM::GEOM_Object_ptr thePoint3,
573 GEOM::GEOM_Object_ptr thePoint4);
574 GEOM::GEOM_Object_ptr GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
575 GEOM::GEOM_Object_ptr theEdge1,
576 GEOM::GEOM_Object_ptr theEdge2);
577 GEOM::GEOM_Object_ptr GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
578 GEOM::GEOM_Object_ptr theFace);
579 GEOM::GEOM_Object_ptr GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
580 GEOM::GEOM_Object_ptr thePoint);
581 GEOM::GEOM_Object_ptr GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
582 GEOM::GEOM_Object_ptr theVector);
583 CORBA::Boolean IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
584 CORBA::Long theMinNbFaces,
585 CORBA::Long theMaxNbFaces,
586 CORBA::Long& theNbBlocks);
587 CORBA::Boolean CheckCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
588 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
589 char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
591 GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
592 CORBA::Long theMinNbFaces,
593 CORBA::Long theMaxNbFaces);
594 GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
595 GEOM::GEOM_Object_ptr thePoint);
596 GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
597 GEOM::GEOM_List_ptr theParts);
598 GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
599 GEOM::GEOM_List_ptr theParts);
600 GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
601 CORBA::Long theDirFace1,
602 CORBA::Long theDirFace2,
603 CORBA::Long theNbTimes);
604 GEOM::GEOM_Object_ptr MakeMultiTransformation2D (GEOM::GEOM_Object_ptr theBlock,
605 CORBA::Long theDirFace1U,
606 CORBA::Long theDirFace2U,
607 CORBA::Long theNbTimesU,
608 CORBA::Long theDirFace1V,
609 CORBA::Long theDirFace2V,
610 CORBA::Long theNbTimesV);
611
612 //-----------------------------------------------------------//
613 // CurvesOperations //
614 //-----------------------------------------------------------//
615 GEOM::GEOM_Object_ptr MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
616 GEOM::GEOM_Object_ptr theVector,
617 CORBA::Double theR);
618 GEOM::GEOM_Object_ptr MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
619 GEOM::GEOM_Object_ptr thePnt2,
620 GEOM::GEOM_Object_ptr thePnt3);
621 GEOM::GEOM_Object_ptr MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
622 GEOM::GEOM_Object_ptr thePnt2,
623 GEOM::GEOM_Object_ptr thePnt3);
624 GEOM::GEOM_Object_ptr MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
625 GEOM::GEOM_Object_ptr theVector,
626 CORBA::Double theRMajor, CORBA::Double theRMinor);
627 GEOM::GEOM_Object_ptr MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
628 GEOM::GEOM_Object_ptr theVector,
629 CORBA::Double theRMajor, CORBA::Double theRMinor,
630 GEOM::GEOM_Object_ptr theVectorMajor);
631 GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
632 GEOM::GEOM_Object_ptr thePnt2,
633 GEOM::GEOM_Object_ptr thePnt3);
634 GEOM::GEOM_Object_ptr MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
635 GEOM::GEOM_Object_ptr thePnt1,
636 GEOM::GEOM_Object_ptr thePnt2,
637 CORBA::Boolean theSense);
638 GEOM::GEOM_Object_ptr MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
639 GEOM::GEOM_Object_ptr thePnt2,
640 GEOM::GEOM_Object_ptr thePnt3);
641 GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints,
642 CORBA::Boolean theIsClosed);
643 GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
644 CORBA::Boolean theIsClosed);
645 GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
646 CORBA::Boolean theIsClosed,
647 CORBA::Boolean theDoReordering);
648 GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand,
649 GEOM::GEOM_List_ptr theWorkingPlane);
650 GEOM::GEOM_Object_ptr Make3DSketcher (GEOM::GEOM_List_ptr theCoordinates);
651
652 //-----------------------------------------------------------//
653 // LocalOperations //
654 //-----------------------------------------------------------//
655 GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
656 CORBA::Double theR);
657 GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
658 GEOM::GEOM_List_ptr theEdges);
659 GEOM::GEOM_Object_ptr MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1,
660 CORBA::Double theR2, GEOM::GEOM_List_ptr theEdges);
661 GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
662 GEOM::GEOM_List_ptr theFaces);
663 GEOM::GEOM_Object_ptr MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1,
664 CORBA::Double theR2, GEOM::GEOM_List_ptr theFaces);
665 GEOM::GEOM_Object_ptr MakeFillet2D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
666 GEOM::GEOM_List_ptr theVertexes);
667 GEOM::GEOM_Object_ptr MakeFillet1D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
668 GEOM::GEOM_List_ptr theVertexes, CORBA::Boolean doIgnoreSecantVertices);
669 GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
670 GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
671 CORBA::Double theD1, CORBA::Double theD2,
672 CORBA::Long theFace1, CORBA::Long theFace2);
673 GEOM::GEOM_Object_ptr MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
674 CORBA::Double theD, CORBA::Double theAngle,
675 CORBA::Long theFace1, CORBA::Long theFace2);
676 GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
677 CORBA::Double theD1, CORBA::Double theD2,
678 GEOM::GEOM_List_ptr theFaces);
679 GEOM::GEOM_Object_ptr MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
680 CORBA::Double theD, CORBA::Double theAngle,
681 GEOM::GEOM_List_ptr theFaces);
682 GEOM::GEOM_Object_ptr MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
683 CORBA::Double theD1, CORBA::Double theD2,
684 GEOM::GEOM_List_ptr theEdges);
685 GEOM::GEOM_Object_ptr MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
686 CORBA::Double theD, CORBA::Double theAngle,
687 GEOM::GEOM_List_ptr theEdges);
688 GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
689 CORBA::Double theWeight,
690 CORBA::Double theWaterDensity,
691 CORBA::Double theMeshingDeflection);
692 CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
693 GEOM::GEOM_Object_ptr theSubShape);
694
695 //-----------------------------------------------------------//
696 // GroupOperations //
697 //-----------------------------------------------------------//
698 GEOM::GEOM_Object_ptr CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
699 CORBA::Long theShapeType);
700 void AddObject (GEOM::GEOM_Object_ptr theGroup,
701 CORBA::Long theSubShapeId);
702 void RemoveObject (GEOM::GEOM_Object_ptr theGroup,
703 CORBA::Long theSubShapeId);
704 CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup);
705 GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
706 GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup);
707
708 //-----------------------------------------------------------//
709 // ImportExport Operations //
710 //-----------------------------------------------------------//
711
712 void ExportSTL( GEOM::GEOM_Object_ptr theObject,
713 const char* theFileName,
714 const bool theIsASCII,
715 CORBA::Double theDeflection,
716 const bool theIsRelative );
717
718 GEOM::GEOM_Object_ptr ImportSTL( const char* theFileName );
719
720 void ExportBREP( GEOM::GEOM_Object_ptr theObject,
721 const char* theFileName );
722
723 GEOM::GEOM_Object_ptr ImportBREP( const char* theFileName );
724
725 void ExportSTEP( GEOM::GEOM_Object_ptr theObject,
726 const char* theFileName );
727
728 GEOM::GEOM_Object_ptr ImportSTEP( const char* theFileName,
729 const bool theIsIgnoreUnits );
730
731 void ExportIGES( GEOM::GEOM_Object_ptr theObject,
732 const char* theFileName,
733 const char* theVersion );
734
735 GEOM::GEOM_Object_ptr ImportIGES( const char* theFileName,
736 const bool theIsIgnoreUnits );
737
738 CORBA::Boolean ExportXAO( GEOM::GEOM_Object_ptr shape,
739 const GEOM::ListOfGO& groups,
740 const GEOM::ListOfFields& fields,
741 const char* author,
742 const char* fileName,
743 const char* shapeFileName);
744 CORBA::Boolean ImportXAO( const char* fileName,
745 GEOM::GEOM_Object_out shape,
746 GEOM::ListOfGO_out subShapes,
747 GEOM::ListOfGO_out groups,
748 GEOM::ListOfFields_out fields );
749
750 void ExportVTK( GEOM::GEOM_Object_ptr theObject,
751 const char* theFileName,
752 CORBA::Double theDeflection );
753
754 //-----------------------------------------------------------//
755 // Advanced Operations //
756 //-----------------------------------------------------------//
757 GEOM::GEOM_List_ptr MakePipeTShape (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
758 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
759 CORBA::Boolean theHexMesh);
760 GEOM::GEOM_List_ptr MakePipeTShapeWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
761 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
762 CORBA::Boolean theHexMesh,
763 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
764 GEOM::GEOM_List_ptr MakePipeTShapeChamfer (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
765 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
766 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh);
767 GEOM::GEOM_List_ptr MakePipeTShapeChamferWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
768 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
769 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
770 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
771 GEOM::GEOM_List_ptr MakePipeTShapeFillet (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
772 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
773 CORBA::Double theRF, CORBA::Boolean theHexMesh);
774 GEOM::GEOM_List_ptr MakePipeTShapeFilletWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
775 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
776 CORBA::Double theRF, CORBA::Boolean theHexMesh,
777 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
778 GEOM::GEOM_Object_ptr MakeDividedDisk (CORBA::Double theR, CORBA::Double theRatio,
779 CORBA::Short theOrientation, GEOM::pattern thePattern);
780 GEOM::GEOM_Object_ptr MakeDividedCylinder (CORBA::Double theR,
781 CORBA::Double theH,
782 GEOM::pattern thePattern);
783 GEOM::GEOM_Object_ptr MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints);
784
785 //-----------------------------------------------------------//
786 // Measure Operations //
787 //-----------------------------------------------------------//
788 GEOM::GEOM_List_ptr PatchFace(GEOM::GEOM_Object_ptr theShape);
789 /*@@ insert new functions before this line @@ do not remove this line @@*/
790
791protected:
792 SALOME_NamingService_Abstract * name_service = nullptr;
793private:
794 GEOM::GEOM_Gen_var myGeomEngine;
795 PortableServer::POA_var myPOA;
796
797 GEOM::GEOM_IBasicOperations_var myBasicOp;
798 GEOM::GEOM_I3DPrimOperations_var my3DPrimOp;
799 GEOM::GEOM_IBooleanOperations_var myBoolOp;
800 GEOM::GEOM_IInsertOperations_var myInsOp;
801 GEOM::GEOM_ITransformOperations_var myTransfOp;
802 GEOM::GEOM_IShapesOperations_var myShapesOp;
803 GEOM::GEOM_IBlocksOperations_var myBlocksOp;
804 GEOM::GEOM_ICurvesOperations_var myCurvesOp;
805 GEOM::GEOM_ILocalOperations_var myLocalOp;
806 GEOM::GEOM_IMeasureOperations_var myMeasureOp;
807 GEOM::GEOM_IGroupOperations_var myGroupOp;
808 GEOM::IAdvancedOperations_var myAdvancedOp;
809 GEOM::ISTLOperations_var mySTLOp;
810 GEOM::IBREPOperations_var myBREPOp;
811 GEOM::ISTEPOperations_var mySTEPOp;
812 GEOM::IIGESOperations_var myIGESOp;
813 GEOM::IXAOOperations_var myXAOOp;
814#ifdef WITH_VTK
815 GEOM::IVTKOperations_var myVTKOp;
816#endif
817};
818
820{
821public:
822 GEOM_Superv_i_With_Session(CORBA::ORB_ptr orb,
823 PortableServer::POA_ptr poa,
824 PortableServer::ObjectId * contId,
825 const char *instanceName,
826 const char *interfaceName);
827};
828
830{
831public:
832 GEOM_Superv_i_Without_Session(CORBA::ORB_ptr orb,
833 PortableServer::POA_ptr poa,
834 PortableServer::ObjectId * contId,
835 const char *instanceName,
836 const char *interfaceName,
837 SALOME_NamingService_Abstract *my_name_service);
838};
839
840#endif
#define GEOM_I_SUPERV_EXPORT
Definition: GEOM_I_Superv.hxx:37
Definition: GEOM_Superv_i.hh:820
Definition: GEOM_Superv_i.hh:830
Definition: GEOM_Superv_i.hh:49
GEOM::GEOM_IInsertOperations_var myInsOp
Definition: GEOM_Superv_i.hh:800
GEOM::GEOM_ICurvesOperations_var myCurvesOp
Definition: GEOM_Superv_i.hh:804
GEOM::IXAOOperations_var myXAOOp
Definition: GEOM_Superv_i.hh:813
GEOM::GEOM_IBlocksOperations_var myBlocksOp
Definition: GEOM_Superv_i.hh:803
GEOM::ISTEPOperations_var mySTEPOp
Definition: GEOM_Superv_i.hh:811
GEOM::IIGESOperations_var myIGESOp
Definition: GEOM_Superv_i.hh:812
GEOM::GEOM_IGroupOperations_var myGroupOp
Definition: GEOM_Superv_i.hh:807
GEOM::GEOM_IShapesOperations_var myShapesOp
Definition: GEOM_Superv_i.hh:802
GEOM::IBREPOperations_var myBREPOp
Definition: GEOM_Superv_i.hh:810
GEOM::GEOM_ILocalOperations_var myLocalOp
Definition: GEOM_Superv_i.hh:805
GEOM::GEOM_IMeasureOperations_var myMeasureOp
Definition: GEOM_Superv_i.hh:806
GEOM::GEOM_Gen_var myGeomEngine
Definition: GEOM_Superv_i.hh:794
PortableServer::POA_var myPOA
Definition: GEOM_Superv_i.hh:795
GEOM::GEOM_ITransformOperations_var myTransfOp
Definition: GEOM_Superv_i.hh:801
GEOM::GEOM_IBasicOperations_var myBasicOp
Definition: GEOM_Superv_i.hh:797
GEOM::ISTLOperations_var mySTLOp
Definition: GEOM_Superv_i.hh:809
GEOM::GEOM_IBooleanOperations_var myBoolOp
Definition: GEOM_Superv_i.hh:799
GEOM::GEOM_I3DPrimOperations_var my3DPrimOp
Definition: GEOM_Superv_i.hh:798
GEOM::IAdvancedOperations_var myAdvancedOp
Definition: GEOM_Superv_i.hh:808
sequence< BCError > BCErrors
Sequence of all Blocks Compound defects.
Definition: GEOM_Gen.idl:3141
Standard_EXPORT TopoDS_Shape GetEdgeNearPoint(const TopoDS_Shape &theShape, const TopoDS_Vertex &thePoint)
Find an edge of theShape, closest to thePoint.
Definition: GEOMUtils.cxx:627
filling_oper_method
Kind of method to perform filling operation.
Definition: GEOM_Gen.idl:155
pattern
Pattern for block division of the disk.
Definition: AdvancedGEOM.idl:32
sequence< GEOM_Object > ListOfGO
Definition: GEOM_Gen.idl:290
sequence< GEOM_Field > ListOfFields
Definition: GEOM_Gen.idl:292
shape_state
State of shape relatively geometrical surface like plane, sphere or cylinder.
Definition: GEOM_Gen.idl:82