Salome HOME
95f195dc36c99e6320b9c7fc5ca18caa424a9c07
[modules/smesh.git] / src / Driver / Document_Writer.cxx
1 //  SMESH Driver : implementaion of driver for reading and writing  
2 //
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
5 // 
6 //  This library is free software; you can redistribute it and/or 
7 //  modify it under the terms of the GNU Lesser General Public 
8 //  License as published by the Free Software Foundation; either 
9 //  version 2.1 of the License. 
10 // 
11 //  This library is distributed in the hope that it will be useful, 
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
14 //  Lesser General Public License for more details. 
15 // 
16 //  You should have received a copy of the GNU Lesser General Public 
17 //  License along with this library; if not, write to the Free Software 
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
19 // 
20 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
21
22 #include "Document_Writer.h"
23 #include "utilities.h"
24
25 void Document_Writer::SetFile(string aFile)
26 {
27         myFile = aFile;
28 }
29
30 void Document_Writer::SetDocument(SMESHDS_Document * aDoc)
31 {
32         myDocument = aDoc;
33 }
34
35 void Document_Writer::Write()
36 {
37         SCRUTE(myFile);
38         SMESHDS_Mesh * myMesh;
39         int nb_of_meshes = myDocument->NbMeshes();      //voir avec Yves
40         SCRUTE(nb_of_meshes);
41
42         int numero = 0;
43
44         myDocument->InitMeshesIterator();
45         while(myDocument->MoreMesh())
46         {
47                 numero++;
48                 myMesh = myDocument->NextMesh();
49                 myWriter->SetMesh(myMesh);
50                 myWriter->SetFile(myFile);
51                 myWriter->SetMeshId(numero);
52                 myWriter->Add();
53         }
54 }
55
56 Document_Writer::Document_Writer(Mesh_Writer* writer): myWriter(writer)
57 {
58 }