X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FDataObject.cxx;h=c937e4d32d868d8359018e8183136168f7ea4283;hb=f654620df52b811be7bd263a1775c93d29c69a65;hp=808aa2bc9cc0939542fbb5480ac397f4948272c9;hpb=e18f55af541dba9026284beb6f12ef06b12e6f47;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/DataObject.cxx b/lib/cpPlugins/Interface/DataObject.cxx index 808aa2b..c937e4d 100644 --- a/lib/cpPlugins/Interface/DataObject.cxx +++ b/lib/cpPlugins/Interface/DataObject.cxx @@ -1,44 +1,19 @@ #include + +#include +#include #include #include // ------------------------------------------------------------------------- -itk::DataObject* cpPlugins::Interface::DataObject:: -GetITKDataObject( ) -{ - return( this->m_ITKObject.GetPointer( ) ); -} - -// ------------------------------------------------------------------------- -const itk::DataObject* cpPlugins::Interface::DataObject:: -GetITKDataObject( ) const -{ - return( this->m_ITKObject.GetPointer( ) ); -} - -// ------------------------------------------------------------------------- -vtkDataObject* cpPlugins::Interface::DataObject:: -GetVTKDataObject( ) -{ - return( this->m_VTKObject.GetPointer( ) ); -} - -// ------------------------------------------------------------------------- -const vtkDataObject* cpPlugins::Interface::DataObject:: -GetVTKDataObject( ) const -{ - return( this->m_VTKObject.GetPointer( ) ); -} - -// ------------------------------------------------------------------------- -cpPlugins::Interface::Object* cpPlugins::Interface::DataObject:: +cpPlugins::Interface::ProcessObject* cpPlugins::Interface::DataObject:: GetSource( ) { return( this->m_Source ); } // ------------------------------------------------------------------------- -const cpPlugins::Interface::Object* cpPlugins::Interface::DataObject:: +const cpPlugins::Interface::ProcessObject* cpPlugins::Interface::DataObject:: GetSource( ) const { return( this->m_Source ); @@ -46,9 +21,9 @@ GetSource( ) const // ------------------------------------------------------------------------- void cpPlugins::Interface::DataObject:: -SetSource( cpPlugins::Interface::Object* src ) +SetSource( cpPlugins::Interface::ProcessObject* src ) { - if( this->m_Source.GetPointer( ) != src ) + if( this->m_Source != src ) { this->m_Source = src; this->Modified( ); @@ -60,29 +35,27 @@ SetSource( cpPlugins::Interface::Object* src ) void cpPlugins::Interface::DataObject:: DisconnectPipeline( ) { - if( this->m_ITKObject.IsNotNull( ) ) - { - // Disconnect input pipelines - this->m_ITKObject->DisconnectPipeline( ); - vtkImageData* vtk_image = - dynamic_cast< vtkImageData* >( this->m_VTKObject.GetPointer( ) ); - vtkPolyData* vtk_pd = - dynamic_cast< vtkPolyData* >( this->m_VTKObject.GetPointer( ) ); - if( vtk_image != NULL ) - { - vtkSmartPointer< vtkImageData > d = - vtkSmartPointer< vtkImageData >::New( ); - d->ShallowCopy( vtk_image ); - this->m_VTKObject = d; - } - else if( vtk_pd != NULL ) - { - vtkSmartPointer< vtkPolyData > d = - vtkSmartPointer< vtkPolyData >::New( ); - d->ShallowCopy( vtk_pd ); - this->m_VTKObject = d; + // Disconnect input pipelines (ITK) + itk::DataObject* itk_obj = this->GetITK< itk::DataObject >( ); + if( itk_obj != NULL ) + itk_obj->DisconnectPipeline( ); - } // fi + // Disconnect input pipelines (VTK) + vtkImageData* vtk_image = this->GetVTK< vtkImageData >( ); + vtkPolyData* vtk_pd = this->GetVTK< vtkPolyData >( ); + if( vtk_image != NULL ) + { + vtkSmartPointer< vtkImageData > d = + vtkSmartPointer< vtkImageData >::New( ); + d->ShallowCopy( vtk_image ); + this->m_VTKObject = d; + } + else if( vtk_pd != NULL ) + { + vtkSmartPointer< vtkPolyData > d = + vtkSmartPointer< vtkPolyData >::New( ); + d->ShallowCopy( vtk_pd ); + this->m_VTKObject = d; } // fi @@ -93,10 +66,11 @@ DisconnectPipeline( ) // ------------------------------------------------------------------------- cpPlugins::Interface::DataObject:: DataObject( ) - : Superclass( ) + : Superclass( ), + m_ITKObject( NULL ), + m_VTKObject( NULL ), + m_Source( NULL ) { - this->m_ClassName = "cpPlugins::Interface::DataObject"; - this->m_ClassCategory = "BasicObject"; } // -------------------------------------------------------------------------