Salome HOME
Fix for Bug IPAL8945
[modules/visu.git] / src / VVTK / VVTK_ImageWriterMgr.h
1 //  SALOME VTKViewer : build VTK viewer into Salome desktop\r
2 //\r
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS \r
5 // \r
6 //  This library is free software; you can redistribute it and/or \r
7 //  modify it under the terms of the GNU Lesser General Public \r
8 //  License as published by the Free Software Foundation; either \r
9 //  version 2.1 of the License. \r
10 // \r
11 //  This library is distributed in the hope that it will be useful, \r
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of \r
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU \r
14 //  Lesser General Public License for more details. \r
15 // \r
16 //  You should have received a copy of the GNU Lesser General Public \r
17 //  License along with this library; if not, write to the Free Software \r
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA \r
19 // \r
20 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org \r
21 //\r
22 //\r
23 //\r
24 //  File   :\r
25 //  Author :\r
26 //  Module :\r
27 //  $Header$\r
28 \r
29 #ifndef _VVTK_ImageWriterMgr_Header_File_\r
30 #define _VVTK_ImageWriterMgr_Header_File_\r
31 \r
32 #include <string>\r
33 #include <vector>\r
34 \r
35 class QString;\r
36 class vtkImageData;\r
37 class VVTK_ImageWriter;\r
38 class QSemaphore;\r
39 \r
40 class VVTK_ImageWriterMgr\r
41 {\r
42  public:\r
43   VVTK_ImageWriterMgr();\r
44   ~VVTK_ImageWriterMgr();\r
45   \r
46   void\r
47   StartImageWriter(vtkImageData *theImageData,\r
48                    const std::string& theName,\r
49                    const int theProgressive,\r
50                    const int theQuality);\r
51 \r
52   void\r
53   Stop();\r
54 \r
55   typedef std::vector<VVTK_ImageWriter*> TWriterThreads;\r
56 \r
57  protected:\r
58   TWriterThreads myThreads;\r
59 \r
60   QSemaphore* mySemaphore;\r
61 };\r
62 \r
63 \r
64 #endif\r
65 \r