]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Image.h
First dump for version 0.1.0
[cpPlugins.git] / lib / cpPlugins / Image.h
1 #ifndef __CPPLUGINS__IMAGE__H__
2 #define __CPPLUGINS__IMAGE__H__
3
4 #include <cpPlugins/DataObject.h>
5
6 #include <itkProcessObject.h>
7
8 namespace cpPlugins
9 {
10   /**
11    */
12   class cpPlugins_EXPORT Image
13     : public DataObject
14   {
15   public:
16     typedef Image      Self;
17     typedef DataObject Superclass;
18
19   public:
20     cpPlugins_Id_Macro( Image, Object );
21
22   public:
23     Image( );
24     virtual ~Image( );
25
26     virtual void SetITK( itk::LightObject* o ) override;
27     virtual void SetVTK( vtkObjectBase* o ) override;
28
29   protected:
30
31     template< unsigned int D >
32       inline bool _ITK_2_VTK_0( itk::LightObject* o );
33
34     template< class P, unsigned int D >
35       inline bool _ITK_2_VTK_1( itk::LightObject* o );
36
37     template< class I >
38       inline bool _ITK_2_VTK_2( itk::LightObject* o );
39
40   private:
41     // Purposely not implemented
42     Image( const Self& );
43     Self& operator=( const Self& );
44
45   protected:
46     itk::ProcessObject::Pointer m_ITKvVTK;
47   };
48
49 } // ecapseman
50
51 #include <cpPlugins/Image.hxx>
52
53 #endif // __CPPLUGINS__IMAGE__H__
54
55 // eof - $RCSfile$