X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FDataObject.h;h=841f3a2514366b9af2d01bf5e943fd2145904795;hb=8e5fd31fd4d280781d8bc27a799361bf9c30b1d4;hp=c6a2129576e27fcb81cce76559092b06bef7ba34;hpb=cb833d2fface96e020fe91584d2206860a8174ee;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/DataObject.h b/lib/cpPlugins/Interface/DataObject.h index c6a2129..841f3a2 100644 --- a/lib/cpPlugins/Interface/DataObject.h +++ b/lib/cpPlugins/Interface/DataObject.h @@ -1,12 +1,14 @@ #ifndef __CPPLUGINS__INTERFACE__DATAOBJECT__H__ #define __CPPLUGINS__INTERFACE__DATAOBJECT__H__ -#include -#include -#include #include #include +#include + +#include +#include + namespace cpPlugins { namespace Interface @@ -23,22 +25,30 @@ namespace cpPlugins typedef itk::SmartPointer< const Self > ConstPointer; public: - itkNewMacro( Self ); itkTypeMacro( DataObject, Object ); + cpPlugins_Id_Macro( + cpPlugins::Interface::DataObject, "BasicObject" + ); public: - virtual std::string GetClassName( ) const; - virtual std::string GetClassType( ) const; - - itk::DataObject* GetRealDataObject( ) const; - virtual void SetRealDataObject( itk::DataObject* dobj ); - Object* GetSource( ); const Object* GetSource( ) const; void SetSource( Object* src ); void DisconnectPipeline( ); + template< class T > + inline T* GetITK( ); + + template< class T > + inline const T* GetITK( ) const; + + template< class T > + inline T* GetVTK( ); + + template< class T > + inline const T* GetVTK( ) const; + protected: DataObject( ); virtual ~DataObject( ); @@ -49,14 +59,17 @@ namespace cpPlugins Self& operator=( const Self& ); protected: - itk::DataObject::Pointer m_RealDataObject; - Object::Pointer m_Source; + itk::Object::Pointer m_ITKObject; + vtkSmartPointer< vtkObject > m_VTKObject; + Object::Pointer m_Source; }; } // ecapseman } // ecapseman +#include + #endif // __CPPLUGINS__INTERFACE__DATAOBJECT__H__ // eof - $RCSfile$