X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FDataObject.h;h=e2d79ffcc16ba3313d4b50b2b1e4e7f26759a60e;hb=1b600247da314fe62d007ca8a0ce24d0006931f4;hp=cc8d8bfe60a66ce81cfce5f54d988a45f06b5912;hpb=2361f4f97631e09d88d8a5510a369817dcaa19db;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/DataObject.h b/lib/cpPlugins/Interface/DataObject.h index cc8d8bf..e2d79ff 100644 --- a/lib/cpPlugins/Interface/DataObject.h +++ b/lib/cpPlugins/Interface/DataObject.h @@ -1,23 +1,18 @@ #ifndef __CPPLUGINS__INTERFACE__DATAOBJECT__H__ #define __CPPLUGINS__INTERFACE__DATAOBJECT__H__ -#include -#include -#include -#include -#include #include -#define ITK_MANUAL_INSTANTIATION -#include - namespace cpPlugins { namespace Interface { + // Some forward declarations + class ProcessObject; + /** */ - class cpPlugins_EXPORT DataObject + class cpPlugins_Interface_EXPORT DataObject : public Object { public: @@ -27,20 +22,14 @@ namespace cpPlugins typedef itk::SmartPointer< const Self > ConstPointer; public: + itkNewMacro( Self ); itkTypeMacro( DataObject, Object ); + cpPlugins_Id_Macro( DataObject, BasicObject ); public: - virtual itk::DataObject* GetITKDataObject( ); - virtual const itk::DataObject* GetITKDataObject( ) const; - virtual void SetITKDataObject( itk::DataObject* o ) = 0; - - virtual vtkDataObject* GetVTKDataObject( ); - virtual const vtkDataObject* GetVTKDataObject( ) const; - virtual void SetVTKDataObject( vtkDataObject* o ) = 0; - - Object* GetSource( ); - const Object* GetSource( ) const; - void SetSource( Object* src ); + ProcessObject* GetSource( ); + const ProcessObject* GetSource( ) const; + void SetSource( ProcessObject* src ); void DisconnectPipeline( ); @@ -54,9 +43,7 @@ namespace cpPlugins Self& operator=( const Self& ); protected: - itk::DataObject::Pointer m_ITKObject; - vtkSmartPointer< vtkDataObject > m_VTKObject; - Object::Pointer m_Source; + ProcessObject* m_Source; }; } // ecapseman