1 #ifndef __CPPLUGINS__DATAOBJECT__H__
2 #define __CPPLUGINS__DATAOBJECT__H__
4 #include <cpPlugins/Object.h>
6 // Some forward declarations
11 // Some forward declarations
16 class cpPlugins_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 );
28 cpPlugins_Id_Macro( DataObject, Object );
31 ProcessObject* GetSource( );
32 const ProcessObject* GetSource( ) const;
33 void SetSource( ProcessObject* src );
35 void DisconnectFromPipeline( );
38 vtkProp* GetVTKActor( );
39 const vtkProp* GetVTKActor( ) const;
43 virtual ~DataObject( );
45 virtual void _CreateVTKActor( ) const;
48 // Purposely not implemented
49 DataObject( const Self& );
50 Self& operator=( const Self& );
53 ProcessObject* m_Source;
54 mutable vtkProp* m_Actor;
59 #endif // __CPPLUGINS__DATAOBJECT__H__