]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Filters/BaseMarksInterface.h
...
[FrontAlgorithms.git] / lib / fpa / Filters / BaseMarksInterface.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__BaseMarksInterface__h__
6 #define __fpa__Filters__BaseMarksInterface__h__
7
8 #include <itkProcessObject.h>
9 #include <fpa/Config.h>
10
11 namespace fpa
12 {
13   namespace Filters
14   {
15     /**
16      */
17     template< class _TTraits >
18     class BaseMarksInterface
19     {
20     public:
21       typedef BaseMarksInterface Self;
22       typedef _TTraits           TTraits;
23       fpaTraitsMacro( typename TTraits );
24
25     protected:
26       BaseMarksInterface( itk::ProcessObject* f )
27         : m_Filter( f )
28         {
29         }
30       virtual ~BaseMarksInterface( )
31         {
32         }
33
34       virtual unsigned long _GetMark( const TVertex& v ) const = 0;
35       virtual bool _Collisions( const TVertex& a, const TVertex& b )
36         {
37           return( false );
38         }
39       virtual void _InitCollisions( unsigned long nSeeds )
40         {
41           // Nothing to do at this level
42         }
43
44     protected:
45       itk::ProcessObject::Pointer m_Filter;
46     };
47
48   } // ecapseman
49
50 } // ecapseman
51
52 #endif // __fpa__Filters__BaseMarksInterface__h__
53 // eof - $RCSfile$