// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Base__SkeletonWriter__h__ #define __fpa__Base__SkeletonWriter__h__ #include namespace fpa { namespace Base { /** */ template< class _TSkeleton > class SkeletonWriter : public itk::ProcessObject { public: // Basic types typedef SkeletonWriter Self; typedef itk::ProcessObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef _TSkeleton TSkeleton; typedef typename TSkeleton::TEdges TEdges; typedef typename TSkeleton::TMatrix TMatrix; typedef typename TSkeleton::TMatrixRow TMatrixRow; typedef typename TSkeleton::TPath TPath; typedef typename TSkeleton::TVertex TVertex; public: itkNewMacro( Self ); itkTypeMacro( SkeletonWriter, itk::ProcessObject ); itkGetConstMacro( FileName, std::string ); itkSetMacro( FileName, std::string ); public: const TSkeleton* GetInput( ) const; void SetInput( const TSkeleton* skeleton ); virtual void Update( ) override; protected: SkeletonWriter( ); virtual ~SkeletonWriter( ); virtual void GenerateData( ) override; private: // Purposely not implemented SkeletonWriter( const Self& ); void operator=( const Self& ); protected: std::string m_FileName; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __fpa__Base__SkeletonWriter__h__ // eof - $RCSfile$