#ifndef __cpPlugins__DataObjects__Image__h__ #define __cpPlugins__DataObjects__Image__h__ #include #include #include namespace cpPlugins { namespace DataObjects { /** */ class cpPlugins_EXPORT Image : public cpPlugins::BaseObjects::DataObject { public: typedef Image Self; typedef cpPlugins::BaseObjects::DataObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkNewMacro( Self ); itkTypeMacro( Image, cpPlugins::BaseObjects::DataObject ); cpPlugins_Id_Macro( Image, Object ); cpPlugins_Compatibility_Macro; public: virtual void SetITK( itk::LightObject* o ) cpPlugins_OVERRIDE; virtual void SetVTK( vtkObjectBase* o ) cpPlugins_OVERRIDE; protected: Image( ); virtual ~Image( ); template< class _TImage > inline void _ITK_2_VTK_0( _TImage* image ); template< class _TImage > inline void _ITK_2_VTK_1( _TImage* image ); template< class _TPixel > inline bool _VTK_2_ITK_0( vtkImageData* image ); template< class _TPixel, unsigned int _VDim > inline bool _VTK_2_ITK_1( vtkImageData* image ); private: // Purposely not implemented Image( const Self& ); Self& operator=( const Self& ); protected: itk::ProcessObject::Pointer m_ITKvVTK; }; } // ecapseman } // ecapseman #endif // __cpPlugins__DataObjects__Image__h__ // eof - $RCSfile$