Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
GEOM_Superv_i.hh
Go to the documentation of this file.
1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, 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 
47 class GEOM_I_SUPERV_EXPORT GEOM_Superv_i : public virtual POA_GEOM::GEOM_Superv,
48  public Engines_Component_i
49 {
50 public:
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);
56  ~GEOM_Superv_i();
57 
58  // generic method to be put in a super class
59  void register_name(char * name);
60  void setGeomEngine();
61 
62  void getBasicOp();
63  void get3DPrimOp();
64  void getBoolOp();
65  void getInsOp();
66  void getTransfOp();
67  void getShapesOp();
68  void getBlocksOp();
69  void getCurvesOp();
70  void getLocalOp();
71  void getGroupOp();
72  void getAdvancedOp();
73  void getSTLPluginOp();
74  void getBREPPluginOp();
75  void getSTEPPluginOp();
76  void getIGESPluginOp();
77  void getXAOPluginOp();
78 #ifdef WITH_VTK
79  void getVTKPluginOp();
80 #endif
81  PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject,
82  PortableServer::POA_ptr thePOA);
83 
84  //-----------------------------------------------------------------------//
85  // Set current stydy ID //
86  //-----------------------------------------------------------------------//
87  void SetStudyID( CORBA::Long theId );
88 
89  //-----------------------------------------------------------//
90  // Create ListOfGO and add items to it //
91  //-----------------------------------------------------------//
92  GEOM::GEOM_List_ptr CreateListOfGO();
93  void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
94  GEOM::GEOM_Object_ptr theObject);
95 
96  //-----------------------------------------------------------//
97  // Create ListOfLong and add items to it //
98  //-----------------------------------------------------------//
99  GEOM::GEOM_List_ptr CreateListOfLong();
100  void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
101  CORBA::Long theObject);
102 
103  //-----------------------------------------------------------//
104  // Create ListOfDouble and add items to it //
105  //-----------------------------------------------------------//
106  GEOM::GEOM_List_ptr CreateListOfDouble();
107  void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
108  CORBA::Double theObject);
109 
110  //-----------------------------------------------------------------------//
111  // Inherited methods from SALOMEDS::Driver //
112  //-----------------------------------------------------------------------//
113 
114  SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
115  const char* theURL,
116  CORBA::Boolean isMultiFile);
117 
118  SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
119  const char* theURL,
120  CORBA::Boolean isMultiFile);
121 
122  CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
123  const SALOMEDS::TMPFile& theStream,
124  const char* theURL,
125  CORBA::Boolean isMultiFile);
126 
127  CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
128  const SALOMEDS::TMPFile& theStream,
129  const char* theURL,
130  CORBA::Boolean isMultiFile);
131 
132  void Close(SALOMEDS::SComponent_ptr theComponent);
133  char* ComponentDataType();
134 
135 
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);
144 
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) ;
150 
151  GEOM::ListOfGO* PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
152  //SALOMEDS::SObject_ptr theSObject,
153  CORBA::Object_ptr theObject);
154 
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);
161 
162  //-----------------------------------------------------------//
163  // Primitives Construction : BasicOperations //
164  //-----------------------------------------------------------//
165  GEOM::GEOM_Object_ptr MakePointXYZ (CORBA::Double theX,
166  CORBA::Double theY,
167  CORBA::Double theZ);
168  GEOM::GEOM_Object_ptr MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
169  CORBA::Double theX,
170  CORBA::Double theY,
171  CORBA::Double theZ);
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,
193  CORBA::Double theDY,
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);
219 
220  GEOM::GEOM_Object_ptr MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape);
221 
222  GEOM::GEOM_Object_ptr MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
223  GEOM::GEOM_Object_ptr theXVec,
224  GEOM::GEOM_Object_ptr theYVec);
225 
226  GEOM::GEOM_Object_ptr MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
227  CORBA::Double theParameterU,
228  CORBA::Double theParameterV,
229  CORBA::Double theTrimSize);
230 
231  //-----------------------------------------------------------//
232  // Primitives Construction : 3DPrimOperations //
233  //-----------------------------------------------------------//
234  GEOM::GEOM_Object_ptr MakeBox (CORBA::Double theX1,
235  CORBA::Double theY1,
236  CORBA::Double theZ1,
237  CORBA::Double theX2,
238  CORBA::Double theY2,
239  CORBA::Double theZ2);
240  GEOM::GEOM_Object_ptr MakeBoxDXDYDZ (CORBA::Double theDX,
241  CORBA::Double theDY,
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,
246  CORBA::Double theW,
247  CORBA::Short theOrientation);
248  GEOM::GEOM_Object_ptr MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
249  CORBA::Double theH,
250  CORBA::Double theW);
251  GEOM::GEOM_Object_ptr MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
252  GEOM::GEOM_Object_ptr theVector,
253  CORBA::Double theR);
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,
264  CORBA::Double theH);
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,
271  CORBA::Double theH,
272  CORBA::Double theA);
273  GEOM::GEOM_Object_ptr MakeSphere (CORBA::Double theX,
274  CORBA::Double theY,
275  CORBA::Double theZ,
276  CORBA::Double theRadius);
277  GEOM::GEOM_Object_ptr MakeSphereR (CORBA::Double theR);
278  GEOM::GEOM_Object_ptr MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
279  CORBA::Double theR);
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,
288  CORBA::Double theR1,
289  CORBA::Double theR2,
290  CORBA::Double theHeight);
291  GEOM::GEOM_Object_ptr MakeConeR1R2H (CORBA::Double theR1,
292  CORBA::Double theR2,
293  CORBA::Double theHeight);
294  GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
295  GEOM::GEOM_Object_ptr theVec,
296  CORBA::Double theH);
297  GEOM::GEOM_Object_ptr MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
298  GEOM::GEOM_Object_ptr theVec,
299  CORBA::Double theH);
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,
307  CORBA::Double theDX,
308  CORBA::Double theDY,
309  CORBA::Double theDZ);
310  GEOM::GEOM_Object_ptr MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
311  CORBA::Double theDX,
312  CORBA::Double theDY,
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,
326  GEOM::filling_oper_method theMethod,
327  CORBA::Boolean theApprox);
328 
329  GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections,
330  CORBA::Boolean theModeSolid,
331  CORBA::Double thePreci,
332  CORBA::Boolean theRuled);
333 
334  GEOM::GEOM_Object_ptr MakePipeWithDifferentSections(const GEOM::ListOfGO& theBases,
335  const GEOM::ListOfGO& theLocations,
336  GEOM::GEOM_Object_ptr thePath,
337  CORBA::Boolean theWithContact,
338  CORBA::Boolean theWithCorrections);
339 
340  GEOM::GEOM_Object_ptr MakePipeWithShellSections(const GEOM::ListOfGO& theBases,
341  const GEOM::ListOfGO& theSubBases,
342  const GEOM::ListOfGO& theLocations,
343  GEOM::GEOM_Object_ptr thePath,
344  CORBA::Boolean theWithContact,
345  CORBA::Boolean theWithCorrections);
346 
347  GEOM::GEOM_Object_ptr MakePipeShellsWithoutPath(const GEOM::ListOfGO& theBases,
348  const GEOM::ListOfGO& theLocations);
349 
350  GEOM::GEOM_Object_ptr MakePipeBiNormalAlongVector (GEOM::GEOM_Object_ptr theBase,
351  GEOM::GEOM_Object_ptr thePath,
352  GEOM::GEOM_Object_ptr theVec);
353 
354  //-----------------------------------------------------------//
355  // BooleanOperations //
356  //-----------------------------------------------------------//
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);
378 
379  //-----------------------------------------------------------//
380  // InsertOperations //
381  //-----------------------------------------------------------//
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);
388 
389  //-----------------------------------------------------------//
390  // TransformOperations //
391  //-----------------------------------------------------------//
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,
399  CORBA::Double theDX,
400  CORBA::Double theDY,
401  CORBA::Double theDZ);
402  GEOM::GEOM_Object_ptr TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
403  CORBA::Double theDX,
404  CORBA::Double theDY,
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);
431 
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);
436 
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);
441 
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);
494 
495  //-----------------------------------------------------------//
496  // ShapesOperations //
497  //-----------------------------------------------------------//
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,
523  const GEOM::ListOfGO& theFaces,
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);
532 
533  GEOM::GEOM_List_ptr GetShapesOnShape (GEOM::GEOM_Object_ptr theCheckShape,
534  GEOM::GEOM_Object_ptr theShape,
535  CORBA::Short theShapeType,
536  GEOM::shape_state theState);
537  GEOM::GEOM_Object_ptr GetShapesOnShapeAsCompound
538  (GEOM::GEOM_Object_ptr theCheckShape,
539  GEOM::GEOM_Object_ptr theShape,
540  CORBA::Short theShapeType,
541  GEOM::shape_state theState);
542 
543  //-----------------------------------------------------------//
544  // BlocksOperations //
545  //-----------------------------------------------------------//
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,
565  CORBA::Double theX,
566  CORBA::Double theY,
567  CORBA::Double theZ,
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);
572  GEOM::GEOM_Object_ptr GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
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,
595  const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors);
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);
616 
617  //-----------------------------------------------------------//
618  // CurvesOperations //
619  //-----------------------------------------------------------//
620  GEOM::GEOM_Object_ptr MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
621  GEOM::GEOM_Object_ptr theVector,
622  CORBA::Double theR);
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);
656 
657  //-----------------------------------------------------------//
658  // LocalOperations //
659  //-----------------------------------------------------------//
660  GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
661  CORBA::Double theR);
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);
699 
700  //-----------------------------------------------------------//
701  // GroupOperations //
702  //-----------------------------------------------------------//
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);
712 
713  //-----------------------------------------------------------//
714  // ImportExport Operations //
715  //-----------------------------------------------------------//
716 
717  void ExportSTL( GEOM::GEOM_Object_ptr theObject,
718  const char* theFileName,
719  const bool theIsASCII,
720  CORBA::Double theDeflection,
721  const bool theIsRelative );
722 
723  GEOM::GEOM_Object_ptr ImportSTL( const char* theFileName );
724 
725  void ExportBREP( GEOM::GEOM_Object_ptr theObject,
726  const char* theFileName );
727 
728  GEOM::GEOM_Object_ptr ImportBREP( const char* theFileName );
729 
730  void ExportSTEP( GEOM::GEOM_Object_ptr theObject,
731  const char* theFileName );
732 
733  GEOM::GEOM_Object_ptr ImportSTEP( const char* theFileName,
734  const bool theIsIgnoreUnits );
735 
736  void ExportIGES( GEOM::GEOM_Object_ptr theObject,
737  const char* theFileName,
738  const char* theVersion );
739 
740  GEOM::GEOM_Object_ptr ImportIGES( const char* theFileName,
741  const bool theIsIgnoreUnits );
742 
743  CORBA::Boolean ExportXAO( GEOM::GEOM_Object_ptr shape,
744  const GEOM::ListOfGO& groups,
745  const GEOM::ListOfFields& fields,
746  const char* author,
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 );
754 
755  void ExportVTK( GEOM::GEOM_Object_ptr theObject,
756  const char* theFileName,
757  CORBA::Double theDeflection );
758 
759  //-----------------------------------------------------------//
760  // Advanced Operations //
761  //-----------------------------------------------------------//
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,
784  CORBA::Short theOrientation, GEOM::pattern thePattern);
785  GEOM::GEOM_Object_ptr MakeDividedCylinder (CORBA::Double theR,
786  CORBA::Double theH,
787  GEOM::pattern thePattern);
788  GEOM::GEOM_Object_ptr MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints);
789  /*@@ insert new functions before this line @@ do not remove this line @@*/
790 
791 private:
792  SALOME_NamingService * name_service;
793  GEOM::GEOM_Gen_var myGeomEngine;
794  CORBA::Long myStudyID;
795  CORBA::Long myLastStudyID; // mkr : PAL10770
796  PortableServer::POA_var myPOA;
797 
798  GEOM::GEOM_IBasicOperations_var myBasicOp;
799  GEOM::GEOM_I3DPrimOperations_var my3DPrimOp;
800  GEOM::GEOM_IBooleanOperations_var myBoolOp;
801  GEOM::GEOM_IInsertOperations_var myInsOp;
802  GEOM::GEOM_ITransformOperations_var myTransfOp;
803  GEOM::GEOM_IShapesOperations_var myShapesOp;
804  GEOM::GEOM_IBlocksOperations_var myBlocksOp;
805  GEOM::GEOM_ICurvesOperations_var myCurvesOp;
806  GEOM::GEOM_ILocalOperations_var myLocalOp;
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 
819 #endif