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