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