]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/ImageWriter.h
Major refactoring: API-HCI bug corrected.
[cpPlugins.git] / lib / cpPlugins / Plugins / ImageWriter.h
1 #ifndef __CPPLUGINS__PLUGINS__IMAGEWRITER__H__
2 #define __CPPLUGINS__PLUGINS__IMAGEWRITER__H__
3
4 #include <cpPlugins/Plugins/cpPlugins_Export.h>
5 #include <cpPlugins/Interface/ImageSink.h>
6
7 namespace cpPlugins
8 {
9   namespace Plugins
10   {
11     /**
12      */
13     class cpPlugins_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
26     protected:
27       ImageWriter( );
28       virtual ~ImageWriter( );
29
30       virtual std::string _GenerateData( );
31
32       template< unsigned int D >
33         std::string _GD0( itk::DataObject* i );
34
35       template< class P, unsigned int D >
36         std::string _GD1( itk::DataObject* i );
37
38     private:
39       // Purposely not implemented
40       ImageWriter( const Self& );
41       Self& operator=( const Self& );
42     };
43
44     // ---------------------------------------------------------------------
45     CPPLUGINS_INHERIT_PROVIDER( ImageWriter );
46
47   } // ecapseman
48
49 } // ecapseman
50
51 #endif // __CPPLUGINS__PLUGINS__IMAGEWRITER__H__
52
53 // eof - $RCSfile$