]> Creatis software - cpPlugins.git/blob - plugins/GenericFilters/PolyLineParametricPathToSimple3DCurve.cxx
af6facf9438bcecfadeb13a8e22ec9d6a8b9d42c
[cpPlugins.git] / plugins / GenericFilters / PolyLineParametricPathToSimple3DCurve.cxx
1 #include <GenericFilters/PolyLineParametricPathToSimple3DCurve.h>
2 #include <Extensions/PolyLineParametricPath.h>
3 #include <Extensions/Simple3DCurve.h>
4
5 #include <cpExtensions/DataStructures/PolyLineParametricPath.h>
6 #include <cpExtensions/DataStructures/Simple3DCurve.h>
7 #include <cpExtensions/Algorithms/PolyLineParametricPathToSimple3DCurve.h>
8
9 // -------------------------------------------------------------------------
10 cpPluginsGenericFilters::PolyLineParametricPathToSimple3DCurve::
11 PolyLineParametricPathToSimple3DCurve( )
12   : Superclass( )
13 {
14   typedef cpPluginsExtensions::PolyLineParametricPath _TPath;
15   typedef cpPluginsExtensions::Simple3DCurve          _TCurve;
16   this->_ConfigureInput< _TPath >( "Input", true, false );
17   this->_ConfigureOutput< _TCurve >( "Output" );
18
19   this->m_Parameters.ConfigureAsUint( "NumberOfSamples", 0 );
20 }
21
22 // -------------------------------------------------------------------------
23 cpPluginsGenericFilters::PolyLineParametricPathToSimple3DCurve::
24 ~PolyLineParametricPathToSimple3DCurve( )
25 {
26 }
27
28 // -------------------------------------------------------------------------
29 void cpPluginsGenericFilters::PolyLineParametricPathToSimple3DCurve::
30 _GenerateData( )
31 {
32   typedef cpExtensions::DataStructures::PolyLineParametricPath< 3 > _TPath;
33   typedef cpExtensions::DataStructures::Simple3DCurve< double > _TCurve;
34   typedef cpExtensions::Algorithms::PolyLineParametricPathToSimple3DCurve< _TPath, _TCurve > _TFilter;
35
36   auto in = this->GetInputData< _TPath >( "Input" );
37   if( in == NULL )
38     this->_Error( "Invalid input path." );
39
40   auto filter = this->_CreateITK< _TFilter >( );
41   filter->SetInput( in );
42   filter->SetNumberOfSamples( this->m_Parameters.GetUint( "NumberOfSamples" ) );
43   filter->Update( );
44   this->GetOutput( "Output" )->SetITK( filter->GetOutput( ) );
45 }
46
47 // eof - $RCSfile$