X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FDataObject.h;h=e2d79ffcc16ba3313d4b50b2b1e4e7f26759a60e;hb=1b600247da314fe62d007ca8a0ce24d0006931f4;hp=c08365463e5e9a8abf736a85a4df4f90bf1da078;hpb=c29448936abc15d110205b2da435035131398a87;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/DataObject.h b/lib/cpPlugins/Interface/DataObject.h index c083654..e2d79ff 100644 --- a/lib/cpPlugins/Interface/DataObject.h +++ b/lib/cpPlugins/Interface/DataObject.h @@ -1,16 +1,13 @@ #ifndef __CPPLUGINS__INTERFACE__DATAOBJECT__H__ #define __CPPLUGINS__INTERFACE__DATAOBJECT__H__ -#include -#include -#include -#include #include namespace cpPlugins { namespace Interface { + // Some forward declarations class ProcessObject; /** @@ -19,24 +16,34 @@ namespace cpPlugins : public Object { public: - typedef DataObject Self; - typedef Object Superclass; + typedef DataObject Self; + typedef Object Superclass; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; public: - DataObject( ); - virtual ~DataObject( ); + itkNewMacro( Self ); + itkTypeMacro( DataObject, Object ); + cpPlugins_Id_Macro( DataObject, BasicObject ); - virtual std::string GetClassName( ) const; + public: + ProcessObject* GetSource( ); + const ProcessObject* GetSource( ) const; + void SetSource( ProcessObject* src ); - itk::DataObject* GetDataObject( ) const; - virtual void SetDataObject( itk::DataObject* src ); + void DisconnectPipeline( ); - ProcessObject* GetSource( ) const; - void SetSource( ProcessObject* src ); + protected: + DataObject( ); + virtual ~DataObject( ); + + private: + // Purposely not implemented + DataObject( const Self& ); + Self& operator=( const Self& ); protected: - itk::DataObject::Pointer m_DataObject; - ProcessObject* m_Source; + ProcessObject* m_Source; }; } // ecapseman