Salome HOME
Version ok de MED avec MEDGUI.
[modules/med.git] / src / MEDMEM / duplicateMEDMESH.cxx
1 #include<string>
2 #include<deque>
3
4 #include "MEDMEM_Exception.hxx"
5 #include "MEDMEM_define.hxx"
6
7 #include "MEDMEM_Med.hxx"
8 #include "MEDMEM_Mesh.hxx"
9 #include "MEDMEM_Family.hxx"
10 #include "MEDMEM_Support.hxx"
11
12 #include "MEDMEM_GenDriver.hxx"
13 #include "MEDMEM_MedMedDriver.hxx"
14 #include "MEDMEM_MedMeshDriver.hxx"
15
16 int main (int argc, char ** argv) {
17   
18     string filenameIN = argv[1] ;
19     string filenameOUT = argv[2] ;
20     
21     MED * myMed = new MED() ;
22     MED_MED_DRIVER myMedDriver(filenameIN,myMed) ;
23
24   // we read all meshes in filenameIN 
25   try {
26     
27     int read ;
28     myMedDriver.open();
29     myMedDriver.readFileStruct();
30     myMedDriver.close();
31     
32     // read all mesh
33     MESSAGE("Read all meshes :") ;
34     int NumberOfMeshes = myMed->getNumberOfMeshes() ;
35     MESSAGE("Number of meshes : "<<NumberOfMeshes) ;
36     deque<string> MeshName = myMed->getMeshNames() ;
37     map<string,MESH*> _meshes ;
38     for (int i=0; i<NumberOfMeshes; i++) {
39       _meshes[MeshName[i]]=myMed->getMesh(MeshName[i]) ;
40       _meshes[MeshName[i]]->read();
41       MESSAGE("  - Mesh "<<i+1<<", named "<<MeshName[i]<<" read !");
42       MED_MESH_WRONLY_DRIVER myMeshDriver(filenameOUT,_meshes[MeshName[i]]);
43       MESSAGE("After declaration of MED_MESH_DRIVER");
44       myMeshDriver.setMeshName(MeshName[i]);
45       MESSAGE("After setMeshName");
46       myMeshDriver.open() ;
47       MESSAGE("After open");
48       myMeshDriver.write() ;
49       MESSAGE("After write");
50       myMeshDriver.close() ;
51       MESSAGE("After close");
52     }
53
54     // set support : support must be calculated with mesh information !!!
55     myMed->updateSupport() ;
56
57   } catch (MEDEXCEPTION& ex){
58     MESSAGE(ex.what()) ;
59   }
60 }