Salome HOME
PR: synchro V6_main tag mergeto_V7_main_11Feb13
[modules/smesh.git] / src / SMESH_I / SMESH_Gen_i.hxx
index 6de23dc5a6130c3427f36a8a8b6ebd22bdd50a9b..c78122345a1a3040e423c272cb2a78752622919f 100644 (file)
 #include CORBA_CLIENT_HEADER(SALOMEDS)
 #include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
 
+#include "SMESH_Gen.hxx"
 #include "SMESH_Mesh_i.hxx"
 #include "SMESH_Hypothesis_i.hxx"
-#include "SALOME_Component_i.hxx"
-#include "SALOME_NamingService.hxx"
 
-#include "SMESH_Gen.hxx"
-#include "GEOM_Client.hxx"
+#include <SALOME_Component_i.hxx>
+#include <SALOME_NamingService.hxx>
+#include <Utils_CorbaException.hxx>
+
+#include <GEOM_Client.hxx>
 
 #include <TCollection_AsciiString.hxx>
 #include <Resource_DataMapOfAsciiStringAsciiString.hxx>
@@ -146,7 +148,7 @@ public:
   // Get SALOME_LifeCycleCORBA object
   static SALOME_LifeCycleCORBA* GetLCC();
   // Retrieve and get GEOM engine reference
-  static GEOM::GEOM_Gen_ptr GetGeomEngine();
+  static GEOM::GEOM_Gen_var GetGeomEngine();
   // Get object of the CORBA reference
   static PortableServer::ServantBase_var GetServant( CORBA::Object_ptr theObject );
   // Get CORBA object corresponding to the SALOMEDS::SObject
@@ -238,7 +240,7 @@ public:
   SMESH::SMESH_Mesh_ptr CreateEmptyMesh()
     throw ( SALOME::SALOME_Exception );
 
-  //  Create mesh(es) and import data from UNV fileter
+  //  Create a mesh and import data from an UNV file
   SMESH::SMESH_Mesh_ptr CreateMeshesFromUNV( const char* theFileName )
     throw ( SALOME::SALOME_Exception );
 
@@ -252,7 +254,7 @@ public:
                                            SMESH::DriverMED_ReadStatus& theStatus )
     throw ( SALOME::SALOME_Exception );
 
-  //  Create mesh(es) and import data from STL file
+  //  Create a mesh and import data from a STL file
   SMESH::SMESH_Mesh_ptr CreateMeshesFromSTL( const char* theFileName )
     throw ( SALOME::SALOME_Exception );
 
@@ -261,6 +263,12 @@ public:
                                            SMESH::DriverMED_ReadStatus& theStatus )
     throw ( SALOME::SALOME_Exception );
 
+  //  Create a mesh and import data from a GMF file
+  SMESH::SMESH_Mesh_ptr CreateMeshesFromGMF( const char*             theFileName,
+                                             CORBA::Boolean          theMakeRequiredGroups,
+                                             SMESH::ComputeError_out theError)
+    throw ( SALOME::SALOME_Exception );
+
   // Copy a part of mesh
   SMESH::SMESH_Mesh_ptr CopyMesh(SMESH::SMESH_IDSource_ptr meshPart,
                                  const char*               meshName,
@@ -436,6 +444,12 @@ public:
     return aResultSO._retn();
   }
 
+  // ============
+  // Version information
+  // ============
+
+  virtual char* getVersion();
+
   // ============
   // Dump python
   // ============
@@ -490,6 +504,7 @@ public:
   static long GetFaceGroupsTag();
   static long GetVolumeGroupsTag();
   static long Get0DElementsGroupsTag();
+  static long GetBallElementsGroupsTag();
 
   // publishing methods
   SALOMEDS::SComponent_ptr PublishComponent(SALOMEDS::Study_ptr theStudy);
@@ -617,6 +632,15 @@ namespace SMESH
   {
     return dynamic_cast<T>(SMESH_Gen_i::GetServant(theArg).in());
   }
+
+  /*!
+   * \brief Function used in SMESH_CATCH to convert a caught exception to
+   * SALOME::SALOME_Exception
+   */
+  inline void throwCorbaException(const char* excText)
+  {
+    THROW_SALOME_CORBA_EXCEPTION( excText, SALOME::INTERNAL_ERROR );
+  }
 }