1 #ifndef __CPPLUGINS__INTERFACE__IMAGE__H__
2 #define __CPPLUGINS__INTERFACE__IMAGE__H__
4 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
5 #include <cpPlugins/Interface/DataObject.h>
7 #include <itkProcessObject.h>
11 // -------------------------------------------------------------------------
18 class cpPlugins_Interface_EXPORT Image
23 typedef DataObject Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
29 itkTypeMacro( Image, DataObject );
33 inline void SetITKImage( itk::DataObject* object );
36 inline I* GetITKImage( );
39 inline const I* GetITKImage( ) const;
41 virtual void SetVTKImageData( vtkImageData* image );
42 virtual vtkImageData* GetVTKImageData( );
43 virtual const vtkImageData* GetVTKImageData( ) const;
49 template< class P, unsigned int D >
50 inline void _ITK_2_VTK( itk::DataObject* object );
53 // Purposely not implemented
55 Self& operator=( const Self& );
58 itk::ProcessObject::Pointer m_ITKvVTKConnection;
65 #include <cpPlugins/Interface/Image.hxx>
67 #endif // __CPPLUGINS__INTERFACE__IMAGE__H__