// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Image__MarksInterface__h__ #define __fpa__Image__MarksInterface__h__ #include #include #include namespace fpa { namespace Image { /** */ template< unsigned int _VDim > class MarksInterface : public fpa::Base::MarksInterface< itk::Index< _VDim > > { public: typedef MarksInterface Self; typedef fpa::Base::MarksInterface< itk::Index< _VDim > > Superclass; typedef typename Superclass::TVertex TVertex; typedef typename Superclass::TCollision TCollision; typedef typename Superclass::TCollisionsRow TCollisionsRow; typedef typename Superclass::TCollisions TCollisions; typedef itk::Image< unsigned long, _VDim > TMarks; protected: virtual bool _IsMarked( const TVertex& v ) const override; virtual unsigned long _GetMark( const TVertex& v ) const override; virtual void _Mark( const TVertex& v, unsigned long frontId ) override; virtual void _FreeMarks( ) override; virtual void _InitMarks( unsigned long nSeeds ) override; protected: MarksInterface( itk::ProcessObject* filter ); virtual ~MarksInterface( ); private: typename TMarks::Pointer m_Marks; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __fpa__Image__MarksInterface__h__ // eof - $RCSfile$