]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/Image.h
f5454c4e6bb33c205da03f89eea03ab7ddfd4365
[cpPlugins.git] / lib / cpPlugins / Interface / Image.h
1 #ifndef __CPPLUGINS__INTERFACE__IMAGE__H__
2 #define __CPPLUGINS__INTERFACE__IMAGE__H__
3
4 #include <map>
5 #include <string>
6 #include <itkProcessObject.h>
7 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
8 #include <cpPlugins/Interface/DataObject.h>
9
10 class vtkImageData;
11
12 namespace cpPlugins
13 {
14   namespace Interface
15   {
16     /**
17      */
18     class cpPlugins_Interface_EXPORT Image
19       : public DataObject
20     {
21     public:
22       typedef Image      Self;
23       typedef DataObject Superclass;
24
25     public:
26       Image( );
27       virtual ~Image( );
28
29       virtual std::string GetClassName( ) const;
30       virtual void SetDataObject( itk::DataObject* dobj );
31
32       vtkImageData* GetVTKImageData( ) const;
33       void UpdateVTKImageData( );
34
35     protected:
36       template< unsigned int D >
37       void _ConnectToVTK_0( );
38
39       template< class P, unsigned int D >
40       void _ConnectToVTK_1( );
41
42     protected:
43       itk::ProcessObject::Pointer m_Image2VTKImageData;
44       vtkImageData* m_VTKImageData;
45     };
46
47   } // ecapseman
48
49 } // ecapseman
50
51 #endif // __CPPLUGINS__INTERFACE__IMAGE__H__
52
53 // eof - $RCSfile$