Back to index

salome-geom  6.5.0
GEOM_Superv_i.hh
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 #ifndef __GEOM_SUPERV_I_H__
00024 #define __GEOM_SUPERV_I_H__
00025 
00026 #include "GEOM_I_Superv.hxx"
00027 
00028 // IDL headers
00029 #include <SALOMEconfig.h>
00030 #include CORBA_SERVER_HEADER(GEOM_Superv)
00031 
00032 #include "GEOM_Gen_i.hh"
00033 #include "GEOM_List_i.hh"
00034 
00035 class GEOM_I_SUPERV_EXPORT GEOM_Superv_i : public virtual POA_GEOM::GEOM_Superv,
00036                                            public Engines_Component_i
00037 {
00038 public:
00039   GEOM_Superv_i(CORBA::ORB_ptr orb,
00040                 PortableServer::POA_ptr poa,
00041                 PortableServer::ObjectId * contId,
00042                 const char *instanceName,
00043                 const char *interfaceName);
00044   ~GEOM_Superv_i();
00045 
00046   // generic method to be put in a super class
00047   void register_name(char * name);
00048   void setGeomEngine();
00049 
00050   void getBasicOp();
00051   void get3DPrimOp();
00052   void getBoolOp();
00053   void getInsOp();
00054   void getTransfOp();
00055   void getShapesOp();
00056   void getBlocksOp();
00057   void getCurvesOp();
00058   void getLocalOp();
00059   void getGroupOp();
00060   void getAdvancedOp();
00061 
00062   PortableServer::ServantBase_var GetServant(CORBA::Object_ptr       theObject,
00063                                              PortableServer::POA_ptr thePOA);
00064 
00065   //-----------------------------------------------------------------------//
00066   // Set current stydy ID                                                  //
00067   //-----------------------------------------------------------------------//
00068   void SetStudyID( CORBA::Long theId );
00069 
00070   //-----------------------------------------------------------//
00071   // Create ListOfGO and add items to it                       //
00072   //-----------------------------------------------------------//
00073   GEOM::GEOM_List_ptr CreateListOfGO();
00074   void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
00075                          GEOM::GEOM_Object_ptr theObject);
00076 
00077   //-----------------------------------------------------------//
00078   // Create ListOfLong and add items to it                     //
00079   //-----------------------------------------------------------//
00080   GEOM::GEOM_List_ptr CreateListOfLong();
00081   void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
00082                            CORBA::Long theObject);
00083 
00084   //-----------------------------------------------------------//
00085   // Create ListOfDouble and add items to it                   //
00086   //-----------------------------------------------------------//
00087   GEOM::GEOM_List_ptr CreateListOfDouble();
00088   void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
00089                              CORBA::Double theObject);
00090 
00091   //-----------------------------------------------------------------------//
00092   // Inherited methods from SALOMEDS::Driver                               //
00093   //-----------------------------------------------------------------------//
00094 
00095   SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
00096                           const char* theURL,
00097                           CORBA::Boolean isMultiFile);
00098 
00099   SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
00100                                const char* theURL,
00101                                CORBA::Boolean isMultiFile);
00102 
00103   CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
00104                       const SALOMEDS::TMPFile& theStream,
00105                       const char* theURL,
00106                       CORBA::Boolean isMultiFile);
00107 
00108   CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
00109                            const SALOMEDS::TMPFile& theStream,
00110                            const char* theURL,
00111                            CORBA::Boolean isMultiFile);
00112 
00113   void Close(SALOMEDS::SComponent_ptr theComponent);
00114   char* ComponentDataType();
00115 
00116 
00117   char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
00118                                const char* IORString,
00119                                CORBA::Boolean isMultiFile,
00120                                CORBA::Boolean isASCII);
00121   char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
00122                                const char* aLocalPersistentID,
00123                                CORBA::Boolean isMultiFile,
00124                                CORBA::Boolean isASCII);
00125 
00126   CORBA::Boolean CanPublishInStudy(CORBA::Object_ptr theIOR);
00127   SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
00128                                        SALOMEDS::SObject_ptr theSObject,
00129                                        CORBA::Object_ptr theObject,
00130                                        const char* theName) throw (SALOME::SALOME_Exception) ;
00131 
00132   GEOM::ListOfGO* PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
00133                                             //SALOMEDS::SObject_ptr theSObject,
00134                                             CORBA::Object_ptr theObject);
00135 
00136   CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
00137   SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
00138   CORBA::Boolean CanPaste(const char* theComponentName, CORBA::Long theObjectID);
00139   SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
00140                                   CORBA::Long theObjectID,
00141                                   SALOMEDS::SObject_ptr theObject);
00142 
00143   //-----------------------------------------------------------//
00144   // Primitives Construction : BasicOperations                 //
00145   //-----------------------------------------------------------//
00146   GEOM::GEOM_Object_ptr MakePointXYZ (CORBA::Double theX,
00147                                       CORBA::Double theY,
00148                                       CORBA::Double theZ);
00149   GEOM::GEOM_Object_ptr MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
00150                                                 CORBA::Double theX,
00151                                                 CORBA::Double theY,
00152                                                 CORBA::Double theZ);
00153   GEOM::GEOM_Object_ptr MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
00154                                           CORBA::Double theParameter);
00155   GEOM::GEOM_Object_ptr MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
00156                                                   CORBA::Double theLength,
00157                                                   GEOM::GEOM_Object_ptr theStartPoint);
00158   GEOM::GEOM_Object_ptr MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
00159                                                  CORBA::Double theXParameter,
00160                                                  CORBA::Double theYParameter,
00161                                                  CORBA::Double theZParameter);
00162   GEOM::GEOM_Object_ptr MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
00163                                             CORBA::Double theUParameter,
00164                                             CORBA::Double theVParameter);
00165   GEOM::GEOM_Object_ptr MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
00166                                                    CORBA::Double theXParameter,
00167                                                    CORBA::Double theYParameter,
00168                                                    CORBA::Double theZParameter);
00169   GEOM::GEOM_Object_ptr MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
00170                                                       GEOM::GEOM_Object_ptr theRefLine2);
00171   GEOM::GEOM_Object_ptr MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
00172                                              CORBA::Double theParameter);
00173   GEOM::GEOM_Object_ptr MakeVectorDXDYDZ (CORBA::Double theDX,
00174                                           CORBA::Double theDY,
00175                                           CORBA::Double theDZ);
00176   GEOM::GEOM_Object_ptr MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
00177                                           GEOM::GEOM_Object_ptr thePnt2);
00178   GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
00179                                         GEOM::GEOM_Object_ptr thePnt2);
00180   GEOM::GEOM_Object_ptr MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
00181                                           GEOM::GEOM_Object_ptr theFace2);
00182   GEOM::GEOM_Object_ptr MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
00183                                            GEOM::GEOM_Object_ptr thePnt2,
00184                                            GEOM::GEOM_Object_ptr thePnt3,
00185                                            CORBA::Double theTrimSize);
00186   GEOM::GEOM_Object_ptr MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
00187                                          GEOM::GEOM_Object_ptr theVec,
00188                                          CORBA::Double theTrimSize);
00189   GEOM::GEOM_Object_ptr MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
00190                                        CORBA::Double theTrimSize);
00191   GEOM::GEOM_Object_ptr MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
00192                                        GEOM::GEOM_Object_ptr theVec2,
00193                                        CORBA::Double theTrimSize);
00194   GEOM::GEOM_Object_ptr MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
00195                                       CORBA::Double theTrimSize,
00196                                       CORBA::Double theOrientation);
00197   GEOM::GEOM_Object_ptr MakeMarker (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
00198                                     CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
00199                                     CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ);
00200 
00201   GEOM::GEOM_Object_ptr MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape);
00202 
00203   GEOM::GEOM_Object_ptr MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
00204                                              GEOM::GEOM_Object_ptr theXVec,
00205                                              GEOM::GEOM_Object_ptr theYVec);
00206 
00207   GEOM::GEOM_Object_ptr MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
00208                                                  CORBA::Double theParameterU,
00209                                                  CORBA::Double theParameterV,
00210                                                  CORBA::Double theTrimSize);
00211 
00212   //-----------------------------------------------------------//
00213   // Primitives Construction : 3DPrimOperations                //
00214   //-----------------------------------------------------------//
00215   GEOM::GEOM_Object_ptr MakeBox (CORBA::Double theX1,
00216                                  CORBA::Double theY1,
00217                                  CORBA::Double theZ1,
00218                                  CORBA::Double theX2,
00219                                  CORBA::Double theY2,
00220                                  CORBA::Double theZ2);
00221   GEOM::GEOM_Object_ptr MakeBoxDXDYDZ (CORBA::Double theDX,
00222                                        CORBA::Double theDY,
00223                                        CORBA::Double theDZ);
00224   GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
00225                                        GEOM::GEOM_Object_ptr thePnt2);
00226   GEOM::GEOM_Object_ptr MakeFaceHW (CORBA::Double theH,
00227                                     CORBA::Double theW,
00228                                     CORBA::Short  theOrientation);
00229   GEOM::GEOM_Object_ptr MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
00230                                        CORBA::Double theH,
00231                                        CORBA::Double theW);
00232   GEOM::GEOM_Object_ptr MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
00233                                          GEOM::GEOM_Object_ptr theVector,
00234                                          CORBA::Double theR);
00235   GEOM::GEOM_Object_ptr MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
00236                                           GEOM::GEOM_Object_ptr thePnt2,
00237                                           GEOM::GEOM_Object_ptr thePnt3);
00238   GEOM::GEOM_Object_ptr MakeDiskR (CORBA::Double theR,
00239                                    CORBA::Short  theOrientation);
00240   GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
00241                                               GEOM::GEOM_Object_ptr theAxis,
00242                                               CORBA::Double theRadius,
00243                                               CORBA::Double theHeight);
00244   GEOM::GEOM_Object_ptr MakeCylinderRH (CORBA::Double theR,
00245                                         CORBA::Double theH);
00246   GEOM::GEOM_Object_ptr MakeSphere (CORBA::Double theX,
00247                                     CORBA::Double theY,
00248                                     CORBA::Double theZ,
00249                                     CORBA::Double theRadius);
00250   GEOM::GEOM_Object_ptr MakeSphereR (CORBA::Double theR);
00251   GEOM::GEOM_Object_ptr MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
00252                                         CORBA::Double theR);
00253   GEOM::GEOM_Object_ptr MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
00254                                            GEOM::GEOM_Object_ptr theVec,
00255                                            CORBA::Double theRMajor,
00256                                            CORBA::Double theRMinor);
00257   GEOM::GEOM_Object_ptr MakeTorusRR (CORBA::Double theRMajor,
00258                                      CORBA::Double theRMinor);
00259   GEOM::GEOM_Object_ptr MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
00260                                              GEOM::GEOM_Object_ptr theAxis,
00261                                              CORBA::Double theR1,
00262                                              CORBA::Double theR2,
00263                                              CORBA::Double theHeight);
00264   GEOM::GEOM_Object_ptr MakeConeR1R2H (CORBA::Double theR1,
00265                                        CORBA::Double theR2,
00266                                        CORBA::Double theHeight);
00267   GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
00268                                        GEOM::GEOM_Object_ptr theVec,
00269                                        CORBA::Double         theH);
00270   GEOM::GEOM_Object_ptr MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
00271                                             GEOM::GEOM_Object_ptr theVec,
00272                                             CORBA::Double         theH);
00273   GEOM::GEOM_Object_ptr MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
00274                                          GEOM::GEOM_Object_ptr thePoint1,
00275                                          GEOM::GEOM_Object_ptr thePoint2);
00276   GEOM::GEOM_Object_ptr MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
00277                                               GEOM::GEOM_Object_ptr thePoint1,
00278                                               GEOM::GEOM_Object_ptr thePoint2);
00279   GEOM::GEOM_Object_ptr MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
00280                                          CORBA::Double         theDX,
00281                                          CORBA::Double         theDY,
00282                                          CORBA::Double         theDZ);
00283   GEOM::GEOM_Object_ptr MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
00284                                               CORBA::Double         theDX,
00285                                               CORBA::Double         theDY,
00286                                               CORBA::Double         theDZ);
00287   GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase,
00288                                   GEOM::GEOM_Object_ptr thePath);
00289   GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
00290                                                  GEOM::GEOM_Object_ptr theAxis,
00291                                                  CORBA::Double theAngle);
00292   GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
00293                                                       GEOM::GEOM_Object_ptr theAxis,
00294                                                       CORBA::Double theAngle);
00295   GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape,
00296                                      CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
00297                                      CORBA::Double theTol2D, CORBA::Double theTol3D,
00298                                      CORBA::Long theNbIter,
00299                                      GEOM::filling_oper_method theMethod,
00300                                      CORBA::Boolean theApprox);
00301 
00302   GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections,
00303                                          CORBA::Boolean theModeSolid,
00304                                          CORBA::Double thePreci,
00305                                          CORBA::Boolean theRuled);
00306 
00307   GEOM::GEOM_Object_ptr MakePipeWithDifferentSections(const GEOM::ListOfGO& theBases,
00308                                                       const GEOM::ListOfGO& theLocations,
00309                                                       GEOM::GEOM_Object_ptr thePath,
00310                                                       CORBA::Boolean theWithContact,
00311                                                       CORBA::Boolean theWithCorrections);
00312 
00313   GEOM::GEOM_Object_ptr MakePipeWithShellSections(const GEOM::ListOfGO& theBases,
00314                                                   const GEOM::ListOfGO& theSubBases,
00315                                                   const GEOM::ListOfGO& theLocations,
00316                                                   GEOM::GEOM_Object_ptr thePath,
00317                                                   CORBA::Boolean theWithContact,
00318                                                   CORBA::Boolean theWithCorrections);
00319 
00320   GEOM::GEOM_Object_ptr MakePipeShellsWithoutPath(const GEOM::ListOfGO& theBases,
00321                                                   const GEOM::ListOfGO& theLocations);
00322 
00323   GEOM::GEOM_Object_ptr MakePipeBiNormalAlongVector (GEOM::GEOM_Object_ptr theBase,
00324                                                      GEOM::GEOM_Object_ptr thePath,
00325                                                      GEOM::GEOM_Object_ptr theVec);
00326 
00327   //-----------------------------------------------------------//
00328   // BooleanOperations                                         //
00329   //-----------------------------------------------------------//
00330   GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
00331                                      GEOM::GEOM_Object_ptr theShape2,
00332                                      CORBA::Long theOperation);
00333   GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
00334                                   GEOM::GEOM_Object_ptr theShape2);
00335   GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr   theShapes,
00336                                        GEOM::GEOM_List_ptr   theTools,
00337                                        GEOM::GEOM_List_ptr   theKeepInside,
00338                                        GEOM::GEOM_List_ptr   theRemoveInside,
00339                                        CORBA::Short      theLimit,
00340                                        CORBA::Boolean    theRemoveWebs,
00341                                        GEOM::GEOM_List_ptr theMaterials,
00342                                        CORBA::Short theKeepNonlimitShapes);
00343   GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
00344                                            GEOM::GEOM_Object_ptr thePlane);
00345 
00346   //-----------------------------------------------------------//
00347   // InsertOperations                                          //
00348   //-----------------------------------------------------------//
00349   GEOM::GEOM_Object_ptr MakeCopy (GEOM::GEOM_Object_ptr theOriginal);
00350   void Export (GEOM::GEOM_Object_ptr theObject,
00351                const char*           theFileName,
00352                const char*           theFormatName);
00353   GEOM::GEOM_Object_ptr ImportFile (const char* theFileName,
00354                                     const char* theFormatName);
00355   void ImportTranslators (GEOM::string_array_out theFormats,
00356                           GEOM::string_array_out thePatterns);
00357   void ExportTranslators (GEOM::string_array_out theFormats,
00358                           GEOM::string_array_out thePatterns);
00359 
00360   //-----------------------------------------------------------//
00361   // TransformOperations                                       //
00362   //-----------------------------------------------------------//
00363   GEOM::GEOM_Object_ptr TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
00364                                             GEOM::GEOM_Object_ptr thePoint1,
00365                                             GEOM::GEOM_Object_ptr thePoint2);
00366   GEOM::GEOM_Object_ptr TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
00367                                                 GEOM::GEOM_Object_ptr thePoint1,
00368                                                 GEOM::GEOM_Object_ptr thePoint2);
00369   GEOM::GEOM_Object_ptr TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
00370                                          CORBA::Double theDX,
00371                                          CORBA::Double theDY,
00372                                          CORBA::Double theDZ);
00373   GEOM::GEOM_Object_ptr TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
00374                                              CORBA::Double theDX,
00375                                              CORBA::Double theDY,
00376                                              CORBA::Double theDZ);
00377   GEOM::GEOM_Object_ptr TranslateVector (GEOM::GEOM_Object_ptr theObject,
00378                                          GEOM::GEOM_Object_ptr theVector);
00379   GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
00380                                              GEOM::GEOM_Object_ptr theVector);
00381   GEOM::GEOM_Object_ptr TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
00382                                                  GEOM::GEOM_Object_ptr theVector,
00383                                                  CORBA::Double theDistance,
00384                                                  CORBA::Boolean theCopy);
00385   GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
00386                                           GEOM::GEOM_Object_ptr theVector,
00387                                           CORBA::Double theStep,
00388                                           CORBA::Long theNbTimes);
00389   GEOM::GEOM_Object_ptr MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
00390                                           GEOM::GEOM_Object_ptr theVector1,
00391                                           CORBA::Double theStep1,
00392                                           CORBA::Long theNbTimes1,
00393                                           GEOM::GEOM_Object_ptr theVector2,
00394                                           CORBA::Double theStep2,
00395                                           CORBA::Long theNbTimes2);
00396   GEOM::GEOM_Object_ptr Rotate (GEOM::GEOM_Object_ptr theObject,
00397                                 GEOM::GEOM_Object_ptr theAxis,
00398                                 CORBA::Double theAngle);
00399   GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject,
00400                                     GEOM::GEOM_Object_ptr theAxis,
00401                                     CORBA::Double theAngle);
00402 
00403   GEOM::GEOM_Object_ptr RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
00404                                            GEOM::GEOM_Object_ptr theCentPoint,
00405                                            GEOM::GEOM_Object_ptr thePoint1,
00406                                            GEOM::GEOM_Object_ptr thePoint2);
00407 
00408   GEOM::GEOM_Object_ptr RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
00409                                                GEOM::GEOM_Object_ptr theCentPoint,
00410                                                GEOM::GEOM_Object_ptr thePoint1,
00411                                                GEOM::GEOM_Object_ptr thePoint2);
00412 
00413   GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
00414                                        GEOM::GEOM_Object_ptr theAxis,
00415                                        CORBA::Long theNbTimes);
00416   GEOM::GEOM_Object_ptr MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
00417                                        GEOM::GEOM_Object_ptr theAxis,
00418                                        CORBA::Double theAngle,
00419                                        CORBA::Long theNbTimes1,
00420                                        CORBA::Double theStep,
00421                                        CORBA::Long theNbTimes2);
00422   GEOM::GEOM_Object_ptr MirrorPlane (GEOM::GEOM_Object_ptr theObject,
00423                                      GEOM::GEOM_Object_ptr thePlane);
00424   GEOM::GEOM_Object_ptr MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
00425                                          GEOM::GEOM_Object_ptr thePlane);
00426   GEOM::GEOM_Object_ptr MirrorAxis (GEOM::GEOM_Object_ptr theObject,
00427                                     GEOM::GEOM_Object_ptr theAxis);
00428   GEOM::GEOM_Object_ptr MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
00429                                         GEOM::GEOM_Object_ptr theAxis);
00430   GEOM::GEOM_Object_ptr MirrorPoint (GEOM::GEOM_Object_ptr theObject,
00431                                      GEOM::GEOM_Object_ptr thePoint);
00432   GEOM::GEOM_Object_ptr MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
00433                                          GEOM::GEOM_Object_ptr thePoint);
00434   GEOM::GEOM_Object_ptr OffsetShape (GEOM::GEOM_Object_ptr theObject,
00435                                      CORBA::Double theOffset);
00436   GEOM::GEOM_Object_ptr OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
00437                                          CORBA::Double theOffset);
00438   GEOM::GEOM_Object_ptr ScaleShape (GEOM::GEOM_Object_ptr theObject,
00439                                     GEOM::GEOM_Object_ptr thePoint,
00440                                     CORBA::Double theFactor);
00441   GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
00442                                         GEOM::GEOM_Object_ptr thePoint,
00443                                         CORBA::Double theFactor);
00444   GEOM::GEOM_Object_ptr ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
00445                                              GEOM::GEOM_Object_ptr thePoint,
00446                                              CORBA::Double theFactorX,
00447                                              CORBA::Double theFactorY,
00448                                              CORBA::Double theFactorZ);
00449   GEOM::GEOM_Object_ptr ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
00450                                                  GEOM::GEOM_Object_ptr thePoint,
00451                                                  CORBA::Double theFactorX,
00452                                                  CORBA::Double theFactorY,
00453                                                  CORBA::Double theFactorZ);
00454   GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject,
00455                                        GEOM::GEOM_Object_ptr theStartLCS,
00456                                        GEOM::GEOM_Object_ptr theEndLCS);
00457   GEOM::GEOM_Object_ptr PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
00458                                            GEOM::GEOM_Object_ptr theStartLCS,
00459                                            GEOM::GEOM_Object_ptr theEndLCS);
00460   GEOM::GEOM_Object_ptr PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
00461                                            GEOM::GEOM_Object_ptr thePath,
00462                                            CORBA::Double         theDistance,
00463                                            CORBA::Boolean        theCopy,
00464                                            CORBA::Boolean        theReverse);
00465 
00466   //-----------------------------------------------------------//
00467   // ShapesOperations                                          //
00468   //-----------------------------------------------------------//
00469   GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
00470                                   GEOM::GEOM_Object_ptr thePnt2);
00471   GEOM::GEOM_Object_ptr MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
00472                                                  CORBA::Double theLength,
00473                                                  GEOM::GEOM_Object_ptr theStartPoint);
00474   GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
00475                                   CORBA::Double       theTolerance);
00476   GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
00477                                   CORBA::Boolean isPlanarWanted);
00478   GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires,
00479                                        CORBA::Boolean isPlanarWanted);
00480   GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells);
00481   GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
00482   GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells);
00483   GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes);
00484   GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
00485                                        CORBA::Double theTolerance,
00486                                        CORBA::Boolean doKeepNonSolids);
00487   GEOM::GEOM_List_ptr GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
00488                                     CORBA::Double theTolerance);
00489   GEOM::GEOM_Object_ptr MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
00490                                              CORBA::Double theTolerance,
00491                                              const GEOM::ListOfGO& theFaces,
00492                                              CORBA::Boolean doKeepNonSolids,
00493                                              CORBA::Boolean doGlueAllEdges);
00494   GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape,
00495                                        CORBA::Long theShapeType,
00496                                        CORBA::Boolean isSorted);
00497   CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
00498   CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
00499   GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
00500 
00501   GEOM::GEOM_List_ptr GetShapesOnShape (GEOM::GEOM_Object_ptr theCheckShape,
00502                                           GEOM::GEOM_Object_ptr theShape,
00503                                           CORBA::Short theShapeType,
00504                                           GEOM::shape_state theState);
00505   GEOM::GEOM_Object_ptr GetShapesOnShapeAsCompound
00506                                        (GEOM::GEOM_Object_ptr theCheckShape,
00507                                           GEOM::GEOM_Object_ptr theShape,
00508                                           CORBA::Short theShapeType,
00509                                           GEOM::shape_state theState);
00510 
00511 
00512   //-----------------------------------------------------------//
00513   // BlocksOperations                                          //
00514   //-----------------------------------------------------------//
00515   GEOM::GEOM_Object_ptr MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
00516                                            GEOM::GEOM_Object_ptr thePnt2,
00517                                            GEOM::GEOM_Object_ptr thePnt3,
00518                                            GEOM::GEOM_Object_ptr thePnt4);
00519   GEOM::GEOM_Object_ptr MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
00520                                   GEOM::GEOM_Object_ptr theEdge2,
00521                                   GEOM::GEOM_Object_ptr theEdge3,
00522                                   GEOM::GEOM_Object_ptr theEdge4);
00523   GEOM::GEOM_Object_ptr MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
00524                                         GEOM::GEOM_Object_ptr theEdge2);
00525   GEOM::GEOM_Object_ptr MakeHexa (GEOM::GEOM_Object_ptr theFace1,
00526                                   GEOM::GEOM_Object_ptr theFace2,
00527                                   GEOM::GEOM_Object_ptr theFace3,
00528                                   GEOM::GEOM_Object_ptr theFace4,
00529                                   GEOM::GEOM_Object_ptr theFace5,
00530                                   GEOM::GEOM_Object_ptr theFace6);
00531   GEOM::GEOM_Object_ptr MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
00532                                         GEOM::GEOM_Object_ptr theFace2);
00533   GEOM::GEOM_Object_ptr GetPoint (GEOM::GEOM_Object_ptr theShape,
00534                                   CORBA::Double   theX,
00535                                   CORBA::Double   theY,
00536                                   CORBA::Double   theZ,
00537                                   CORBA::Double   theEpsilon);
00538   GEOM::GEOM_Object_ptr GetEdge (GEOM::GEOM_Object_ptr theShape,
00539                                  GEOM::GEOM_Object_ptr thePoint1,
00540                                  GEOM::GEOM_Object_ptr thePoint2);
00541   GEOM::GEOM_Object_ptr GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
00542                                           GEOM::GEOM_Object_ptr thePoint);
00543   GEOM::GEOM_Object_ptr GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
00544                                          GEOM::GEOM_Object_ptr thePoint1,
00545                                          GEOM::GEOM_Object_ptr thePoint2,
00546                                          GEOM::GEOM_Object_ptr thePoint3,
00547                                          GEOM::GEOM_Object_ptr thePoint4);
00548   GEOM::GEOM_Object_ptr GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
00549                                         GEOM::GEOM_Object_ptr theEdge1,
00550                                         GEOM::GEOM_Object_ptr theEdge2);
00551   GEOM::GEOM_Object_ptr GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
00552                                          GEOM::GEOM_Object_ptr theFace);
00553   GEOM::GEOM_Object_ptr GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
00554                                           GEOM::GEOM_Object_ptr thePoint);
00555   GEOM::GEOM_Object_ptr GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
00556                                           GEOM::GEOM_Object_ptr theVector);
00557   CORBA::Boolean IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
00558                                      CORBA::Long     theMinNbFaces,
00559                                      CORBA::Long     theMaxNbFaces,
00560                                      CORBA::Long&          theNbBlocks);
00561   CORBA::Boolean CheckCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
00562                                         GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
00563   char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
00564                        const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors);
00565   GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
00566                                                    CORBA::Long     theMinNbFaces,
00567                                                    CORBA::Long     theMaxNbFaces);
00568   GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
00569                                            GEOM::GEOM_Object_ptr thePoint);
00570   GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
00571                                          GEOM::GEOM_List_ptr theParts);
00572   GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
00573                                             GEOM::GEOM_List_ptr theParts);
00574   GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
00575                                                    CORBA::Long     theDirFace1,
00576                                                    CORBA::Long     theDirFace2,
00577                                                    CORBA::Long     theNbTimes);
00578   GEOM::GEOM_Object_ptr MakeMultiTransformation2D (GEOM::GEOM_Object_ptr theBlock,
00579                                                    CORBA::Long     theDirFace1U,
00580                                                    CORBA::Long     theDirFace2U,
00581                                                    CORBA::Long     theNbTimesU,
00582                                                    CORBA::Long     theDirFace1V,
00583                                                    CORBA::Long     theDirFace2V,
00584                                                    CORBA::Long     theNbTimesV);
00585 
00586   //-----------------------------------------------------------//
00587   // CurvesOperations                                          //
00588   //-----------------------------------------------------------//
00589   GEOM::GEOM_Object_ptr MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
00590                                            GEOM::GEOM_Object_ptr theVector,
00591                                            CORBA::Double theR);
00592   GEOM::GEOM_Object_ptr MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
00593                                             GEOM::GEOM_Object_ptr thePnt2,
00594                                             GEOM::GEOM_Object_ptr thePnt3);
00595   GEOM::GEOM_Object_ptr MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
00596                                               GEOM::GEOM_Object_ptr thePnt2,
00597                                               GEOM::GEOM_Object_ptr thePnt3);
00598   GEOM::GEOM_Object_ptr MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
00599                                      GEOM::GEOM_Object_ptr theVector,
00600                                      CORBA::Double theRMajor, CORBA::Double theRMinor);
00601   GEOM::GEOM_Object_ptr MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
00602                                         GEOM::GEOM_Object_ptr theVector,
00603                                         CORBA::Double theRMajor, CORBA::Double theRMinor,
00604                                         GEOM::GEOM_Object_ptr theVectorMajor);
00605   GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
00606                                  GEOM::GEOM_Object_ptr thePnt2,
00607                                  GEOM::GEOM_Object_ptr thePnt3);
00608   GEOM::GEOM_Object_ptr MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
00609                                        GEOM::GEOM_Object_ptr thePnt1,
00610                                        GEOM::GEOM_Object_ptr thePnt2,
00611                                        CORBA::Boolean theSense);
00612   GEOM::GEOM_Object_ptr MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
00613                                           GEOM::GEOM_Object_ptr thePnt2,
00614                                           GEOM::GEOM_Object_ptr thePnt3);
00615   GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints,
00616                                       CORBA::Boolean      theIsClosed);
00617   GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
00618                                           CORBA::Boolean      theIsClosed);
00619   GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
00620                                                  CORBA::Boolean      theIsClosed,
00621                                                  CORBA::Boolean      theDoReordering);
00622   GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand,
00623                                                 GEOM::GEOM_List_ptr theWorkingPlane);
00624   GEOM::GEOM_Object_ptr Make3DSketcher (GEOM::GEOM_List_ptr theCoordinates);
00625 
00626   //-----------------------------------------------------------//
00627   // LocalOperations                                           //
00628   //-----------------------------------------------------------//
00629   GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
00630                                        CORBA::Double theR);
00631   GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00632                                          GEOM::GEOM_List_ptr theEdges);
00633   GEOM::GEOM_Object_ptr MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1,
00634                                              CORBA::Double theR2, GEOM::GEOM_List_ptr theEdges);
00635   GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00636                                          GEOM::GEOM_List_ptr theFaces);
00637   GEOM::GEOM_Object_ptr MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1,
00638                                              CORBA::Double theR2, GEOM::GEOM_List_ptr theFaces);
00639   GEOM::GEOM_Object_ptr MakeFillet2D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00640                                       GEOM::GEOM_List_ptr theVertexes);
00641   GEOM::GEOM_Object_ptr MakeFillet1D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00642                                       GEOM::GEOM_List_ptr theVertexes);
00643   GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
00644   GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
00645                                          CORBA::Double theD1, CORBA::Double theD2,
00646                                          CORBA::Long theFace1, CORBA::Long theFace2);
00647   GEOM::GEOM_Object_ptr MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
00648                                             CORBA::Double theD, CORBA::Double theAngle,
00649                                            CORBA::Long theFace1, CORBA::Long theFace2);
00650   GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
00651                                           CORBA::Double theD1, CORBA::Double theD2,
00652                                           GEOM::GEOM_List_ptr theFaces);
00653   GEOM::GEOM_Object_ptr MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
00654                                             CORBA::Double theD, CORBA::Double theAngle,
00655                                             GEOM::GEOM_List_ptr theFaces);
00656   GEOM::GEOM_Object_ptr MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
00657                                           CORBA::Double theD1, CORBA::Double theD2,
00658                                           GEOM::GEOM_List_ptr theEdges);
00659   GEOM::GEOM_Object_ptr MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
00660                                             CORBA::Double theD, CORBA::Double theAngle,
00661                                                GEOM::GEOM_List_ptr theEdges);
00662   GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
00663                                        CORBA::Double theWeight,
00664                                        CORBA::Double theWaterDensity,
00665                                        CORBA::Double theMeshingDeflection);
00666   CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
00667                                 GEOM::GEOM_Object_ptr theSubShape);
00668 
00669   //-----------------------------------------------------------//
00670   // GroupOperations                                           //
00671   //-----------------------------------------------------------//
00672   GEOM::GEOM_Object_ptr CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
00673                                      CORBA::Long theShapeType);
00674   void AddObject (GEOM::GEOM_Object_ptr theGroup,
00675                   CORBA::Long theSubShapeId);
00676   void RemoveObject (GEOM::GEOM_Object_ptr theGroup,
00677                      CORBA::Long theSubShapeId);
00678   CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup);
00679   GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
00680   GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup);
00681 
00682   //-----------------------------------------------------------//
00683   // Advanced Operations                                       //
00684   //-----------------------------------------------------------//
00685   GEOM::GEOM_List_ptr MakePipeTShape (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00686                                       CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00687                                       CORBA::Boolean theHexMesh);
00688   GEOM::GEOM_List_ptr MakePipeTShapeWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00689                                                   CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00690                                                   CORBA::Boolean theHexMesh,
00691                                                   GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
00692   GEOM::GEOM_List_ptr MakePipeTShapeChamfer (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00693                                              CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00694                                              CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh);
00695   GEOM::GEOM_List_ptr MakePipeTShapeChamferWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00696                                                          CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00697                                                          CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
00698                                                          GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
00699   GEOM::GEOM_List_ptr MakePipeTShapeFillet (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00700                                             CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00701                                             CORBA::Double theRF, CORBA::Boolean theHexMesh);
00702   GEOM::GEOM_List_ptr MakePipeTShapeFilletWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00703                                                         CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00704                                                         CORBA::Double theRF, CORBA::Boolean theHexMesh,
00705                                                         GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
00706   /*@@ insert new functions before this line @@ do not remove this line @@*/
00707 
00708 private:
00709   SALOME_NamingService *  name_service;
00710   GEOM::GEOM_Gen_var      myGeomEngine;
00711   CORBA::Long             myStudyID;
00712   CORBA::Long             myLastStudyID; // mkr : PAL10770
00713   PortableServer::POA_var myPOA;
00714 
00715   GEOM::GEOM_IBasicOperations_var     myBasicOp;
00716   GEOM::GEOM_I3DPrimOperations_var    my3DPrimOp;
00717   GEOM::GEOM_IBooleanOperations_var   myBoolOp;
00718   GEOM::GEOM_IInsertOperations_var    myInsOp;
00719   GEOM::GEOM_ITransformOperations_var myTransfOp;
00720   GEOM::GEOM_IShapesOperations_var    myShapesOp;
00721   GEOM::GEOM_IBlocksOperations_var    myBlocksOp;
00722   GEOM::GEOM_ICurvesOperations_var    myCurvesOp;
00723   GEOM::GEOM_ILocalOperations_var     myLocalOp;
00724   GEOM::GEOM_IGroupOperations_var     myGroupOp;
00725   GEOM::GEOM_IAdvancedOperations_var  myAdvancedOp;
00726 };
00727 
00728 #endif