#ifndef __CPPLUGINS__INTERFACE__DATAOBJECT__H__
#define __CPPLUGINS__INTERFACE__DATAOBJECT__H__
-#include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
#include <cpPlugins/Interface/Object.h>
#include <itkObject.h>
-
#include <vtkSmartPointer.h>
#include <vtkObject.h>
{
namespace Interface
{
+ // Some forward declarations
+ class ProcessObject;
+
/**
*/
class cpPlugins_Interface_EXPORT DataObject
typedef itk::SmartPointer< const Self > ConstPointer;
public:
+ itkNewMacro( Self );
itkTypeMacro( DataObject, Object );
+ cpPlugins_Id_Macro( DataObject, BasicObject );
public:
- Object* GetSource( );
- const Object* GetSource( ) const;
- void SetSource( Object* src );
+ ProcessObject* GetSource( );
+ const ProcessObject* GetSource( ) const;
+ void SetSource( ProcessObject* src );
void DisconnectPipeline( );
protected:
itk::Object::Pointer m_ITKObject;
vtkSmartPointer< vtkObject > m_VTKObject;
- Object::Pointer m_Source;
+ ProcessObject* m_Source;
};
} // ecapseman