1 #ifndef __cpInstances__Simple3DCurve__h__
2 #define __cpInstances__Simple3DCurve__h__
4 #include <cpInstances/cpPluginsDataObjects_Export.h>
5 #include <cpPlugins/BaseObjects/DataObject.h>
6 #include <cpInstances/Simple3DCurve_Demanglers.h>
7 #include <itkProcessObject.h>
8 #include <vtkSmartPointer.h>
10 // -------------------------------------------------------------------------
11 class vtkPolyDataAlgorithm;
13 // -------------------------------------------------------------------------
18 class cpPluginsDataObjects_EXPORT Simple3DCurve
19 : public cpPlugins::BaseObjects::DataObject
22 typedef Simple3DCurve Self;
23 typedef cpPlugins::BaseObjects::DataObject Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
29 itkTypeMacro( Simple3DCurve, cpPlugins::BaseObjects::DataObject );
30 cpPlugins_Id_Macro( Simple3DCurve, Object );
31 cpPlugins_Compatibility_Macro;
34 virtual void SetVTK( vtkObjectBase* o ) cpPlugins_OVERRIDE;
38 virtual ~Simple3DCurve( );
40 virtual void _UpdateVTK( ) const cpPlugins_OVERRIDE;
42 template< class _TCurve >
43 inline void _ITK_2_VTK( _TCurve* curve ) const;
46 // Purposely not implemented
47 Simple3DCurve( const Self& );
48 Self& operator=( const Self& );
51 vtkSmartPointer< vtkPolyDataAlgorithm > m_ITKvVTK;
56 #endif // __cpInstances__Simple3DCurve__h__