1 #ifndef __cpInstances__Image__h__
2 #define __cpInstances__Image__h__
4 #define ITK_MANUAL_INSTANTIATION
5 #include <cpInstances/cpPluginsDataObjects_Export.h>
6 #include <cpInstances/DataObjects/Image_Demanglers.h>
7 #include <cpPlugins/Pipeline/DataObject.h>
8 #include <itkProcessObject.h>
18 class cpPluginsDataObjects_EXPORT Image
19 : public cpPlugins::Pipeline::DataObject
23 typedef cpPlugins::Pipeline::DataObject Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
29 itkTypeMacro( Image, cpPlugins::Pipeline::DataObject );
30 cpPlugins_Id_Macro( Image, Object );
31 cpPlugins_Compatibility_Macro;
34 virtual void SetITK( itk::LightObject* o ) override;
35 virtual void SetVTK( vtkObjectBase* o ) override;
41 virtual void _UpdateITK( ) const override;
42 virtual void _UpdateVTK( ) const override;
44 template< class _TImage >
45 inline void _ITK_2_VTK_0( _TImage* image ) const;
47 template< class _TImage >
48 inline void _ITK_2_VTK_1( _TImage* image ) const;
50 template< class _TPixel >
51 inline bool _VTK_2_ITK_0( vtkImageData* image );
53 template< class _TPixel, unsigned int _VDim >
54 inline bool _VTK_2_ITK_1( vtkImageData* image );
57 // Purposely not implemented
59 Self& operator=( const Self& );
62 itk::ProcessObject::Pointer m_ITKvVTK;
69 #endif // __cpInstances__Image__h__