]> Creatis software - FrontAlgorithms.git/blob - lib/fpaPlugins/BaseImageFilter.h
...
[FrontAlgorithms.git] / lib / fpaPlugins / BaseImageFilter.h
1 #ifndef __FPAPLUGINS__BASEIMAGEFILTER__H__
2 #define __FPAPLUGINS__BASEIMAGEFILTER__H__
3
4 #include <fpaPlugins/fpaPlugins_Export.h>
5 #include <cpPlugins/Interface/BaseProcessObjects.h>
6
7 namespace fpaPlugins
8 {
9   /**
10    */
11   class fpaPlugins_EXPORT BaseImageFilter
12     : public cpPlugins::Interface::ImageToImageFilter
13   {
14   public:
15     typedef BaseImageFilter                          Self;
16     typedef cpPlugins::Interface::ImageToImageFilter Superclass;
17     typedef itk::SmartPointer< Self >                Pointer;
18     typedef itk::SmartPointer< const Self >          ConstPointer;
19
20   public:
21     itkTypeMacro(
22       BaseImageFilter, cpPlugins::Interface::ImageToImageFilter
23       );
24     cpPlugins_Id_Macro(
25       BaseImageFilter, FrontPropagationImageAlgorithm
26       );
27
28   protected:
29     BaseImageFilter( );
30     virtual ~BaseImageFilter( );
31
32     template< class F >
33       inline F* _ConfigureFilter( );
34
35     template< class F >
36       inline void _ExecuteFilter( F* filter );
37
38     template< class F >
39       inline void _ConfigureDebugger( F* filter );
40
41     template< class F >
42       inline void _DeconfigureDebugger( F* filter );
43
44   private:
45     // Purposely not implemented.
46     BaseImageFilter( const Self& other );
47     Self& operator=( const Self& other );
48
49   protected:
50     std::set< unsigned long > m_Observers;
51   };
52
53 } // ecapseman
54
55 #include <fpaPlugins/BaseImageFilter.hxx>
56
57 #endif // __FPAPLUGINS__BASEIMAGEFILTER__H__
58
59 // eof - $RCSfile$