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