fw4spl
SMeshWriter.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2018.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #pragma once
8 
9 #include "ioVTK/config.hpp"
10 
11 #include <fwCom/Signal.hpp>
12 
13 #include <fwIO/IWriter.hpp>
14 
15 #include <boost/filesystem/path.hpp>
16 
17 namespace fwData
18 {
19 class Mesh;
20 }
21 
22 namespace fwJobs
23 {
24 class IJob;
25 }
26 
27 namespace ioVTK
28 {
29 
53 class IOVTK_CLASS_API SMeshWriter : public ::fwIO::IWriter
54 {
55 
56 public:
57  ~SMeshWriter() noexcept
58  {
59  }
60 
62 
63  typedef ::fwCom::Signal< void ( SPTR(::fwJobs::IJob) ) > JobCreatedSignalType;
64 
68  IOVTK_API SMeshWriter() noexcept;
69 
76  IOVTK_API virtual void configureWithIHM() override;
77 
78 protected:
79 
80  IOVTK_API virtual ::fwIO::IOPathType getIOPathType() const override;
81 
87  IOVTK_API virtual void starting() override;
88 
94  IOVTK_API virtual void stopping() override;
95 
101  IOVTK_API virtual void configuring() override;
102 
109  IOVTK_API void updating() override;
110 
117  IOVTK_API void info(std::ostream& _sstream ) override;
118 
119 private:
124  bool m_bServiceIsConfigured;
125 
129  ::boost::filesystem::path m_fsMeshPath;
130 
131  SPTR(JobCreatedSignalType) m_sigJobCreated;
132 
133 };
134 
135 } // namespace ioVTK
#define SPTR(_cls_)
STL namespace.
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
Writer service API. It manages extension points definition and extension configuration.
Definition: IWriter.hpp:33
The namespace fwIO contains the base interface for reader and writer services.
Definition: ioTypes.hpp:16
Contains the representation of the data objects used in the framework.
This namespace fwJobs provides jobs management.
The namespace ioVTK contains reader, writer and helper using the fwVtkIO lib for output and input act...
VTK Mesh Writer.
Definition: SMeshWriter.hpp:53