1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__MarksInterface__h__
6 #define __fpa__Filters__MarksInterface__h__
8 #include <itkProcessObject.h>
16 template< class _TTraits >
20 typedef MarksInterface Self;
21 typedef _TTraits TTraits;
22 fpaInternalTraitsMacro( typename, TTraits );
25 MarksInterface( itk::ProcessObject* f );
26 virtual ~MarksInterface( );
29 virtual void _InitCollisions( unsigned long nSeeds );
30 virtual bool _Collisions( const TVertex& a, const TVertex& b );
32 virtual unsigned long _GetMark( const TNode& n ) const;
33 virtual unsigned long _GetMark( const TVertex& v ) const = 0;
35 virtual bool _IsMarked( const TNode& n ) const;
36 virtual bool _IsMarked( const TVertex& v ) const = 0;
38 virtual void _Mark( const TNode& n );
39 virtual void _Mark( const TVertex& v, unsigned long m ) = 0;
42 itk::ProcessObject::Pointer m_Filter;
49 #ifndef ITK_MANUAL_INSTANTIATION
50 # include <fpa/Filters/MarksInterface.hxx>
51 #endif // ITK_MANUAL_INSTANTIATION
53 #endif // __fpa__Filters__MarksInterface__h__