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 <fpa/Config.h>
10 #include <itkProcessObject.h>
18 template< class _TTraits >
22 typedef _TTraits TTraits;
23 typedef MarksInterface Self;
24 fpa_Base_TraitTypes( typename TTraits );
27 MarksInterface( itk::ProcessObject* filter );
28 virtual ~MarksInterface( );
30 virtual bool _IsMarked( const TVertex& v ) const = 0;
31 virtual unsigned long _GetMark( const TVertex& v ) const = 0;
32 virtual void _Mark( const TVertex& v, unsigned long frontId ) = 0;
34 virtual void _InitMarks( unsigned long nSeeds );
35 virtual bool _Collisions( const TVertex& a, const TVertex& b );
38 unsigned int m_NumberOfSeeds;
39 itk::ProcessObject* m_Filter;
46 #ifndef ITK_MANUAL_INSTANTIATION
47 # include <fpa/Base/MarksInterface.hxx>
48 #endif // ITK_MANUAL_INSTANTIATION
50 #endif // __fpa__Base__MarksInterface__h__