1 #include <cpPlugins/Interface/DataObject.h>
2 #include <vtkImageData.h>
3 #include <vtkPolyData.h>
5 // -------------------------------------------------------------------------
6 cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
9 return( this->m_Source );
12 // -------------------------------------------------------------------------
13 const cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
16 return( this->m_Source );
19 // -------------------------------------------------------------------------
20 void cpPlugins::Interface::DataObject::
21 SetSource( cpPlugins::Interface::Object* src )
23 if( this->m_Source.GetPointer( ) != src )
31 // -------------------------------------------------------------------------
32 void cpPlugins::Interface::DataObject::
35 if( this->m_ITKObject.IsNotNull( ) )
37 // Disconnect input pipelines
38 this->m_ITKObject->DisconnectPipeline( );
39 vtkImageData* vtk_image =
40 dynamic_cast< vtkImageData* >( this->m_VTKObject.GetPointer( ) );
42 dynamic_cast< vtkPolyData* >( this->m_VTKObject.GetPointer( ) );
43 if( vtk_image != NULL )
45 vtkSmartPointer< vtkImageData > d =
46 vtkSmartPointer< vtkImageData >::New( );
47 d->ShallowCopy( vtk_image );
48 this->m_VTKObject = d;
50 else if( vtk_pd != NULL )
52 vtkSmartPointer< vtkPolyData > d =
53 vtkSmartPointer< vtkPolyData >::New( );
54 d->ShallowCopy( vtk_pd );
55 this->m_VTKObject = d;
62 this->m_Source = NULL;
65 // -------------------------------------------------------------------------
66 cpPlugins::Interface::DataObject::
70 this->m_ClassName = "cpPlugins::Interface::DataObject";
71 this->m_ClassCategory = "BasicObject";
74 // -------------------------------------------------------------------------
75 cpPlugins::Interface::DataObject::