X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=plugins%2FExtensions%2FPolyLineParametricPath.cxx;fp=plugins%2FExtensions%2FPolyLineParametricPath.cxx;h=cb4a6be3bca149b0e86e0fa5c899ac6e2dd20840;hb=514419c89876aa75880cabee60c14f7582b1d33c;hp=0000000000000000000000000000000000000000;hpb=d74a07c7e0854fcfe2b0189805b992785f3631e8;p=cpPlugins.git diff --git a/plugins/Extensions/PolyLineParametricPath.cxx b/plugins/Extensions/PolyLineParametricPath.cxx new file mode 100644 index 0000000..cb4a6be --- /dev/null +++ b/plugins/Extensions/PolyLineParametricPath.cxx @@ -0,0 +1,64 @@ +#include +#include +#include + +// ------------------------------------------------------------------------- +void cpPluginsExtensions::PolyLineParametricPath:: +SetITK( itk::LightObject* o ) +{ + this->Superclass::SetITK( o ); + cpPlugins_Demangle_PolyLineParametricPath_All_1( o, _ITK_2_VTK ) + { + this->m_VTK = NULL; + this->m_ITKvVTK = NULL; + } +} + +// ------------------------------------------------------------------------- +void cpPluginsExtensions::PolyLineParametricPath:: +SetVTK( vtkObjectBase* o ) +{ + // Do nothing + this->m_ITK = NULL; + this->m_VTK = NULL; + this->m_ITKvVTK = NULL; +} + +// ------------------------------------------------------------------------- +cpPluginsExtensions::PolyLineParametricPath:: +PolyLineParametricPath( ) + : Superclass( ) +{ +} + +// ------------------------------------------------------------------------- +cpPluginsExtensions::PolyLineParametricPath:: +~PolyLineParametricPath( ) +{ +} + +// ------------------------------------------------------------------------- +template< class _TPolyLine > +void cpPluginsExtensions::PolyLineParametricPath:: +_ITK_2_VTK( _TPolyLine* pl ) +{ + typedef + cpExtensions::Visualization::PolyLineParametricPathToPolyData< _TPolyLine > + _TFilter; + _TFilter* f = dynamic_cast< _TFilter* >( this->m_ITKvVTK.GetPointer( ) ); + if( f == NULL ) + { + _TFilter* nf = _TFilter::New( ); + this->m_ITKvVTK = nf; + f = nf; + + } // fi + f->SetInput( pl ); + f->Update( ); + + // Keep object track + this->m_ITK = pl; + this->m_VTK = f->GetOutput( ); +} + +// eof - $RCSfile$