]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/IO/ImageWriter.h
53947493d78397554ff5448c2f352f71ad376f43
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / ImageWriter.h
1 #ifndef __CPPLUGINS__PLUGINS__IMAGEWRITER__H__
2 #define __CPPLUGINS__PLUGINS__IMAGEWRITER__H__
3
4 #include <cpPlugins/IO/cpPluginsIO_Export.h>
5 #include <cpPlugins/Interface/BaseProcessObjects.h>
6
7 namespace cpPlugins
8 {
9   namespace IO
10   {
11     /**
12      */
13     class cpPluginsIO_EXPORT ImageWriter
14       : public cpPlugins::Interface::ImageSink
15     {
16     public:
17       typedef ImageWriter                     Self;
18       typedef cpPlugins::Interface::ImageSink Superclass;
19       typedef itk::SmartPointer< Self >       Pointer;
20       typedef itk::SmartPointer< const Self > ConstPointer;
21
22     public:
23       itkNewMacro( Self );
24       itkTypeMacro( ImageWriter, cpPluginsInterfaceImageSink );
25       cpPlugins_Id_Macro( cpPlugins::IO::ImageWriter, "IO" );
26
27     public:
28       virtual DialogResult ExecConfigurationDialog( QWidget* parent );
29
30     protected:
31       ImageWriter( );
32       virtual ~ImageWriter( );
33
34       virtual std::string _GenerateData( );
35
36       /*
37        * These two methods are Microsort courtesy: inner loop error !
38        */
39       template< unsigned int D >
40         inline std::string _GD0_Image( );
41
42       template< unsigned int D >
43         inline std::string _GD0_VectorImage( );
44
45       template< class I >
46         inline std::string _RealGD( itk::DataObject* image );
47
48     private:
49       // Purposely not implemented
50       ImageWriter( const Self& );
51       Self& operator=( const Self& );
52     };
53
54     // ---------------------------------------------------------------------
55     CPPLUGINS_INHERIT_PROVIDER( ImageWriter );
56
57   } // ecapseman
58
59 } // ecapseman
60
61 #endif // __CPPLUGINS__PLUGINS__IMAGEWRITER__H__
62
63 // eof - $RCSfile$