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