1 #include <cpExtensions/PolyLineParametricPathWriter.h>
2 #include <cpInstances/DataObjects/PolyLineParametricPath.h>
4 #include <cpExtensions/DataStructures/PolyLineParametricPath.h>
5 #include <cpExtensions/Algorithms/PolyLineParametricPathWriter.h>
6 #include <cpPlugins/QT/SaveFileDialog.h>
9 # include <QApplication>
10 #endif // cpPlugins_QT4
12 // -------------------------------------------------------------------------
13 QDialog* cpPluginscpExtensions::PolyLineParametricPathWriter::
17 cpPlugins::QT::SaveFileDialog* dlg = NULL;
18 if( QApplication::instance( ) != NULL )
20 dlg = new cpPlugins::QT::SaveFileDialog( );
21 dlg->SetParameters( &( this->m_Parameters ), "FileName" );
25 #else // cpPlugins_QT4
27 #endif // cpPlugins_QT4
30 // -------------------------------------------------------------------------
31 cpPluginscpExtensions::PolyLineParametricPathWriter::
32 PolyLineParametricPathWriter( )
35 this->_ConfigureInput< cpInstances::PolyLineParametricPath >( "Input", true, false );
36 this->m_Parameters.ConfigureAsSaveFileName( "FileName", "" );
37 this->m_Parameters.SetAcceptedFileExtensions(
39 "PolyLineParametricPath files (*.txt)"
43 // -------------------------------------------------------------------------
44 cpPluginscpExtensions::PolyLineParametricPathWriter::
45 ~PolyLineParametricPathWriter( )
49 // -------------------------------------------------------------------------
50 void cpPluginscpExtensions::PolyLineParametricPathWriter::
53 auto o = this->GetInputData( "Input" );
54 cpPlugins_Demangle_PolyLineParametricPath_All_1( o, _GD0 )
55 this->_Error( "Invalid input skeleton." );
58 // -------------------------------------------------------------------------
59 template< class _TPolyLineParametricPath >
60 void cpPluginscpExtensions::PolyLineParametricPathWriter::
61 _GD0( _TPolyLineParametricPath* skeleton )
63 typedef cpExtensions::Algorithms::PolyLineParametricPathWriter< _TPolyLineParametricPath > _TWriter;
65 auto filter = this->_CreateITK< _TWriter >( );
66 filter->SetInput( skeleton );
67 filter->SetFileName( this->m_Parameters.GetSaveFileName( "FileName" ) );
72 catch( itk::ExceptionObject& err )
74 this->_Error( err.GetDescription( ) );