1 #ifndef __CPPLUGINS__INTERFACE__DATAOBJECT__H__
2 #define __CPPLUGINS__INTERFACE__DATAOBJECT__H__
4 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
5 #include <cpPlugins/Interface/Object.h>
9 #include <vtkSmartPointer.h>
10 #include <vtkObject.h>
18 class cpPlugins_Interface_EXPORT DataObject
22 typedef DataObject Self;
23 typedef Object Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
28 itkTypeMacro( DataObject, Object );
32 const Object* GetSource( ) const;
33 void SetSource( Object* src );
35 void DisconnectPipeline( );
41 inline const T* GetITK( ) const;
47 inline const T* GetVTK( ) const;
51 virtual ~DataObject( );
54 // Purposely not implemented
55 DataObject( const Self& );
56 Self& operator=( const Self& );
59 itk::Object::Pointer m_ITKObject;
60 vtkSmartPointer< vtkObject > m_VTKObject;
61 Object::Pointer m_Source;
68 #include <cpPlugins/Interface/DataObject.hxx>
70 #endif // __CPPLUGINS__INTERFACE__DATAOBJECT__H__