Salome HOME
bos #16792 [CEA 16785] Cannot select COMPSOLID
[modules/geom.git] / src / GEOM_I_Superv / GEOM_Superv_i.hh
index a0ac0cc303c0e0adbc2e428adb1cf87cf3b5e5fa..ee0838937298e41b2d913b4bc5c2f3e8cf8d6fa6 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  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
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // 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,
@@ -332,9 +349,15 @@ public:
   //-----------------------------------------------------------//
   GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
                                      GEOM::GEOM_Object_ptr theShape2,
-                                     CORBA::Long theOperation);
+                                     CORBA::Long           theOperation);
   GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
                                   GEOM::GEOM_Object_ptr theShape2);
+  GEOM::GEOM_Object_ptr MakeCommon (GEOM::GEOM_Object_ptr theShape1,
+                                   GEOM::GEOM_Object_ptr theShape2);
+  GEOM::GEOM_Object_ptr MakeCut (GEOM::GEOM_Object_ptr theShape1,
+                                GEOM::GEOM_Object_ptr theShape2);
+  GEOM::GEOM_Object_ptr MakeSection (GEOM::GEOM_Object_ptr theShape1,
+                                    GEOM::GEOM_Object_ptr theShape2);
   GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr   theShapes,
                                        GEOM::GEOM_List_ptr   theTools,
                                        GEOM::GEOM_List_ptr   theKeepInside,
@@ -355,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                                       //
@@ -480,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);
@@ -511,7 +533,6 @@ public:
                                           CORBA::Short theShapeType,
                                           GEOM::shape_state theState);
 
-
   //-----------------------------------------------------------//
   // BlocksOperations                                          //
   //-----------------------------------------------------------//
@@ -682,6 +703,52 @@ public:
   GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
   GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup);
 
+  //-----------------------------------------------------------//
+  // ImportExport Operations                                   //
+  //-----------------------------------------------------------//
+
+  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                                       //
   //-----------------------------------------------------------//
@@ -711,13 +778,12 @@ public:
   GEOM::GEOM_Object_ptr MakeDividedCylinder (CORBA::Double theR, 
                                              CORBA::Double theH,
                                              GEOM::pattern thePattern);
+  GEOM::GEOM_Object_ptr MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints);
   /*@@ insert new functions before this line @@ do not remove this line @@*/
 
 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;
@@ -730,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