#ifndef __CPPLUGINS__INTERFACE__IMAGE__H__ #define __CPPLUGINS__INTERFACE__IMAGE__H__ #include #include #include #include #include class vtkImageData; namespace cpPlugins { namespace Interface { /** */ class cpPlugins_Interface_EXPORT Image : public DataObject { public: typedef Image Self; typedef DataObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkNewMacro( Self ); itkTypeMacro( Image, DataObject ); public: virtual std::string GetClassName( ) const; virtual void SetRealDataObject( itk::DataObject* dobj ); vtkImageData* GetVTKImageData( ) const; void UpdateVTKImageData( ); protected: Image( ); virtual ~Image( ); template< unsigned int D > void _VTK_0( ); template< class P, unsigned int D > void _VTK_1( ); private: // Purposely not implemented Image( const Self& ); Self& operator=( const Self& ); protected: itk::ProcessObject::Pointer m_Image2VTKImageData; vtkImageData* m_VTKImageData; }; } // ecapseman } // ecapseman #endif // __CPPLUGINS__INTERFACE__IMAGE__H__ // eof - $RCSfile$