]> SALOME platform Git repositories - modules/med.git/blob - src/MEDMEM/duplicateMEDMESH.cxx
Salome HOME
remove a reference to the $MED_ROOT_DIR in the Makefile.in wich is useless
[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 #ifdef _DEBUG_
17 #include "LocalTraceCollector.hxx"
18 #endif /* ifdef _DEBUG_*/
19
20 using namespace std;
21 using namespace MEDMEM;
22 int main (int argc, char ** argv) {
23 #ifdef _DEBUG_
24   LocalTraceCollector::instance();
25 #endif /* ifdef _DEBUG_*/
26
27     string filenameIN = argv[1] ;
28     string filenameOUT = argv[2] ;
29     
30     MED * myMed = new MED() ;
31     MED_MED_RDONLY_DRIVER myMedDriver(filenameIN,myMed) ;
32
33   // we read all meshes in filenameIN 
34   try {
35     
36     //int read ; !! UNUSED VARIABLE !!
37     myMedDriver.open();
38     myMedDriver.readFileStruct();
39     myMedDriver.close();
40     
41     // read all mesh
42     MESSAGE("Read all meshes :") ;
43     int NumberOfMeshes = myMed->getNumberOfMeshes() ;
44     MESSAGE("Number of meshes : "<<NumberOfMeshes) ;
45     deque<string> MeshName = myMed->getMeshNames() ;
46     map<string,MESH*> _meshes ;
47     for (int i=0; i<NumberOfMeshes; i++) {
48       _meshes[MeshName[i]]=myMed->getMesh(MeshName[i]) ;
49       _meshes[MeshName[i]]->read();
50       MESSAGE("  - Mesh "<<i+1<<", named "<<MeshName[i]<<" read !");
51       MED_MESH_WRONLY_DRIVER myMeshDriver(filenameOUT,_meshes[MeshName[i]]);
52       MESSAGE("After declaration of MED_MESH_DRIVER");
53       myMeshDriver.setMeshName(MeshName[i]);
54       MESSAGE("After setMeshName");
55       myMeshDriver.open() ;
56       MESSAGE("After open");
57       myMeshDriver.write() ;
58       MESSAGE("After write");
59       myMeshDriver.close() ;
60       MESSAGE("After close");
61     }
62
63     // set support : support must be calculated with mesh information !!!
64     myMed->updateSupport() ;
65
66   } catch (MEDEXCEPTION& ex){
67     MESSAGE(ex.what()) ;
68   }
69 }