1 #include "DriverMED_R_SMESHDS_Document.h"
2 #include "DriverMED_R_SMESHDS_Mesh.h"
6 Document_Reader* maker() {
7 return new DriverMED_R_SMESHDS_Document;
11 DriverMED_R_SMESHDS_Document::DriverMED_R_SMESHDS_Document() {
15 DriverMED_R_SMESHDS_Document::~DriverMED_R_SMESHDS_Document() {
19 //void DriverMED_R_SMESHDS_Document::SetFile(string aFile) {
23 void DriverMED_R_SMESHDS_Document::Read() {
29 Standard_Integer myMeshId;
31 //string myFile = string("/home/home_users/cai/projects/salome_prev04/SALOME_ROOT/data/fra1.med");
33 /****************************************************************************
34 * OUVERTURE DU FICHIER EN LECTURE *
35 ****************************************************************************/
36 char* file2Read = (char*)myFile.c_str();
37 fid = MEDouvrir(file2Read,MED_LECT);
40 fprintf(stderr,">> ERREUR : ouverture du fichier %s \n",file2Read);
44 /****************************************************************************
45 * COMBIEN DE MAILLAGES ? *
46 ****************************************************************************/
50 fprintf(stderr,">> ERREUR : lecture du nombre de maillages \n");
53 printf("Nombre de maillages = %d\n",nmaa);
55 string myClass = string("SMESHDS_Mesh");
56 string myExtension = string("MED");
59 for (int meshIt=1;meshIt<=nmaa;meshIt++) {
60 myMeshId = myDocument->NewMesh();
61 printf("MeshId = %d\n",myMeshId);
63 Handle(SMDS_Mesh) myMesh = myDocument->GetMesh(myMeshId);
66 // Handle (SMDS_Mesh) MMM =.........
67 //ex Handle(SMESHDS_Mesh) myMesh2 =Handle(SMESHDS_Mesh)::DownCast(MMM);
69 DriverMED_R_SMESHDS_Mesh* myReader = new DriverMED_R_SMESHDS_Mesh;
71 myReader->SetMesh(myMesh);
72 myReader->SetMeshId(myMeshId);
74 //myReader->SetFile(myFile);
76 myReader->SetFileId(fid);
82 /****************************************************************************
83 * FERMETURE DU FICHIER *
84 ****************************************************************************/
88 fprintf(stderr,">> ERREUR : erreur a la fermeture du fichier %s\n",file2Read);