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