Salome HOME
Usage de medcoupling pour le nom du maillage
authorGERALD NICOLAS <D68518@dsp0864451.atlas.edf.fr>
Wed, 10 Feb 2021 17:01:16 +0000 (18:01 +0100)
committerGERALD NICOLAS <D68518@dsp0864451.atlas.edf.fr>
Wed, 10 Feb 2021 17:01:16 +0000 (18:01 +0100)
src/SMESHGUI/MG_ADAPTGUI.cxx
src/SMESHGUI/MG_ADAPTGUI.hxx
src/SMESHGUI/SMESH_msg_en.ts
src/SMESHGUI/SMESH_msg_fr.ts

index 401b97484b38125e97016274611627160ca733d8..c1df37aa722ed4b2228521c3eca02aec7d08b7eb 100644 (file)
@@ -24,6 +24,7 @@
 #include "MG_ADAPTGUI.hxx"
 
 #include "MEDFileData.hxx"
+#include "MEDLoader.hxx"
 
 #include "SUIT_Desktop.h"
 #include "SUIT_Application.h"
@@ -1278,82 +1279,32 @@ med_idt OuvrirFichier(QString aFile)
 QString lireNomMaillage(QString aFile, med_int& meshdim)
 {
   QString nomMaillage = QString::null ;
-  int erreur = 0 ;
-  med_idt medIdt ;
 
-  //  Ouverture du fichier
-  medIdt = OuvrirFichier(aFile);
-  if ( medIdt < 0 )
-  {
-    erreur = 1 ;
-    return nomMaillage;
-  }
-  med_int numberOfMeshes = MEDnMesh(medIdt) ;
+  std::vector<std::string> listMeshesNames = MEDCoupling::GetMeshNames(aFile.toStdString());
+
+  std::size_t numberOfMeshes(listMeshesNames.size());
+//   std::cout << "numberOfMeshes:" << numberOfMeshes << std::endl;
   if (numberOfMeshes == 0 )
   {
     QMessageBox::critical( 0, QObject::tr("MG_ADAPT_ERROR"),
                               QObject::tr("MG_ADAPT_MED_FILE_2") );
-    erreur = 2 ;
     return nomMaillage;
   }
   if (numberOfMeshes > 1 )
   {
     QMessageBox::critical( 0, QObject::tr("MG_ADAPT_ERROR"),
                               QObject::tr("MG_ADAPT_MED_FILE_3") );
-    erreur = 3 ;
     return nomMaillage;
   }
 
-  nomMaillage = lireNomMaillage2(medIdt,1, meshdim);
-  // Fermeture du fichier
-  if ( medIdt > 0 ) MEDfileClose(medIdt);
+//   std::cout << "numberOfMeshes:" << numberOfMeshes << std::endl;
+  std::cout << "nomMaillage:" << listMeshesNames[0] << std::endl;
+  nomMaillage = QString(listMeshesNames[0].c_str());
 
   return nomMaillage;
 }
 
 // =======================================================================
-// =======================================================================
-QString lireNomMaillage2(med_idt medIdt,int meshId, med_int& meshdim )
-{
-  QString NomMaillage=QString::null;
-  char meshname[MED_NAME_SIZE+1];
-  med_int spacedim;
-  med_mesh_type meshtype;
-  char descriptionription[MED_COMMENT_SIZE+1];
-  char dtunit[MED_SNAME_SIZE+1];
-  med_sorting_type sortingtype;
-  med_int nstep;
-  med_axis_type axistype;
-  int naxis = MEDmeshnAxis(medIdt,1);
-  char *axisname=new char[naxis*MED_SNAME_SIZE+1];
-  char *axisunit=new char[naxis*MED_SNAME_SIZE+1];
-  med_err aRet = MEDmeshInfo(medIdt,
-                              meshId,
-                              meshname,
-                              &spacedim,
-                              &meshdim,
-                              &meshtype,
-                              descriptionription,
-                              dtunit,
-                              &sortingtype,
-                              &nstep,
-                              &axistype,
-                              axisname,
-                              axisunit);
-
-  if ( aRet < 0 ) {
-    QMessageBox::critical( 0, QObject::tr("MG_ADAPT_ERROR"), \
-                              QObject::tr("MG_ADAPT_MED_FILE_4") );
-  }
-  else            {
-    NomMaillage=QString(meshname);
-  }
-
-  delete[] axisname ;
-  delete[] axisunit ;
-
-  return NomMaillage;
-}
 
 // =======================================================================
 std::map<QString, int> GetListeChamps(QString aFile, bool errorMessage)
index 823a5afa9195524ec3342f020aa2e5b98d7bdc76..7be0fdbc4a2bed61fd79cb3b7d531610b390e7cd 100644 (file)
@@ -99,7 +99,6 @@ class QFileDialog;
 \r
 std::map<QString, int> GetListeChamps(QString aFile, bool errorMessage = true);\r
 QString lireNomMaillage(QString aFile, med_int& meshDim);\r
-QString lireNomMaillage2(med_idt medIdt,int meshId, med_int& meshDim);\r
 med_idt OuvrirFichier(QString aFile);\r
 std::string remove_extension(const std::string& filename);\r
 \r
index fcac5cfe766687640b336103ca6921f80671cc10..32fb70b88b8f712f5f78be845bc2c94a35b623c2 100644 (file)
         <source>MG_ADAPT_MED_FILE_5</source>
         <translation>No field in this MED file.</translation>
     </message>
-    <message>
-        <source>MG_ADAPT_MED_FILE_6</source>
-        <translation>The field(s) in this MED file cannot be read.</translation>
-    </message>
     <message>
         <source>MG_ADAPT_ERROR</source>
         <translation>Error</translation>
index 9cdbdd649e7fb90ac6f9ac0874bc1527e322ec3b..b69f4650ab6a44b36979beaa6673c6d185ba452e 100644 (file)
         <source>MG_ADAPT_MED_FILE_5</source>
         <translation>Ce fichier MED ne contient aucun champ.</translation>
     </message>
-    <message>
-        <source>MG_ADAPT_MED_FILE_6</source>
-        <translation>Impossible de lire le(s) champ(s) de ce fichier MED.</translation>
-    </message>
     <message>
         <source>MG_ADAPT_ERROR</source>
         <translation>Erreur</translation>