]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/DataObject.cxx
Widget integration (step 2/6). WARNING: IT DOES NOT COMPILE YETgit shortlog !
[cpPlugins.git] / lib / cpPlugins / Interface / DataObject.cxx
1 #include <cpPlugins/Interface/DataObject.h>
2 #include <vtkImageData.h>
3 #include <vtkPolyData.h>
4
5 // -------------------------------------------------------------------------
6 cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
7 GetSource( )
8 {
9   return( this->m_Source );
10 }
11
12 // -------------------------------------------------------------------------
13 const cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
14 GetSource( ) const
15 {
16   return( this->m_Source );
17 }
18
19 // -------------------------------------------------------------------------
20 void cpPlugins::Interface::DataObject::
21 SetSource( cpPlugins::Interface::Object* src )
22 {
23   if( this->m_Source.GetPointer( ) != src )
24   {
25     this->m_Source = src;
26     this->Modified( );
27
28   } // fi
29 }
30
31 // -------------------------------------------------------------------------
32 void cpPlugins::Interface::DataObject::
33 DisconnectPipeline( )
34 {
35   if( this->m_ITKObject.IsNotNull( ) )
36   {
37     // Disconnect input pipelines
38     this->m_ITKObject->DisconnectPipeline( );
39     vtkImageData* vtk_image =
40       dynamic_cast< vtkImageData* >( this->m_VTKObject.GetPointer( ) );
41     vtkPolyData* vtk_pd =
42       dynamic_cast< vtkPolyData* >( this->m_VTKObject.GetPointer( ) );
43     if( vtk_image != NULL )
44     {
45       vtkSmartPointer< vtkImageData > d =
46         vtkSmartPointer< vtkImageData >::New( );
47       d->ShallowCopy( vtk_image );
48       this->m_VTKObject = d;
49     }
50     else if( vtk_pd != NULL )
51     {
52       vtkSmartPointer< vtkPolyData > d =
53         vtkSmartPointer< vtkPolyData >::New( );
54       d->ShallowCopy( vtk_pd );
55       this->m_VTKObject = d;
56
57     } // fi
58
59   } // fi
60
61   // Unbind source
62   this->m_Source = NULL;
63 }
64
65 // -------------------------------------------------------------------------
66 cpPlugins::Interface::DataObject::
67 DataObject( )
68   : Superclass( ),
69     m_ITKObject( NULL ),
70     m_VTKObject( NULL ),
71     m_Source( NULL )
72 {
73   this->m_ClassName = "cpPlugins::Interface::DataObject";
74   this->m_ClassCategory = "BasicObject";
75 }
76
77 // -------------------------------------------------------------------------
78 cpPlugins::Interface::DataObject::
79 ~DataObject( )
80 {
81 }
82
83 // eof - $RCSfile$