1 #ifndef __CPPLUGINS__DATAOBJECT__H__
2 #define __CPPLUGINS__DATAOBJECT__H__
4 #include <cpPlugins/Object.h>
6 // Some forward declarations
11 // Some forward declarations
13 class DataObjectVisualizationQtDialog;
17 class cpPlugins_EXPORT DataObject
21 typedef DataObject Self;
22 typedef Object Superclass;
23 typedef itk::SmartPointer< Self > Pointer;
24 typedef itk::SmartPointer< const Self > ConstPointer;
28 itkTypeMacro( DataObject, Object );
29 cpPlugins_Id_Macro( DataObject, Object );
32 ProcessObject* GetSource( );
33 const ProcessObject* GetSource( ) const;
34 void SetSource( ProcessObject* src );
36 void DisconnectFromPipeline( );
39 virtual DataObjectVisualizationQtDialog* CreateQtDialog( );
42 vtkProp* GetVTKActor( );
43 const vtkProp* GetVTKActor( ) const;
47 virtual ~DataObject( );
49 virtual void _CreateVTKActor( ) const;
52 // Purposely not implemented
53 DataObject( const Self& );
54 Self& operator=( const Self& );
57 ProcessObject* m_Source;
58 mutable vtkProp* m_Actor;
63 #endif // __CPPLUGINS__DATAOBJECT__H__