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