#include #include #include #include #include // ------------------------------------------------------------------------- bool cpPlugins::BaseObjects::DataObject:: IsCompatible( const Self* other ) const { return( true ); } // ------------------------------------------------------------------------- cpPlugins::BaseObjects::ProcessObject* cpPlugins::BaseObjects::DataObject:: GetSource( ) { return( this->m_Source ); } // ------------------------------------------------------------------------- const cpPlugins::BaseObjects::ProcessObject* cpPlugins::BaseObjects::DataObject:: GetSource( ) const { return( this->m_Source ); } // ------------------------------------------------------------------------- void cpPlugins::BaseObjects::DataObject:: SetSource( cpPlugins::BaseObjects::ProcessObject* src ) { if( this->m_Source != src ) { this->m_Source = src; this->Modified( ); } // fi } // ------------------------------------------------------------------------- void cpPlugins::BaseObjects::DataObject:: DisconnectFromPipeline( ) { // Disconnect input pipelines (ITK) itk::DataObject::Pointer itk_obj = this->GetITK< itk::DataObject >( ); if( itk_obj.IsNotNull( ) ) itk_obj->DisconnectPipeline( ); // Disconnect input pipelines (VTK) bool ok = this->_DisconnectVTK< vtkImageData >( ); if( !ok ) ok = this->_DisconnectVTK< vtkPolyData >( ); // Unbind source this->m_Source = NULL; this->Modified( ); } // ------------------------------------------------------------------------- cpPlugins::BaseObjects::DataObject:: DataObject( ) : Superclass( ), m_Source( NULL ) { } // ------------------------------------------------------------------------- cpPlugins::BaseObjects::DataObject:: ~DataObject( ) { } // ------------------------------------------------------------------------- template< class _TType > bool cpPlugins::BaseObjects::DataObject:: _DisconnectVTK( ) { _TType* v = dynamic_cast< _TType* >( this->m_VTK.GetPointer( ) ); if( v != NULL ) { vtkSmartPointer< _TType > d = vtkSmartPointer< _TType >::New( ); d->ShallowCopy( v ); this->m_VTK = d; return( true ); } else return( false ); } // eof - $RCSfile$