#ifndef __cpInstances__Simple3DCurve__h__ #define __cpInstances__Simple3DCurve__h__ #include #include #include #include #include // ------------------------------------------------------------------------- class vtkPolyDataAlgorithm; // ------------------------------------------------------------------------- namespace cpInstances { /** */ class cpPluginsDataObjects_EXPORT Simple3DCurve : public cpPlugins::BaseObjects::DataObject { public: typedef Simple3DCurve Self; typedef cpPlugins::BaseObjects::DataObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: cpPluginsNewMacro( Self ); itkTypeMacro( Simple3DCurve, cpPlugins::BaseObjects::DataObject ); cpPlugins_Id_Macro( Simple3DCurve, Object ); cpPlugins_Compatibility_Macro; public: virtual void SetVTK( vtkObjectBase* o ) cpPlugins_OVERRIDE; protected: Simple3DCurve( ); virtual ~Simple3DCurve( ); virtual void _UpdateVTK( ) const cpPlugins_OVERRIDE; template< class _TCurve > inline void _ITK_2_VTK( _TCurve* curve ) const; private: // Purposely not implemented Simple3DCurve( const Self& ); Self& operator=( const Self& ); protected: vtkSmartPointer< vtkPolyDataAlgorithm > m_ITKvVTK; }; } // ecapseman #endif // __cpInstances__Simple3DCurve__h__ // eof - $RCSfile$