#define __fpa__Base__MarksInterface__h__
#include <itkProcessObject.h>
-#include <vector>
namespace fpa
{
typedef _TVertex TVertex;
typedef MarksInterface Self;
- // Minigraph to represent collisions
- typedef std::pair< _TVertex, bool > TCollision;
- typedef std::vector< TCollision > TCollisionsRow;
- typedef std::vector< TCollisionsRow > TCollisions;
-
- public:
- bool StopAtOneFront( ) const;
- void StopAtOneFrontOn( );
- void StopAtOneFrontOff( );
- void SetStopAtOneFront( bool v );
-
protected:
MarksInterface( itk::ProcessObject* filter );
virtual ~MarksInterface( );
virtual bool _IsMarked( const TVertex& v ) const = 0;
virtual unsigned long _GetMark( const TVertex& v ) const = 0;
virtual void _Mark( const TVertex& v, unsigned long frontId ) = 0;
- virtual void _FreeMarks( ) = 0;
virtual void _InitMarks( unsigned long nSeeds );
- unsigned long _Collisions( const TVertex& a, const TVertex& b );
+ virtual bool _Collisions( const TVertex& a, const TVertex& b );
protected:
- bool m_StopAtOneFront;
- TCollisions m_Collisions;
- unsigned int m_NumberOfFronts;
unsigned int m_NumberOfSeeds;
itk::ProcessObject* m_Filter;
};