fw4spl
SurfaceSegmentation.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2017-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 "fwGdcmIO/config.hpp"
10 #include "fwGdcmIO/container/DicomInstance.hpp"
11 #include "fwGdcmIO/exception/Failed.hpp"
12 
13 #include <fwData/location/SingleFile.hpp>
14 
15 #include <fwDataIO/writer/GenericObjectWriter.hpp>
16 
17 #include <fwLog/Logger.hpp>
18 
19 #include <fwMedData/ImageSeries.hpp>
20 #include <fwMedData/ModelSeries.hpp>
21 
22 namespace fwDicomData
23 {
24 class DicomSeries;
25 }
26 
27 namespace fwJobs
28 {
29 class Aggregator;
30 class Observer;
31 }
32 
33 namespace fwGdcmIO
34 {
35 namespace writer
36 {
37 
41 class FWGDCMIO_CLASS_API SurfaceSegmentation :
42  public ::fwDataIO::writer::GenericObjectWriter< ::fwMedData::ModelSeries >,
43  public ::fwData::location::enableSingleFile< ::fwDataIO::writer::IObjectWriter >
44 {
45 
46 public:
47 
50  ::fwDataIO::writer::factory::New< SurfaceSegmentation >);
51 
54 
56  FWGDCMIO_API ~SurfaceSegmentation();
57 
59  FWGDCMIO_API void write() override;
60 
62  FWGDCMIO_API std::string extension() override;
63 
65  FWGDCMIO_API SPTR(::fwLog::Logger) getLogger() const;
66 
68  FWGDCMIO_API SPTR(::fwJobs::IJob) getJob() const override;
69 
70 private:
71 
73  ::fwLog::Logger::sptr m_logger;
74 
76  SPTR(::fwJobs::Observer) m_writerJob;
77 
78 };
79 
80 } // namespace writer
81 } // namespace fwGdcmIO
#define SPTR(_cls_)
This class handles DICOM Surface Segmentation files writing.
Key class used to restrict access to Object construction. See http://www.drdobbs.com/184402053.
The namespace fwGdcmIO contains reader, writer and helper for dicom data.
fwLog contains classes used to manage logs.
Definition: Log.hpp:16
#define fwCoreClassDefinitionsWithFactoryMacro(_classinfo_, _parameters_, _factory_)
Generate common construction methods for classes with one factory.
Logger class used to store logs.
This class is derived by reader/writer.
Definition: SingleFile.hpp:70
This namespace fwJobs provides jobs management.
generic class for all object writers.