]> Creatis software - cpPlugins.git/blob - plugins/Extensions/PolyLineParametricPath.cxx
CastImageFilter added.
[cpPlugins.git] / plugins / Extensions / PolyLineParametricPath.cxx
1 #include <Extensions/PolyLineParametricPath.h>
2 #include <cpExtensions/Visualization/PolyLineParametricPathToPolyData.h>
3 #include <cpExtensions/DataStructures/PolyLineParametricPath.h>
4
5 // -------------------------------------------------------------------------
6 void cpPluginsExtensions::PolyLineParametricPath::
7 SetITK( itk::LightObject* o )
8 {
9   this->Superclass::SetITK( o );
10   cpPlugins_Demangle_PolyLineParametricPath_All_1( o, _ITK_2_VTK )
11   {
12     this->m_VTK = NULL;
13     this->m_ITKvVTK = NULL;
14   }
15 }
16
17 // -------------------------------------------------------------------------
18 void cpPluginsExtensions::PolyLineParametricPath::
19 SetVTK( vtkObjectBase* o )
20 {
21   // Do nothing
22   this->m_ITK = NULL;
23   this->m_VTK = NULL;
24   this->m_ITKvVTK = NULL;
25 }
26
27 // -------------------------------------------------------------------------
28 cpPluginsExtensions::PolyLineParametricPath::
29 PolyLineParametricPath( )
30   : Superclass( )
31 {
32 }
33
34 // -------------------------------------------------------------------------
35 cpPluginsExtensions::PolyLineParametricPath::
36 ~PolyLineParametricPath( )
37 {
38 }
39
40 // -------------------------------------------------------------------------
41 template< class _TPolyLine >
42 void cpPluginsExtensions::PolyLineParametricPath::
43 _ITK_2_VTK( _TPolyLine* pl )
44 {
45   typedef
46     cpExtensions::Visualization::PolyLineParametricPathToPolyData< _TPolyLine >
47     _TFilter;
48   _TFilter* f = dynamic_cast< _TFilter* >( this->m_ITKvVTK.GetPointer( ) );
49   if( f == NULL )
50   {
51     _TFilter* nf = _TFilter::New( );
52     this->m_ITKvVTK = nf;
53     f = nf;
54
55   } // fi
56   f->SetInput( pl );
57   f->Update( );
58
59   // Keep object track
60   this->m_ITK = pl;
61   this->m_VTK = f->GetOutput( );
62 }
63
64 // eof - $RCSfile$