]> Creatis software - cpPlugins.git/blob - plugins/ITKImageInterpolators/InterpolateImageFunction.h
...
[cpPlugins.git] / plugins / ITKImageInterpolators / InterpolateImageFunction.h
1 #ifndef __cpPluginsITKImageInterpolators__InterpolateImageFunction__h__
2 #define __cpPluginsITKImageInterpolators__InterpolateImageFunction__h__
3
4 #include <cpPluginsITKImageInterpolators_Export.h>
5 #include <cpPlugins/BaseObjects/ProcessObject.h>
6
7 namespace cpPluginsITKImageInterpolators
8 {
9   /**
10    */
11   class cpPluginsITKImageInterpolators_EXPORT InterpolateImageFunction
12     : public cpPlugins::BaseObjects::ProcessObject
13   {
14   public:
15     typedef InterpolateImageFunction              Self;
16     typedef cpPlugins::BaseObjects::ProcessObject Superclass;
17     typedef itk::SmartPointer< Self >             Pointer;
18     typedef itk::SmartPointer< const Self >       ConstPointer;
19
20   public:
21     itkTypeMacro( BaseFilter, cpPlugins::BaseObjects::ProcessObject );
22     cpPlugins_Id_Macro( InterpolateImageFunction, ImageInterpolators );
23
24   protected:
25     InterpolateImageFunction( );
26     virtual ~InterpolateImageFunction( );
27
28   public:
29     virtual void CreateInterpolator(
30       itk::LightObject* image,
31       const std::string& precision_type
32       ) = 0;
33
34   protected:
35     virtual void _GenerateData( ) cpPlugins_OVERRIDE;
36
37   private:
38     // Purposely not implemented.
39     InterpolateImageFunction( const Self& other );
40     Self& operator=( const Self& other );
41
42   protected:
43     std::string m_PrecisionType;
44   };
45
46 } // ecapseman
47
48 #endif // __cpPluginsITKImageInterpolators__InterpolateImageFunction__h__
49
50 // eof - $RCSfile$