#include #include #include #include #include // ------------------------------------------------------------------------- cpPluginsVisualization::PolyLineParametricPathToPolyData:: PolyLineParametricPathToPolyData( ) : Superclass( ) { this->_AddInput( "Input" ); this->_AddInput( "ReferenceImage", false ); this->_AddOutput< cpPlugins::Mesh >( "Output" ); } // ------------------------------------------------------------------------- cpPluginsVisualization::PolyLineParametricPathToPolyData:: ~PolyLineParametricPathToPolyData( ) { } // ------------------------------------------------------------------------- std::string cpPluginsVisualization::PolyLineParametricPathToPolyData:: _GenerateData( ) { typedef itk::PolyLineParametricPath< 2 > _2DPath; typedef itk::PolyLineParametricPath< 3 > _3DPath; auto path = this->GetInputData( "Input" )->GetITK< itk::DataObject >( ); auto path2D = dynamic_cast< _2DPath* >( path ); auto path3D = dynamic_cast< _3DPath* >( path ); if( path2D != NULL ) return( this->_GD0( path2D ) ); else if( path3D != NULL ) return( this->_GD0( path3D ) ); else return( "cpPluginsVisualization::PolyLineParametricPathToPolyData: no valid input." ); } // ------------------------------------------------------------------------- template< class _TPath > std::string cpPluginsVisualization::PolyLineParametricPathToPolyData:: _GD0( _TPath* path ) { typedef cpExtensions::Visualization::PolyLineParametricPathToPolyData< _TPath > _TFilter; typedef typename _TFilter::TImage _TImage; // Configure filter _TFilter* filter = this->_CreateVTK< _TFilter >( ); filter->SetInput( path ); filter->SetReferenceImage( this->GetInputData( "Input" )->GetITK< _TImage >( ) ); filter->Update( ); // Connect output this->GetOutputData( "Output" )->SetVTK( filter->GetOutput( ) ); return( "" ); } // eof - $RCSfile$