1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
6 #ifndef __fpa__Base__MarksInterface__h__
7 #define __fpa__Base__MarksInterface__h__
9 #include <itkProcessObject.h>
17 template< class _TVertex >
21 typedef _TVertex TVertex;
22 typedef MarksInterface Self;
25 MarksInterface( itk::ProcessObject* filter );
26 virtual ~MarksInterface( );
28 virtual bool _IsMarked( const TVertex& v ) const = 0;
29 virtual unsigned long _GetMark( const TVertex& v ) const = 0;
30 virtual bool _Mark( const TVertex& v, unsigned long frontId ) = 0;
32 virtual void _InitMarks( unsigned long nSeeds );
33 virtual bool _Collisions( const TVertex& a, const TVertex& b );
36 unsigned int m_NumberOfSeeds;
37 itk::ProcessObject* m_Filter;
44 #ifndef ITK_MANUAL_INSTANTIATION
45 # include <fpa/Base/MarksInterface.hxx>
46 #endif // ITK_MANUAL_INSTANTIATION
48 #endif // __fpa__Base__MarksInterface__h__