Salome HOME
DCQ:prepare 2.0.0
[modules/med.git] / src / MEDMEM / test_gibi_driver.cxx
index cfa50ec21319faa6efb19a2505abef985be4affd..ea7dd2ab1e7e9e59f56a8275eb7799ea5e1645f6 100644 (file)
@@ -1,6 +1,8 @@
+using namespace std;
+
 #include "MEDMEM_GibiMeshDriver.hxx"
 #include "MEDMEM_Mesh.hxx"
-
+using namespace MEDMEM;
 int main (int argc, char ** argv)
 {
     /* process the arguments */
@@ -8,7 +10,7 @@ int main (int argc, char ** argv)
     {
        cerr << "Usage : " << argv[0] 
        << "Gibifilename" << endl << endl
-       << "-> lit le fichier gibi filename ,crée un fichier MED" << endl;
+       << "-> lit le fichier gibi filename ,crée 2 fichiers : MED et VTK" << endl;
        exit(-1);
     }
     string gibifilename  = argv[1];
@@ -16,11 +18,15 @@ int main (int argc, char ** argv)
     // Construction des noms de fichier
     const string ext=".sauve";
     string::size_type pos=gibifilename.find(ext,0);
-    string basename (gibifilename, 0, pos);
-    string medfile=basename+".med";
-    string cast2medfile="cast_"+basename+".med";
+    string basename (gibifilename, 0, pos); // nom sans extension
+    string medfile=basename+".med"; // nom fichier med à creer
+    string vtkfile=basename+".vtk"; // nom fichier vtk à creer
+    string::size_type pos1=gibifilename.rfind('/');
+    string meshName (gibifilename,pos1+1,pos-pos1-1); // get rid of directory & extension
+    cout << meshName << endl;
 
     // lecture du fichier gibi
+    // MESH * myMesh= new MESH(GIBI_DRIVER,gibifilename);
     MESH * myMesh= new MESH() ; 
     GIBI_MESH_RDONLY_DRIVER myGibiMeshDriver(gibifilename, myMesh) ;
     myGibiMeshDriver.open() ;
@@ -31,8 +37,28 @@ int main (int argc, char ** argv)
     cout << *myMesh;
 
     // creation d'un fichier med
-    int idMed = myMesh->addDriver(MED_DRIVER, medfile, basename);
+    cout << "creation d'un fichier med : " << endl;
+    int idMed = myMesh->addDriver(MED_DRIVER, medfile, meshName);
     myMesh->write(idMed) ;
+
+    // creation d'un fichier vtk
+    cout << "creation d'un fichier vtk : " << endl;
+    int idVtk = myMesh->addDriver(VTK_DRIVER, vtkfile, meshName);
+    myMesh->write(idVtk) ;
     delete myMesh;
 
+    // remontée mémoire du fichier med
+    myMesh= new MESH(MED_DRIVER,medfile,meshName);
+    //myMesh= new MESH() ;
+    //myMesh->setName(meshName);
+    //MED_MESH_RDONLY_DRIVER myMeshDriver(medfile,myMesh) ;
+    //myMeshDriver.setMeshName(meshName);
+    //myMeshDriver.open() ;
+    //myMeshDriver.read() ;
+    //myMeshDriver.close() ;
+    //cout << "Impression 2 de MESH : " << endl;
+    //cout << *myMesh;
+    delete myMesh;
+
+
 }