// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Common__Image__PolyLineParametricPathReader__h__ #define __fpa__Common__Image__PolyLineParametricPathReader__h__ #include namespace fpa { namespace Common { namespace Image { /** */ template< class _TPath > class PolyLineParametricPathReader : public itk::ProcessObject { public: // Basic types typedef PolyLineParametricPathReader Self; typedef itk::ProcessObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef _TPath TPath; public: itkNewMacro( Self ); itkTypeMacro( PolyLineParametricPathReader, itk::ProcessObject ); itkGetConstMacro( FileName, std::string ); itkSetMacro( FileName, std::string ); public: TPath* GetOutput( ); TPath* GetOutput( unsigned int i ); virtual void GraftOutput( itk::DataObject* out ); virtual void GraftOutput( const typename Superclass::DataObjectIdentifierType& key, itk::DataObject* out ); virtual void GraftNthOutput( unsigned int i, itk::DataObject* out ); virtual itk::DataObject::Pointer MakeOutput( itk::ProcessObject::DataObjectPointerArraySizeType i ) override; virtual void Update( ) override { this->GenerateData( ); } protected: PolyLineParametricPathReader( ); virtual ~PolyLineParametricPathReader( ); virtual void GenerateData( ) override; // Do nothing virtual void GenerateOutputInformation( ) override { } private: // Purposely not implemented PolyLineParametricPathReader( const Self& ); void operator=( const Self& ); protected: std::string m_FileName; }; } // ecapseman } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __fpa__Common__Image__PolyLineParametricPathReader__h__ // eof - $RCSfile$