1 #ifndef __cpInstances__DataObjects__Simple3DCurve__h__
2 #define __cpInstances__DataObjects__Simple3DCurve__h__
4 #include <cpInstances/cpPluginsDataObjects_Export.h>
5 #include <cpPlugins/Pipeline/DataObject.h>
6 #include <cpInstances/DataObjects/Simple3DCurve_Demanglers.h>
7 #include <itkProcessObject.h>
8 #include <vtkSmartPointer.h>
10 // -------------------------------------------------------------------------
11 class vtkPolyDataAlgorithm;
13 // -------------------------------------------------------------------------
20 class cpPluginsDataObjects_EXPORT Simple3DCurve
21 : public cpPlugins::Pipeline::DataObject
24 typedef Simple3DCurve Self;
25 typedef cpPlugins::Pipeline::DataObject Superclass;
26 typedef itk::SmartPointer< Self > Pointer;
27 typedef itk::SmartPointer< const Self > ConstPointer;
31 itkTypeMacro( Simple3DCurve, cpPlugins::Pipeline::DataObject );
32 cpPlugins_Id_Macro( Simple3DCurve, Object );
33 cpPlugins_Compatibility_Macro;
36 virtual void SetVTK( vtkObjectBase* o ) override;
40 virtual ~Simple3DCurve( );
42 virtual void _UpdateVTK( ) const override;
44 template< class _TCurve >
45 inline void _ITK_2_VTK( _TCurve* curve ) const;
48 // Purposely not implemented
49 Simple3DCurve( const Self& );
50 Self& operator=( const Self& );
53 vtkSmartPointer< vtkPolyDataAlgorithm > m_ITKvVTK;
60 #endif // __cpInstances__Simple3DCurve__h__