#ifndef __cpInstances__Image__h__ #define __cpInstances__Image__h__ #include #include #include #include class vtkImageData; namespace cpInstances { /** */ class cpInstancesImage_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( ); virtual void _UpdateITK( ) const cpPlugins_OVERRIDE; virtual void _UpdateVTK( ) const cpPlugins_OVERRIDE; template< class _TImage > inline void _ITK_2_VTK_0( _TImage* image ) const; template< class _TImage > inline void _ITK_2_VTK_1( _TImage* image ) const; 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 #endif // __cpInstances__Image__h__ // eof - $RCSfile$