1 #include <cpPlugins/Interface/DataObject.h>
2 #include <vtkImageData.h>
3 #include <vtkPolyData.h>
5 // -------------------------------------------------------------------------
6 itk::DataObject* cpPlugins::Interface::DataObject::
9 return( this->m_ITKObject.GetPointer( ) );
12 // -------------------------------------------------------------------------
13 const itk::DataObject* cpPlugins::Interface::DataObject::
14 GetITKDataObject( ) const
16 return( this->m_ITKObject.GetPointer( ) );
19 // -------------------------------------------------------------------------
20 vtkDataObject* cpPlugins::Interface::DataObject::
23 return( this->m_VTKObject.GetPointer( ) );
26 // -------------------------------------------------------------------------
27 const vtkDataObject* cpPlugins::Interface::DataObject::
28 GetVTKDataObject( ) const
30 return( this->m_VTKObject.GetPointer( ) );
33 // -------------------------------------------------------------------------
34 cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
37 return( this->m_Source );
40 // -------------------------------------------------------------------------
41 const cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
44 return( this->m_Source );
47 // -------------------------------------------------------------------------
48 void cpPlugins::Interface::DataObject::
49 SetSource( cpPlugins::Interface::Object* src )
51 if( this->m_Source.GetPointer( ) != src )
59 // -------------------------------------------------------------------------
60 void cpPlugins::Interface::DataObject::
63 if( this->m_ITKObject.IsNotNull( ) )
65 // Disconnect input pipelines
66 this->m_ITKObject->DisconnectPipeline( );
67 vtkImageData* vtk_image =
68 dynamic_cast< vtkImageData* >( this->m_VTKObject.GetPointer( ) );
70 dynamic_cast< vtkPolyData* >( this->m_VTKObject.GetPointer( ) );
71 if( vtk_image != NULL )
73 vtkSmartPointer< vtkImageData > d =
74 vtkSmartPointer< vtkImageData >::New( );
75 d->ShallowCopy( vtk_image );
76 this->m_VTKObject = d;
78 else if( vtk_pd != NULL )
80 vtkSmartPointer< vtkPolyData > d =
81 vtkSmartPointer< vtkPolyData >::New( );
82 d->ShallowCopy( vtk_pd );
83 this->m_VTKObject = d;
88 if( this->m_Source.IsNotNull( ) )
89 this->m_Source->Delete( );
95 // -------------------------------------------------------------------------
96 cpPlugins::Interface::DataObject::
100 this->m_ClassName = "cpPlugins::Interface::DataObject";
101 this->m_ClassCategory = "BasicObject";
104 // -------------------------------------------------------------------------
105 cpPlugins::Interface::DataObject::