X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FImage.h;h=729acdf682aaaa382d4e50db41ab40dadda85666;hb=1b600247da314fe62d007ca8a0ce24d0006931f4;hp=360da0168821d1543cfb65767a24e2983ea53678;hpb=cf8ebcdb1e31f332e74569b2be5dfb5f5100df07;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Image.h b/lib/cpPlugins/Interface/Image.h index 360da01..729acdf 100644 --- a/lib/cpPlugins/Interface/Image.h +++ b/lib/cpPlugins/Interface/Image.h @@ -1,35 +1,61 @@ #ifndef __CPPLUGINS__INTERFACE__IMAGE__H__ #define __CPPLUGINS__INTERFACE__IMAGE__H__ -#include -#include -#include #include +#include + +// Some forward declarations +class vtkObject; + namespace cpPlugins { namespace Interface { /** */ - class Image + class cpPlugins_Interface_EXPORT Image : public DataObject { public: - typedef Image Self; - typedef DataObject Superclass; + typedef Image Self; + typedef DataObject Superclass; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; + + public: + itkNewMacro( Self ); + itkTypeMacro( Image, DataObject ); + cpPlugins_Id_Macro( Image, DataObject ); public: + template< class I > + inline void SetITK( itk::Object* object ); + + virtual void SetVTK( vtkObject* image ); + + protected: Image( ); virtual ~Image( ); - virtual std::string GetClassName( ) const; + template< class P, unsigned int D > + inline void _ITK_2_VTK( itk::Object* object ); + + private: + // Purposely not implemented + Image( const Self& ); + Self& operator=( const Self& ); + + protected: + itk::ProcessObject::Pointer m_ITKvVTKConnection; }; } // ecapseman } // ecapseman +#include + #endif // __CPPLUGINS__INTERFACE__IMAGE__H__ // eof - $RCSfile$