// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Base__MarksInterface__h__ #define __fpa__Base__MarksInterface__h__ #include namespace fpa { namespace Base { /** */ template< class _TVertex > class MarksInterface { public: typedef _TVertex TVertex; typedef MarksInterface Self; protected: MarksInterface( itk::ProcessObject* filter ); virtual ~MarksInterface( ); virtual bool _IsMarked( const TVertex& v ) const = 0; virtual unsigned long _GetMark( const TVertex& v ) const = 0; virtual void _Mark( const TVertex& v, unsigned long frontId ) = 0; virtual void _InitMarks( unsigned long nSeeds ); virtual bool _Collisions( const TVertex& a, const TVertex& b ); protected: unsigned int m_NumberOfSeeds; itk::ProcessObject* m_Filter; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __fpa__Base__MarksInterface__h__ // eof - $RCSfile$