]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/Functors/Base.h
607b7c3b3fc025244106449c862c7b6debe70cfe
[FrontAlgorithms.git] / lib / fpa / Image / Functors / Base.h
1 #ifndef __fpa__Image__Functors__Base__h__
2 #define __fpa__Image__Functors__Base__h__
3
4 #include <fpa/Config.h>
5 #include <itkFunctionBase.h>
6
7 namespace fpa
8 {
9   namespace Image
10   {
11     namespace Functors
12     {
13       /**
14        */
15       template< class _TImage, class _TSuperclass >
16       class Base
17         : public _TSuperclass
18       {
19       public:
20         typedef Base                            Self;
21         typedef _TSuperclass                    Superclass;
22         typedef itk::SmartPointer< Self >       Pointer;
23         typedef itk::SmartPointer< const Self > ConstPointer;
24
25         typedef _TImage TImage;
26         typedef itk::ImageBase< TImage::ImageDimension > TImageBase;
27
28       public:
29         itkTypeMacro( Base, itk::FunctionBase );
30
31         itkGetConstObjectMacro( Image, TImageBase );
32         itkSetConstObjectMacro( Image, TImageBase );
33
34       protected:
35         Base( ) : Superclass( ) { }
36         virtual ~Base( )        { }
37
38       private:
39         // Purposely not implemented
40         Base( const Self& other );
41         Self& operator=( const Self& other );
42
43       protected:
44         typename TImageBase::ConstPointer m_Image;
45       };
46
47     } // ecapseman
48
49   } // ecapseman
50
51 } // ecapseman
52
53 #endif // __fpa__Image__Functors__Base__h__
54
55 // eof - $RCSfile$