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 );
30 cpPlugins::Interface::DataObject, "BasicObject"
35 const Object* GetSource( ) const;
36 void SetSource( Object* src );
38 void DisconnectPipeline( );
44 inline const T* GetITK( ) const;
50 inline const T* GetVTK( ) const;
54 virtual ~DataObject( );
57 // Purposely not implemented
58 DataObject( const Self& );
59 Self& operator=( const Self& );
62 itk::Object::Pointer m_ITKObject;
63 vtkSmartPointer< vtkObject > m_VTKObject;
64 Object::Pointer m_Source;
71 #include <cpPlugins/Interface/DataObject.hxx>
73 #endif // __CPPLUGINS__INTERFACE__DATAOBJECT__H__