]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESH_I/SMESH_Mesh_i.hxx
Salome HOME
Adding Multinode method for smesh parallelism (with windows fixed)
[modules/smesh.git] / src / SMESH_I / SMESH_Mesh_i.hxx
index b274e33f66a3457068d53811dfd921541ec20c36..dec57a7e31ac4b331de2fdd88f370367b3aad3f8 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -212,10 +212,11 @@ public:
                   CORBA::Boolean     overwrite,
                   CORBA::Boolean     autoDimension = true);
 
-  void ExportSAUV( const char* file, CORBA::Boolean auto_groups );
+  CORBA::LongLong ExportMEDCoupling(CORBA::Boolean auto_groups,
+                                    CORBA::Boolean autoDimension = true);
 
-  void ExportDAT( const char* file );
-  void ExportUNV( const char* file );
+  void ExportDAT( const char* file, const CORBA::Boolean renumber );
+  void ExportUNV( const char* file, const CORBA::Boolean renumber  );
   void ExportSTL( const char* file, bool isascii );
   void ExportCGNS(SMESH::SMESH_IDSource_ptr meshPart,
                   const char*               file,
@@ -225,6 +226,17 @@ public:
                  const char*               file,
                  CORBA::Boolean            withRequiredGroups);
 
+
+  template<class SPECLS>
+    void ExportPartToMEDCommon(SPECLS&                   speCls,
+                               SMESH::SMESH_IDSource_ptr meshPart,
+                               CORBA::Boolean            auto_groups,
+                               CORBA::Boolean            autoDim,
+                               const GEOM::ListOfFields& fields,
+                               const char*               geomAssocFields,
+                               CORBA::Double             ZTolerance,
+                               CORBA::Boolean            saveNumbers );
+
   void ExportPartToMED(SMESH::SMESH_IDSource_ptr meshPart,
                        const char*               file,
                        CORBA::Boolean            auto_groups,
@@ -233,11 +245,23 @@ public:
                        CORBA::Boolean            autoDim,
                        const GEOM::ListOfFields& fields,
                        const char*               geomAssocFields,
-                       CORBA::Double             ZTolerance);
+                       CORBA::Double             ZTolerance,
+                       CORBA::Boolean            saveNumbers );
+
+  CORBA::LongLong ExportPartToMEDCoupling(SMESH::SMESH_IDSource_ptr meshPart,
+                                          CORBA::Boolean            auto_groups,
+                                          CORBA::Boolean            autoDim,
+                                          const GEOM::ListOfFields& fields,
+                                          const char*               geomAssocFields,
+                                          CORBA::Double             ZTolerance,
+                                          CORBA::Boolean            saveNumbers);
+
   void ExportPartToDAT(SMESH::SMESH_IDSource_ptr meshPart,
-                       const char*               file);
+                       const char*               file,
+                       CORBA::Boolean            renumber);
   void ExportPartToUNV(SMESH::SMESH_IDSource_ptr meshPart,
-                       const char*               file);
+                       const char*               file,
+                       CORBA::Boolean            renumber);
   void ExportPartToSTL(SMESH::SMESH_IDSource_ptr meshPart,
                        const char*               file,
                        CORBA::Boolean            isascii);
@@ -547,7 +571,7 @@ public:
    * Persistence of geometry tick
    */
   int& MainShapeTick() { return _mainShapeTick; }
-  
+
 
   /*!
    * Sets list of notebook variables used for Mesh operations separated by ":" symbol
@@ -626,14 +650,9 @@ public:
   std::map<int, SMESH_subMesh_i*> _mapSubMesh_i; //NRI
   std::map<int, ::SMESH_subMesh*> _mapSubMesh;   //NRI
 
-private:
+public:
+  std::string generateMeshName( );
   std::string prepareMeshNameAndGroups( const char* file, CORBA::Boolean overwrite );
-
-  /*!
-   * Check and correct names of mesh groups
-   */
-  void checkGroupNames();
-
   /*
    * Write GEOM fields to MED file
    */
@@ -641,6 +660,12 @@ private:
                         SMESHDS_Mesh*             meshDS,
                         const GEOM::ListOfFields& fields,
                         const char*               geomAssocFields);
+private:
+  /*!
+   * Check and correct names of mesh groups
+   */
+  void checkGroupNames();
+
   /*!
    * Convert submesh ids into submesh interfaces
    */
@@ -653,10 +678,11 @@ private:
    */
   TListOfListOfInt findConcurrentSubMeshes();
 
+ protected:
+  ::SMESH_Mesh* _impl;        // :: force no namespace here
  private:
 
   static int    _idGenerator;
-  ::SMESH_Mesh* _impl;        // :: force no namespace here
   SMESH_Gen_i*  _gen_i;
   int           _id;          // id given by creator (unique within the creator instance)
   int           _nbInvalidHypos;