Salome HOME
bos #16792 [CEA 16785] Cannot select COMPSOLID
[modules/geom.git] / src / GEOM_I_Superv / GEOM_Superv_i.hh
old mode 100755 (executable)
new mode 100644 (file)
index 8058cc1..ee08389
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 // IDL headers
 #include <SALOMEconfig.h>
 #include CORBA_CLIENT_HEADER(GEOM_Gen)
+#include CORBA_CLIENT_HEADER(AdvancedGEOM)
+#include CORBA_CLIENT_HEADER(STLPlugin)
+#include CORBA_CLIENT_HEADER(BREPPlugin)
+#include CORBA_CLIENT_HEADER(STEPPlugin)
+#include CORBA_CLIENT_HEADER(IGESPlugin)
+#include CORBA_CLIENT_HEADER(XAOPlugin)
+#ifdef WITH_VTK
+#include CORBA_CLIENT_HEADER(VTKPlugin)
+#endif
 #include CORBA_SERVER_HEADER(GEOM_Superv)
 
 #include "SALOME_Component_i.hxx"
@@ -61,15 +70,17 @@ public:
   void getLocalOp();
   void getGroupOp();
   void getAdvancedOp();
-
+  void getSTLPluginOp();
+  void getBREPPluginOp();
+  void getSTEPPluginOp();
+  void getIGESPluginOp();
+  void getXAOPluginOp();
+#ifdef WITH_VTK
+  void getVTKPluginOp();
+#endif
   PortableServer::ServantBase_var GetServant(CORBA::Object_ptr       theObject,
                                              PortableServer::POA_ptr thePOA);
 
-  //-----------------------------------------------------------------------//
-  // Set current stydy ID                                                  //
-  //-----------------------------------------------------------------------//
-  void SetStudyID( CORBA::Long theId );
-
   //-----------------------------------------------------------//
   // Create ListOfGO and add items to it                       //
   //-----------------------------------------------------------//
@@ -127,13 +138,11 @@ public:
                                CORBA::Boolean isASCII);
 
   CORBA::Boolean CanPublishInStudy(CORBA::Object_ptr theIOR);
-  SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
-                                       SALOMEDS::SObject_ptr theSObject,
+  SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::SObject_ptr theSObject,
                                        CORBA::Object_ptr theObject,
                                        const char* theName) throw (SALOME::SALOME_Exception) ;
 
-  GEOM::ListOfGO* PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
-                                            //SALOMEDS::SObject_ptr theSObject,
+  GEOM::ListOfGO* PublishNamedShapesInStudy(//SALOMEDS::SObject_ptr theSObject,
                                             CORBA::Object_ptr theObject);
 
   CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
@@ -246,6 +255,14 @@ public:
                                               CORBA::Double theHeight);
   GEOM::GEOM_Object_ptr MakeCylinderRH (CORBA::Double theR,
                                         CORBA::Double theH);
+  GEOM::GEOM_Object_ptr MakeCylinderPntVecRHA (GEOM::GEOM_Object_ptr thePnt,
+                                              GEOM::GEOM_Object_ptr theAxis,
+                                              CORBA::Double theRadius,
+                                              CORBA::Double theHeight,
+                                              CORBA::Double theAngle);
+  GEOM::GEOM_Object_ptr MakeCylinderRHA (CORBA::Double theR,
+                                        CORBA::Double theH,
+                                        CORBA::Double theA);                                   
   GEOM::GEOM_Object_ptr MakeSphere (CORBA::Double theX,
                                     CORBA::Double theY,
                                     CORBA::Double theZ,
@@ -361,10 +378,6 @@ public:
                const char*           theFormatName);
   GEOM::GEOM_Object_ptr ImportFile (const char* theFileName,
                                     const char* theFormatName);
-  void ImportTranslators (GEOM::string_array_out theFormats,
-                          GEOM::string_array_out thePatterns);
-  void ExportTranslators (GEOM::string_array_out theFormats,
-                          GEOM::string_array_out thePatterns);
 
   //-----------------------------------------------------------//
   // TransformOperations                                       //
@@ -486,10 +499,13 @@ public:
                                   CORBA::Boolean isPlanarWanted);
   GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires,
                                        CORBA::Boolean isPlanarWanted);
+  GEOM::GEOM_Object_ptr MakeFaceWithConstraints (GEOM::GEOM_List_ptr theConstraints);
   GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells);
   GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
   GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells);
   GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes);
+  GEOM::GEOM_Object_ptr MakeSolidFromConnectedFaces (GEOM::GEOM_List_ptr theFacesOrShells,
+                                                     CORBA::Boolean isIntersect);
   GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
                                        CORBA::Double theTolerance,
                                        CORBA::Boolean doKeepNonSolids);
@@ -517,7 +533,6 @@ public:
                                           CORBA::Short theShapeType,
                                           GEOM::shape_state theState);
 
-
   //-----------------------------------------------------------//
   // BlocksOperations                                          //
   //-----------------------------------------------------------//
@@ -691,11 +706,48 @@ public:
   //-----------------------------------------------------------//
   // ImportExport Operations                                   //
   //-----------------------------------------------------------//
-  CORBA::Boolean ExportXAO(GEOM::GEOM_Object_ptr shape,
-                           const GEOM::ListOfGO& groups, const GEOM::ListOfFields& fields,
-                           const char* author, const char* fileName);
-  CORBA::Boolean ImportXAO(const char* fileName, GEOM::GEOM_Object_out shape, 
-                           GEOM::ListOfGO_out subShapes, GEOM::ListOfGO_out groups, GEOM::ListOfFields_out fields);
+
+  void ExportSTL( GEOM::GEOM_Object_ptr theObject,
+                  const char*           theFileName,
+                  const bool            theIsASCII,
+                  CORBA::Double         theDeflection,
+                  const bool            theIsRelative );
+
+  GEOM::GEOM_Object_ptr ImportSTL( const char* theFileName );
+
+  void ExportBREP( GEOM::GEOM_Object_ptr theObject,
+                   const char*           theFileName );
+
+  GEOM::GEOM_Object_ptr ImportBREP( const char* theFileName );
+
+  void ExportSTEP( GEOM::GEOM_Object_ptr theObject,
+                   const char*           theFileName );
+
+  GEOM::GEOM_Object_ptr ImportSTEP( const char* theFileName,
+                                    const bool  theIsIgnoreUnits );
+
+  void ExportIGES( GEOM::GEOM_Object_ptr theObject,
+                   const char*           theFileName,
+                   const char*           theVersion );
+
+  GEOM::GEOM_Object_ptr ImportIGES( const char* theFileName,
+                                    const bool  theIsIgnoreUnits );
+
+  CORBA::Boolean ExportXAO( GEOM::GEOM_Object_ptr shape,
+                            const GEOM::ListOfGO& groups,
+                            const GEOM::ListOfFields& fields,
+                            const char* author,
+                            const char* fileName,
+                            const char* shapeFileName);
+  CORBA::Boolean ImportXAO( const char* fileName,
+                            GEOM::GEOM_Object_out shape,
+                            GEOM::ListOfGO_out subShapes,
+                            GEOM::ListOfGO_out groups,
+                            GEOM::ListOfFields_out fields );
+
+  void ExportVTK( GEOM::GEOM_Object_ptr theObject,
+                  const char*           theFileName,
+                  CORBA::Double         theDeflection );
 
   //-----------------------------------------------------------//
   // Advanced Operations                                       //
@@ -732,8 +784,6 @@ public:
 private:
   SALOME_NamingService *  name_service;
   GEOM::GEOM_Gen_var      myGeomEngine;
-  CORBA::Long             myStudyID;
-  CORBA::Long             myLastStudyID; // mkr : PAL10770
   PortableServer::POA_var myPOA;
 
   GEOM::GEOM_IBasicOperations_var     myBasicOp;
@@ -746,7 +796,15 @@ private:
   GEOM::GEOM_ICurvesOperations_var    myCurvesOp;
   GEOM::GEOM_ILocalOperations_var     myLocalOp;
   GEOM::GEOM_IGroupOperations_var     myGroupOp;
-  GEOM::GEOM_IAdvancedOperations_var  myAdvancedOp;
+  GEOM::IAdvancedOperations_var       myAdvancedOp;
+  GEOM::ISTLOperations_var            mySTLOp;
+  GEOM::IBREPOperations_var           myBREPOp;
+  GEOM::ISTEPOperations_var           mySTEPOp;
+  GEOM::IIGESOperations_var           myIGESOp;
+  GEOM::IXAOOperations_var            myXAOOp;
+#ifdef WITH_VTK
+  GEOM::IVTKOperations_var            myVTKOp;
+#endif
 };
 
 #endif