1 #include <cpPlugins/Interface/DataObject.h>
3 #include <itkDataObject.h>
4 #include <vtkImageData.h>
5 #include <vtkPolyData.h>
7 // -------------------------------------------------------------------------
8 cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
11 return( this->m_Source );
14 // -------------------------------------------------------------------------
15 const cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
18 return( this->m_Source );
21 // -------------------------------------------------------------------------
22 void cpPlugins::Interface::DataObject::
23 SetSource( cpPlugins::Interface::Object* src )
25 if( this->m_Source.GetPointer( ) != src )
33 // -------------------------------------------------------------------------
34 void cpPlugins::Interface::DataObject::
37 // Disconnect input pipelines (ITK)
38 itk::DataObject* itk_obj = this->GetITK< itk::DataObject >( );
40 itk_obj->DisconnectPipeline( );
42 // Disconnect input pipelines (VTK)
43 vtkImageData* vtk_image = this->GetVTK< vtkImageData >( );
44 vtkPolyData* vtk_pd = this->GetVTK< vtkPolyData >( );
45 if( vtk_image != NULL )
47 vtkSmartPointer< vtkImageData > d =
48 vtkSmartPointer< vtkImageData >::New( );
49 d->ShallowCopy( vtk_image );
50 this->m_VTKObject = d;
52 else if( vtk_pd != NULL )
54 vtkSmartPointer< vtkPolyData > d =
55 vtkSmartPointer< vtkPolyData >::New( );
56 d->ShallowCopy( vtk_pd );
57 this->m_VTKObject = d;
62 this->m_Source = NULL;
65 // -------------------------------------------------------------------------
66 cpPlugins::Interface::DataObject::
73 this->m_ClassName = "cpPlugins::Interface::DataObject";
74 this->m_ClassCategory = "BasicObject";
77 // -------------------------------------------------------------------------
78 cpPlugins::Interface::DataObject::