]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/DataObjects/Skeleton.h
...
[cpPlugins.git] / lib / cpPlugins / DataObjects / Skeleton.h
1 #ifndef __cpPlugins__DataObjects__Skeleton__h__
2 #define __cpPlugins__DataObjects__Skeleton__h__
3
4 #include <cpPlugins/BaseObjects/DataObject.h>
5 #include <cpPlugins_Paths.h>
6 #include <vtkSmartPointer.h>
7
8 // -------------------------------------------------------------------------
9 class vtkPolyDataAlgorithm;
10
11 // -------------------------------------------------------------------------
12 namespace cpPlugins
13 {
14   namespace DataObjects
15   {
16     /**
17      */
18     class cpPlugins_EXPORT Skeleton
19       : public cpPlugins::BaseObjects::DataObject
20     {
21     public:
22       typedef Skeleton                           Self;
23       typedef cpPlugins::BaseObjects::DataObject Superclass;
24       typedef itk::SmartPointer< Self >          Pointer;
25       typedef itk::SmartPointer< const Self >    ConstPointer;
26
27     public:
28       itkNewMacro( Self );
29       itkTypeMacro(
30         Skeleton, cpPlugins::BaseObjects::DataObject
31         );
32       cpPlugins_Id_Macro( Skeleton, Object );
33       cpPlugins_Compatibility_Macro;
34
35     public:
36       virtual void SetITK( itk::LightObject* o ) cpPlugins_OVERRIDE;
37       virtual void SetVTK( vtkObjectBase* o ) cpPlugins_OVERRIDE;
38
39     protected:
40       Skeleton( );
41       virtual ~Skeleton( );
42
43       template< class _TSkeleton >
44       inline void _ITK_2_VTK( _TSkeleton* sk );
45
46     private:
47       // Purposely not implemented
48       Skeleton( const Self& );
49       Self& operator=( const Self& );
50
51     protected:
52       vtkSmartPointer< vtkPolyDataAlgorithm > m_ITKvVTK;
53     };
54
55   } // ecapseman
56
57 } // ecapseman
58
59 #endif // __cpPlugins__DataObjects__Skeleton__h__
60
61 // eof - $RCSfile$