1 #ifndef __cpPlugins__DataObjects__Image__h__
2 #define __cpPlugins__DataObjects__Image__h__
4 #include <cpPlugins/BaseObjects/DataObject.h>
5 #include <itkProcessObject.h>
13 class cpPlugins_EXPORT Image
14 : public cpPlugins::BaseObjects::DataObject
18 typedef cpPlugins::BaseObjects::DataObject Superclass;
19 typedef itk::SmartPointer< Self > Pointer;
20 typedef itk::SmartPointer< const Self > ConstPointer;
24 itkTypeMacro( Image, cpPlugins::BaseObjects::DataObject );
25 cpPlugins_Id_Macro( Image, Object );
26 cpPlugins_Compatibility_Macro;
29 virtual void SetITK( itk::LightObject* o ) cpPlugins_OVERRIDE;
30 virtual void SetVTK( vtkObjectBase* o ) cpPlugins_OVERRIDE;
36 template< class _TImage >
37 inline void _ITK_2_VTK_0( _TImage* image );
39 template< class _TImage >
40 inline void _ITK_2_VTK_1( _TImage* image );
42 template< class _TPixel >
43 inline bool _VTK_2_ITK_0( vtkImageData* image );
45 template< class _TPixel, unsigned int _VDim >
46 inline bool _VTK_2_ITK_1( vtkImageData* image );
49 // Purposely not implemented
51 Self& operator=( const Self& );
54 itk::ProcessObject::Pointer m_ITKvVTK;
61 #endif // __cpPlugins__DataObjects__Image__h__