1 // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 #include "MEDMEM_Exception.hxx"
5 #include "MEDMEM_define.hxx"
7 #include "MEDMEM_Field.hxx"
8 #include "MEDMEM_Mesh.hxx"
9 #include "MEDMEM_Med.hxx"
10 #include "MEDMEM_MedMedDriver.hxx"
11 #include "MEDMEM_MedMeshDriver.hxx"
13 using namespace MEDMEM ;
14 using namespace MED_EN ;
18 const char * fileName = "pointe.med";
19 const char * fileName2 = "Field&MeshGeneratedPointe.med";
20 const char * fileName3 = "MedGeneratedPointe.med";
21 const char * fieldName = "fieldcelldouble";
22 const char * meshName = "maa1";
25 // Test creation of drivers from the standard driver method of an object
27 FIELD<double> * myField = new FIELD<double>();
28 MED_FIELD_RDONLY_DRIVER<double> myRdOnlyDriver(fileName,myField);
29 myRdOnlyDriver.setFieldName(fieldName);
30 myRdOnlyDriver.open();
31 //This test failed due to inadequate Support implementation
32 // myRdOnlyDriver.read();
33 // try { myRdOnlyDriver.write(); } catch (MEDEXCEPTION& ex)
34 // { MESSAGE(ex.what()); }
35 MED_FIELD_WRONLY_DRIVER<double> myWrOnlyDriver(fileName2,myField);
36 myWrOnlyDriver.open();
37 //This test failed due to inadequate Support implementation
38 // myWrOnlyDriver.write();
39 // try myWrOnlyDriver.read(); catch (MEDEXCEPTION& ex)
40 // { MESSAGE(ex.what()); }
41 myRdOnlyDriver.close();
42 myWrOnlyDriver.close();
47 MESH * myMesh = new MESH();
48 MED_MESH_RDONLY_DRIVER myRdOnlyDriver(fileName,myMesh);
49 myRdOnlyDriver.setMeshName(meshName);
50 myRdOnlyDriver.open();
51 myRdOnlyDriver.read();
52 myRdOnlyDriver.close();
53 // try { myRdOnlyDriver.write(); } catch (MEDEXCEPTION& ex)
54 // { MESSAGE(ex.what()); }
55 MED_MESH_WRONLY_DRIVER myWrOnlyDriver(fileName2,myMesh);
56 myWrOnlyDriver.setMeshName(meshName);
57 myWrOnlyDriver.open();
58 myWrOnlyDriver.write();
59 // try myWrOnlyDriver.read(); catch (MEDEXCEPTION& ex)
60 // { MESSAGE(ex.what()); }
61 // myRdOnlyDriver.close();
62 //While we use H5close() in the MESH/FIELD drivers, the next
63 //line will fail, because all files are previously closed !
64 myWrOnlyDriver.close();
69 MED * myMed = new MED();
70 MED_MED_RDONLY_DRIVER myRdOnlyDriver(fileName,myMed);
71 myRdOnlyDriver.open();
72 myRdOnlyDriver.readFileStruct();
73 myRdOnlyDriver.close();
74 myMed->updateSupport(); // DOIT ETRE SUPPRIMEE
75 // myRdOnlyDriver.read();
76 // try { myRdOnlyDriver.write(); } catch (MEDEXCEPTION& ex)
77 // { MESSAGE(ex.what()); }
78 //MED_MED_WRONLY_DRIVER myWrOnlyDriver(fileName3,myMed);
79 //myWrOnlyDriver.open();
80 //myWrOnlyDriver.write(); // Not implemented yet.
81 //myWrOnlyDriver.close();
85 } catch (MEDEXCEPTION& ex){
86 cout << "MAIN BLOCK EXCEPTION" << endl;