X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FImage.h;h=a5beda39b58b59c7e3424a435f1cdbb9c1cafb7a;hb=75dc4945344b4a5a7be10a3ca33fa2e6fff87df8;hp=4ba14cbf558fc80964f610acf9b2b0df393f47ec;hpb=cb833d2fface96e020fe91584d2206860a8174ee;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Image.h b/lib/cpPlugins/Interface/Image.h index 4ba14cb..a5beda3 100644 --- a/lib/cpPlugins/Interface/Image.h +++ b/lib/cpPlugins/Interface/Image.h @@ -1,14 +1,14 @@ #ifndef __CPPLUGINS__INTERFACE__IMAGE__H__ #define __CPPLUGINS__INTERFACE__IMAGE__H__ -#include -#include -#include #include #include +#include + class vtkImageData; +// ------------------------------------------------------------------------- namespace cpPlugins { namespace Interface @@ -29,21 +29,25 @@ namespace cpPlugins itkTypeMacro( Image, DataObject ); public: - virtual std::string GetClassName( ) const; - virtual void SetRealDataObject( itk::DataObject* dobj ); + template< class I > + inline void SetITKImage( itk::DataObject* object ); + + template< class I > + inline I* GetITKImage( ); - vtkImageData* GetVTKImageData( ) const; - void UpdateVTKImageData( ); + template< class I > + inline const I* GetITKImage( ) const; + + virtual void SetVTKImageData( vtkImageData* image ); + virtual vtkImageData* GetVTKImageData( ); + virtual const vtkImageData* GetVTKImageData( ) const; protected: Image( ); virtual ~Image( ); - template< unsigned int D > - void _VTK_0( ); - template< class P, unsigned int D > - void _VTK_1( ); + inline void _ITK_2_VTK( itk::DataObject* object ); private: // Purposely not implemented @@ -51,14 +55,15 @@ namespace cpPlugins Self& operator=( const Self& ); protected: - itk::ProcessObject::Pointer m_Image2VTKImageData; - vtkImageData* m_VTKImageData; + itk::ProcessObject::Pointer m_ITKvVTKConnection; }; } // ecapseman } // ecapseman +#include + #endif // __CPPLUGINS__INTERFACE__IMAGE__H__ // eof - $RCSfile$