1 #ifndef __CPPLUGINS__INTERFACE__DATAOBJECT__H__
2 #define __CPPLUGINS__INTERFACE__DATAOBJECT__H__
6 #include <vtkDataObject.h>
7 #include <vtkSmartPointer.h>
8 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
9 #include <cpPlugins/Interface/Object.h>
11 #include <itkDataObject.h>
19 class cpPlugins_Interface_EXPORT DataObject
23 typedef DataObject Self;
24 typedef Object Superclass;
25 typedef itk::SmartPointer< Self > Pointer;
26 typedef itk::SmartPointer< const Self > ConstPointer;
29 itkTypeMacro( DataObject, Object );
33 const Object* GetSource( ) const;
34 void SetSource( Object* src );
36 void DisconnectPipeline( );
40 virtual ~DataObject( );
43 // Purposely not implemented
44 DataObject( const Self& );
45 Self& operator=( const Self& );
48 itk::DataObject::Pointer m_ITKObject;
49 vtkSmartPointer< vtkDataObject > m_VTKObject;
50 Object::Pointer m_Source;
57 #endif // __CPPLUGINS__INTERFACE__DATAOBJECT__H__