// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Base__SeedsInterface__h__ #define __fpa__Base__SeedsInterface__h__ #include #include namespace fpa { namespace Base { /** */ template< class _TVertex, class _TCompare > class SeedsInterface { public: typedef _TVertex TVertex; typedef _TCompare TCompare; typedef SeedsInterface Self; typedef std::set< TVertex, TCompare > TSeeds; public: unsigned int GetNumberOfSeeds( ) const; const TSeeds& GetSeeds( ) const; typename TSeeds::const_iterator BeginSeeds( ) const; typename TSeeds::const_iterator EndSeeds( ) const; void AddSeed( const TVertex& seed ); void RemoveSeed( const TVertex& seed ); void ClearSeeds( ); protected: SeedsInterface( itk::ProcessObject* filter ); virtual ~SeedsInterface( ); private: TSeeds m_Seeds; itk::ProcessObject* m_Filter; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION # include #endif // ITK_MANUAL_INSTANTIATION #endif // __fpa__Base__SeedsInterface__h__ // eof - $RCSfile$