// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Filters__MarksInterface__h__ #define __fpa__Filters__MarksInterface__h__ #include namespace fpa { namespace Filters { /** */ template< class _TTraits > class MarksInterface { public: typedef MarksInterface Self; typedef _TTraits TTraits; fpaInternalTraitsMacro( typename, TTraits ); public: MarksInterface( itk::ProcessObject* f ); virtual ~MarksInterface( ); protected: virtual void _InitCollisions( unsigned long nSeeds ); virtual bool _Collisions( const TVertex& a, const TVertex& b ); virtual unsigned long _GetMark( const TNode& n ) const; virtual unsigned long _GetMark( const TVertex& v ) const = 0; virtual bool _IsMarked( const TNode& n ) const; virtual bool _IsMarked( const TVertex& v ) const = 0; virtual void _Mark( const TNode& n ); virtual void _Mark( const TVertex& v, unsigned long m ) = 0; protected: itk::ProcessObject::Pointer m_Filter; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __fpa__Filters__MarksInterface__h__ // eof - $RCSfile$