X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcpPlugins%2FInterface%2FDataObject.h;fp=lib%2FcpPlugins%2FInterface%2FDataObject.h;h=c6a2129576e27fcb81cce76559092b06bef7ba34;hb=cb833d2fface96e020fe91584d2206860a8174ee;hp=3f561a2a23e40c9ab1d464c161fe2390e9627140;hpb=2f1688b7490f99c3cb932344b1d8db51bd821c4b;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/DataObject.h b/lib/cpPlugins/Interface/DataObject.h index 3f561a2..c6a2129 100644 --- a/lib/cpPlugins/Interface/DataObject.h +++ b/lib/cpPlugins/Interface/DataObject.h @@ -11,34 +11,46 @@ namespace cpPlugins { namespace Interface { - class ProcessObject; - /** */ class cpPlugins_Interface_EXPORT DataObject : 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 ); + public: virtual std::string GetClassName( ) const; + virtual std::string GetClassType( ) const; - itk::DataObject* GetDataObject( ) const; - virtual void SetDataObject( itk::DataObject* dobj ); + itk::DataObject* GetRealDataObject( ) const; + virtual void SetRealDataObject( itk::DataObject* dobj ); - ProcessObject* GetSource( ) const; - void SetSource( ProcessObject* src ); + Object* GetSource( ); + const Object* GetSource( ) const; + void SetSource( Object* src ); void DisconnectPipeline( ); protected: - itk::DataObject::Pointer m_DataObject; - ProcessObject* m_Source; + DataObject( ); + virtual ~DataObject( ); + + private: + // Purposely not implemented + DataObject( const Self& ); + Self& operator=( const Self& ); + + protected: + itk::DataObject::Pointer m_RealDataObject; + Object::Pointer m_Source; }; } // ecapseman