#include #include #include #include #include #ifdef cpPlugins_QT4 # include #endif // cpPlugins_QT4 // ------------------------------------------------------------------------- QDialog* cpPluginscpExtensions::SkeletonWriter:: CreateQDialog( ) { #ifdef cpPlugins_QT4 cpPlugins::QT::SaveFileDialog* dlg = NULL; if( QApplication::instance( ) != NULL ) { dlg = new cpPlugins::QT::SaveFileDialog( ); dlg->SetParameters( &( this->m_Parameters ), "FileName" ); } // fi return( dlg ); #else // cpPlugins_QT4 return( NULL ); #endif // cpPlugins_QT4 } // ------------------------------------------------------------------------- cpPluginscpExtensions::SkeletonWriter:: SkeletonWriter( ) : Superclass( ) { this->_ConfigureInput< cpInstances::DataObjects::Skeleton >( "Input", true, false ); this->m_Parameters.ConfigureAsSaveFileName( "FileName", "" ); this->m_Parameters.SetAcceptedFileExtensions( "FileName", "Skeleton files (*.txt)" ); } // ------------------------------------------------------------------------- cpPluginscpExtensions::SkeletonWriter:: ~SkeletonWriter( ) { } // ------------------------------------------------------------------------- void cpPluginscpExtensions::SkeletonWriter:: _GenerateData( ) { auto o = this->GetInputData( "Input" ); cpPlugins_Demangle_Skeleton_All_1( o, _GD0 ) this->_Error( "Invalid input skeleton." ); } // ------------------------------------------------------------------------- template< class _TSkeleton > void cpPluginscpExtensions::SkeletonWriter:: _GD0( _TSkeleton* skeleton ) { typedef cpExtensions::Algorithms::SkeletonWriter< _TSkeleton > _TWriter; auto filter = this->_CreateITK< _TWriter >( ); filter->SetInput( skeleton ); filter->SetFileName( this->m_Parameters.GetSaveFileName( "FileName" ) ); try { filter->Update( ); } catch( itk::ExceptionObject& err ) { this->_Error( err.GetDescription( ) ); } // yrt } // eof - $RCSfile$