// ------------------------------------------------------------------------- // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co) // ------------------------------------------------------------------------- #ifndef __cpExtensions__Algorithms__PolyLineParametricPathToSimple3DCurve__h__ #define __cpExtensions__Algorithms__PolyLineParametricPathToSimple3DCurve__h__ #include #include // ------------------------------------------------------------------------- namespace cpExtensions { namespace Algorithms { /** */ template< class _TPolyLine, class _TCurve > class cpExtensions_EXPORT PolyLineParametricPathToSimple3DCurve : public itk::ProcessObject { public: // Basic types typedef PolyLineParametricPathToSimple3DCurve Self; typedef itk::ProcessObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkNewMacro( Self ); itkTypeMacro( PolyLineParametricPathToSimple3DCurve, itk::ProcessObject ); itkGetConstMacro( NumberOfSamples, unsigned long ); itkSetMacro( NumberOfSamples, unsigned long ); public: _TPolyLine* GetInput( ); const _TPolyLine* GetInput( ) const; void SetInput( _TPolyLine* pl ); _TCurve* GetOutput( ); const _TCurve* GetOutput( ) const; protected: PolyLineParametricPathToSimple3DCurve( ); virtual ~PolyLineParametricPathToSimple3DCurve( ); virtual void GenerateData( ) cpExtensions_OVERRIDE; private: // Purposely not implemented PolyLineParametricPathToSimple3DCurve( const Self& ); void operator=( const Self& ); protected: unsigned long m_NumberOfSamples; }; } // ecapseman } // ecapseman #endif // __cpExtensions__Algorithms__PolyLineParametricPathToSimple3DCurve__h__ // eof - $RCSfile$