1 #include <cpPlugins/Interface/DataObject.h>
3 #include <cpPlugins/Interface/ProcessObject.h>
4 #include <itkDataObject.h>
5 #include <vtkImageData.h>
6 #include <vtkPolyData.h>
8 // -------------------------------------------------------------------------
9 cpPlugins::Interface::ProcessObject* cpPlugins::Interface::DataObject::
12 return( this->m_Source );
15 // -------------------------------------------------------------------------
16 const cpPlugins::Interface::ProcessObject* cpPlugins::Interface::DataObject::
19 return( this->m_Source );
22 // -------------------------------------------------------------------------
23 void cpPlugins::Interface::DataObject::
24 SetSource( cpPlugins::Interface::ProcessObject* src )
26 if( this->m_Source != src )
34 // -------------------------------------------------------------------------
35 void cpPlugins::Interface::DataObject::
38 // Disconnect input pipelines (ITK)
39 itk::DataObject* itk_obj = this->GetITK< itk::DataObject >( );
41 itk_obj->DisconnectPipeline( );
43 // Disconnect input pipelines (VTK)
44 vtkImageData* vtk_image = this->GetVTK< vtkImageData >( );
45 vtkPolyData* vtk_pd = this->GetVTK< vtkPolyData >( );
46 if( vtk_image != NULL )
48 vtkSmartPointer< vtkImageData > d =
49 vtkSmartPointer< vtkImageData >::New( );
50 d->ShallowCopy( vtk_image );
51 this->m_VTKObject = d;
53 else if( vtk_pd != NULL )
55 vtkSmartPointer< vtkPolyData > d =
56 vtkSmartPointer< vtkPolyData >::New( );
57 d->ShallowCopy( vtk_pd );
58 this->m_VTKObject = d;
63 this->m_Source = NULL;
67 // -------------------------------------------------------------------------
68 cpPlugins::Interface::DataObject::
75 // -------------------------------------------------------------------------
76 cpPlugins::Interface::DataObject::