Salome HOME
Initialisation module SMESH_SRC de la base SMESH
[modules/smesh.git] / src / DriverMED / DriverMED_W_SMESHDS_Document.cxx
1 #include "DriverMED_W_SMESHDS_Document.h"
2 #include "DriverMED_W_SMESHDS_Mesh.h"
3 #include "utilities.h"
4
5 #include <stdio.h>
6
7 extern "C" 
8 {
9   Document_Writer* Wmaker() {
10     return new DriverMED_W_SMESHDS_Document;
11   }
12 }
13
14 DriverMED_W_SMESHDS_Document::DriverMED_W_SMESHDS_Document() {
15 ;
16 }
17
18 DriverMED_W_SMESHDS_Document::~DriverMED_W_SMESHDS_Document() {
19 ;
20 }
21
22 //void DriverMED_W_SMESHDS_Document::SetFile(string aFile) {
23 //myFile = aFile;
24 //}
25
26 //void DriverMED_W_SMESHDS_Document::SetDocument(Handle(SMESHDS_Document)& aDocument) {
27 //myDocument = aDocument;
28 //}
29
30 void DriverMED_W_SMESHDS_Document::Write() {
31
32   med_err ret = 0;
33   med_idt fid;
34   med_int nmaa,numero,nb_of_meshes;
35   med_mode_switch mode_coo;
36   med_connectivite typ_con;
37
38   SCRUTE(myFile);
39   Handle(SMESHDS_Mesh) myMesh;
40
41   /******** Nombre de maillages ********/
42   nb_of_meshes = myDocument->NbMeshes(); //voir avec Yves
43   MESSAGE("nb_of_meshes = "<<nb_of_meshes<<"\n");
44   SCRUTE(nb_of_meshes);
45   //nb_of_meshes = 1;
46   numero = 0;
47
48   string myClass = string("SMESHDS_Mesh");
49   string myExtension = string("MED");
50
51   //while (numero<nb_of_meshes) {
52   //numero++;
53   //myMesh = myDocument->GetMesh(numero);
54
55   myDocument->InitMeshesIterator();
56   if (nb_of_meshes!=0)
57   for (;myDocument->MoreMesh();myDocument->NextMesh()) {
58     numero++;
59     myMesh = myDocument->CurrentMesh();
60
61     DriverMED_W_SMESHDS_Mesh* myWriter = new DriverMED_W_SMESHDS_Mesh;
62
63     myWriter->SetMesh(myMesh);
64     myWriter->SetFile(myFile);
65     //myWriter->SetFileId(fid);
66     myWriter->SetMeshId(numero);
67
68     //myWriter->Write();
69     myWriter->Add();
70   }
71
72
73 }