1 #include <cpPlugins/Interface/DataObject.h>
2 #include <vtkImageData.h>
3 #include <vtkPolyData.h>
5 // -------------------------------------------------------------------------
7 itk::DataObject* cpPlugins::Interface::DataObject::
10 return( this->m_ITKObject.GetPointer( ) );
13 // -------------------------------------------------------------------------
14 const itk::DataObject* cpPlugins::Interface::DataObject::
15 GetITKDataObject( ) const
17 return( this->m_ITKObject.GetPointer( ) );
20 // -------------------------------------------------------------------------
21 vtkDataObject* cpPlugins::Interface::DataObject::
24 return( this->m_VTKObject.GetPointer( ) );
27 // -------------------------------------------------------------------------
28 const vtkDataObject* cpPlugins::Interface::DataObject::
29 GetVTKDataObject( ) const
31 return( this->m_VTKObject.GetPointer( ) );
35 // -------------------------------------------------------------------------
36 cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
39 return( this->m_Source );
42 // -------------------------------------------------------------------------
43 const cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
46 return( this->m_Source );
49 // -------------------------------------------------------------------------
50 void cpPlugins::Interface::DataObject::
51 SetSource( cpPlugins::Interface::Object* src )
53 if( this->m_Source.GetPointer( ) != src )
61 // -------------------------------------------------------------------------
62 void cpPlugins::Interface::DataObject::
65 if( this->m_ITKObject.IsNotNull( ) )
67 // Disconnect input pipelines
68 this->m_ITKObject->DisconnectPipeline( );
69 vtkImageData* vtk_image =
70 dynamic_cast< vtkImageData* >( this->m_VTKObject.GetPointer( ) );
72 dynamic_cast< vtkPolyData* >( this->m_VTKObject.GetPointer( ) );
73 if( vtk_image != NULL )
75 vtkSmartPointer< vtkImageData > d =
76 vtkSmartPointer< vtkImageData >::New( );
77 d->ShallowCopy( vtk_image );
78 this->m_VTKObject = d;
80 else if( vtk_pd != NULL )
82 vtkSmartPointer< vtkPolyData > d =
83 vtkSmartPointer< vtkPolyData >::New( );
84 d->ShallowCopy( vtk_pd );
85 this->m_VTKObject = d;
92 this->m_Source = NULL;
95 // -------------------------------------------------------------------------
96 cpPlugins::Interface::DataObject::
100 this->m_ClassName = "cpPlugins::Interface::DataObject";
101 this->m_ClassCategory = "BasicObject";
104 // -------------------------------------------------------------------------
105 cpPlugins::Interface::DataObject::