1 #ifndef __CPPLUGINS__INTERFACE__DATAOBJECT__H__
2 #define __CPPLUGINS__INTERFACE__DATAOBJECT__H__
6 #include <itkDataObject.h>
7 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
8 #include <cpPlugins/Interface/Object.h>
16 class cpPlugins_Interface_EXPORT DataObject
20 typedef DataObject Self;
21 typedef Object Superclass;
22 typedef itk::SmartPointer< Self > Pointer;
23 typedef itk::SmartPointer< const Self > ConstPointer;
27 itkTypeMacro( DataObject, Object );
30 virtual std::string GetClassName( ) const;
31 virtual std::string GetClassType( ) const;
33 itk::DataObject* GetRealDataObject( ) const;
34 virtual void SetRealDataObject( itk::DataObject* dobj );
37 const Object* GetSource( ) const;
38 void SetSource( Object* src );
40 void DisconnectPipeline( );
44 virtual ~DataObject( );
47 // Purposely not implemented
48 DataObject( const Self& );
49 Self& operator=( const Self& );
52 itk::DataObject::Pointer m_RealDataObject;
53 Object::Pointer m_Source;
60 #endif // __CPPLUGINS__INTERFACE__DATAOBJECT__H__