1 #ifndef __cpInstances__Image__h__
2 #define __cpInstances__Image__h__
4 #include <cpInstances/cpInstancesImage_Export.h>
5 #include <cpPlugins/BaseObjects/DataObject.h>
6 #include <cpInstances/Image_Demanglers.h>
7 #include <itkProcessObject.h>
15 class cpInstancesImage_EXPORT Image
16 : public cpPlugins::BaseObjects::DataObject
20 typedef cpPlugins::BaseObjects::DataObject Superclass;
21 typedef itk::SmartPointer< Self > Pointer;
22 typedef itk::SmartPointer< const Self > ConstPointer;
26 itkTypeMacro( Image, cpPlugins::BaseObjects::DataObject );
27 cpPlugins_Id_Macro( Image, Object );
28 cpPlugins_Compatibility_Macro;
31 virtual void SetITK( itk::LightObject* o ) cpPlugins_OVERRIDE;
32 virtual void SetVTK( vtkObjectBase* o ) cpPlugins_OVERRIDE;
38 virtual void _UpdateITK( ) const cpPlugins_OVERRIDE;
39 virtual void _UpdateVTK( ) const cpPlugins_OVERRIDE;
41 template< class _TImage >
42 inline void _ITK_2_VTK_0( _TImage* image ) const;
44 template< class _TImage >
45 inline void _ITK_2_VTK_1( _TImage* image ) const;
47 template< class _TPixel >
48 inline bool _VTK_2_ITK_0( vtkImageData* image );
50 template< class _TPixel, unsigned int _VDim >
51 inline bool _VTK_2_ITK_1( vtkImageData* image );
54 // Purposely not implemented
56 Self& operator=( const Self& );
59 itk::ProcessObject::Pointer m_ITKvVTK;
64 #endif // __cpInstances__Image__h__