1 #include <cpPlugins/DataObject.h>
2 #include <itkDataObject.h>
3 #include <vtkImageData.h>
4 #include <vtkPolyData.h>
6 // -------------------------------------------------------------------------
7 cpPlugins::ProcessObject* cpPlugins::DataObject::
10 return( this->m_Source );
13 // -------------------------------------------------------------------------
14 const cpPlugins::ProcessObject* cpPlugins::DataObject::
17 return( this->m_Source );
20 // -------------------------------------------------------------------------
21 void cpPlugins::DataObject::
22 SetSource( cpPlugins::ProcessObject* src )
24 if( this->m_Source != src )
32 // -------------------------------------------------------------------------
33 void cpPlugins::DataObject::
34 DisconnectFromPipeline( )
36 // Disconnect input pipelines (ITK)
37 itk::DataObject* itk_obj = this->GetITK< itk::DataObject >( );
39 itk_obj->DisconnectPipeline( );
41 // Disconnect input pipelines (VTK)
42 vtkImageData* vtk_image = this->GetVTK< vtkImageData >( );
43 vtkPolyData* vtk_pd = this->GetVTK< vtkPolyData >( );
44 if( vtk_image != NULL )
46 vtkSmartPointer< vtkImageData > d =
47 vtkSmartPointer< vtkImageData >::New( );
48 d->ShallowCopy( vtk_image );
49 this->m_VTKObject = d;
51 else if( vtk_pd != NULL )
53 vtkSmartPointer< vtkPolyData > d =
54 vtkSmartPointer< vtkPolyData >::New( );
55 d->ShallowCopy( vtk_pd );
56 this->m_VTKObject = d;
61 this->m_Source = NULL;
65 // -------------------------------------------------------------------------
66 vtkProp* cpPlugins::DataObject::
69 if( this->m_Actor.GetPointer( ) == NULL )
70 this->_CreateVTKActor( );
71 return( this->m_Actor.GetPointer( ) );
74 // -------------------------------------------------------------------------
75 const vtkProp* cpPlugins::DataObject::
78 if( this->m_Actor.GetPointer( ) == NULL )
79 this->_CreateVTKActor( );
80 return( this->m_Actor.GetPointer( ) );
83 // -------------------------------------------------------------------------
84 cpPlugins::DataObject::
91 // -------------------------------------------------------------------------
92 cpPlugins::DataObject::
97 // -------------------------------------------------------------------------
98 void cpPlugins::DataObject::
99 _CreateVTKActor( ) const