]> Creatis software - FrontAlgorithms.git/blob - plugins/fpa/ImageSkeleton.h
e8a1345aaa2f93dddd632d514dd20aa730649f6d
[FrontAlgorithms.git] / plugins / fpa / ImageSkeleton.h
1 #ifndef __FPAPLUGINS__IMAGESKELETON__H__
2 #define __FPAPLUGINS__IMAGESKELETON__H__
3
4 #include <fpa/fpaPlugins_Export.h>
5 #include <cpPlugins/DataObject.h>
6 #include <vtkPolyDataAlgorithm.h>
7 #include <vtkSmartPointer.h>
8
9 // -------------------------------------------------------------------------
10 namespace fpaPlugins
11 {
12   /**
13    */
14   class fpaPlugins_EXPORT ImageSkeleton
15     : public cpPlugins::DataObject
16   {
17   public:
18     typedef ImageSkeleton             Self;
19     typedef cpPlugins::DataObject           Superclass;
20     typedef itk::SmartPointer< Self >       Pointer;
21     typedef itk::SmartPointer< const Self > ConstPointer;
22
23   public:
24     itkNewMacro( Self );
25     itkTypeMacro( ImageSkeleton, cpPlugins::DataObject );
26     cpPlugins_Id_Macro( ImageSkeleton, ImageSkeleton );
27
28   public:
29     virtual void SetITK( itk::LightObject* o ) override;
30     virtual void SetVTK( vtkObjectBase* o ) override;
31
32   protected:
33     ImageSkeleton( );
34     virtual ~ImageSkeleton( );
35
36     template< class _TMST >
37       inline bool _SetITK( itk::LightObject* o );
38
39   private:
40     // Purposely not implemented
41     ImageSkeleton( const Self& );
42     Self& operator=( const Self& );
43
44   protected:
45     vtkSmartPointer< vtkPolyDataAlgorithm > m_ITKvVTK;
46       };
47
48 } // ecapseman
49
50 #endif // __FPAPLUGINS__IMAGESKELETON__H__
51
52 // eof - $RCSfile$