]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/DataObjects/Simple3DCurve.h
CastImageFilter added.
[cpPlugins.git] / lib / cpPlugins / DataObjects / Simple3DCurve.h
1 #ifndef __cpPlugins__DataObjects__Simple3DCurve__h__
2 #define __cpPlugins__DataObjects__Simple3DCurve__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 Simple3DCurve
18       : public cpPlugins::BaseObjects::DataObject
19     {
20     public:
21       typedef Simple3DCurve                      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         Simple3DCurve, cpPlugins::BaseObjects::DataObject
30         );
31       cpPlugins_Id_Macro( Simple3DCurve, 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       Simple3DCurve( );
40       virtual ~Simple3DCurve( );
41
42       template< class _TSimple3DCurve >
43       inline void _ITK_2_VTK( _TSimple3DCurve* curve );
44
45     private:
46       // Purposely not implemented
47       Simple3DCurve( 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__Simple3DCurve__h__
59
60 // eof - $RCSfile$