1 #include <cpPluginsVisualization/PolyLineParametricPathToPolyData.h>
2 #include <cpPlugins/Mesh.h>
4 #include <cpExtensions/Visualization/PolyLineParametricPathToPolyData.h>
5 #include <cpExtensions/Visualization/PolyLineParametricPathToPolyData.hxx>
6 #include <itkPolyLineParametricPath.h>
8 // -------------------------------------------------------------------------
9 cpPluginsVisualization::PolyLineParametricPathToPolyData::
10 PolyLineParametricPathToPolyData( )
13 this->_AddInput( "Input" );
14 this->_AddInput( "ReferenceImage", false );
15 this->_AddOutput< cpPlugins::Mesh >( "Output" );
18 // -------------------------------------------------------------------------
19 cpPluginsVisualization::PolyLineParametricPathToPolyData::
20 ~PolyLineParametricPathToPolyData( )
24 // -------------------------------------------------------------------------
25 std::string cpPluginsVisualization::PolyLineParametricPathToPolyData::
28 typedef itk::PolyLineParametricPath< 2 > _2DPath;
29 typedef itk::PolyLineParametricPath< 3 > _3DPath;
31 auto path = this->GetInputData( "Input" )->GetITK< itk::DataObject >( );
32 auto path2D = dynamic_cast< _2DPath* >( path );
33 auto path3D = dynamic_cast< _3DPath* >( path );
35 return( this->_GD0( path2D ) );
36 else if( path3D != NULL )
37 return( this->_GD0( path3D ) );
39 return( "cpPluginsVisualization::PolyLineParametricPathToPolyData: no valid input." );
42 // -------------------------------------------------------------------------
43 template< class _TPath >
44 std::string cpPluginsVisualization::PolyLineParametricPathToPolyData::
48 cpExtensions::Visualization::PolyLineParametricPathToPolyData< _TPath >
50 typedef typename _TFilter::TImage _TImage;
53 _TFilter* filter = this->_CreateVTK< _TFilter >( );
54 filter->SetInput( path );
55 filter->SetReferenceImage(
56 this->GetInputData( "Input" )->GetITK< _TImage >( )
61 this->GetOutputData( "Output" )->SetVTK( filter->GetOutput( ) );