--- /dev/null
+// =========================================================================
+// @author Leonardo Florez Valencia
+// @email florez-l@javeriana.edu.co
+// =========================================================================
+
+#ifndef __fpa__Image__MarksInterface__h__
+#define __fpa__Image__MarksInterface__h__
+
+#include <fpa/Base/MarksInterface.h>
+#include <itkIndex.h>
+#include <itkImage.h>
+
+namespace fpa
+{
+ namespace Image
+ {
+ /**
+ */
+ template< unsigned int _VDim >
+ class MarksInterface
+ : public fpa::Base::MarksInterface< itk::Index< _VDim > >
+ {
+ public:
+ typedef MarksInterface Self;
+ typedef fpa::Base::MarksInterface< itk::Index< _VDim > > Superclass;
+
+ typedef typename Superclass::TVertex TVertex;
+ typedef typename Superclass::TCollision TCollision;
+ typedef typename Superclass::TCollisionsRow TCollisionsRow;
+ typedef typename Superclass::TCollisions TCollisions;
+
+ typedef itk::Image< unsigned long, _VDim > TMarks;
+
+ protected:
+ virtual bool _IsMarked( const TVertex& v ) const override;
+ virtual unsigned long _GetMark( const TVertex& v ) const override;
+ virtual void _Mark( const TVertex& v, unsigned long frontId ) override;
+ virtual void _FreeMarks( ) override;
+ virtual void _InitMarks( unsigned long nSeeds ) override;
+
+ protected:
+ MarksInterface( itk::ProcessObject* filter );
+ virtual ~MarksInterface( );
+
+ private:
+ typename TMarks::Pointer m_Marks;
+ };
+
+ } // ecapseman
+
+} // ecapseman
+
+#ifndef ITK_MANUAL_INSTANTIATION
+# include <fpa/Image/MarksInterface.hxx>
+#endif // ITK_MANUAL_INSTANTIATION
+
+#endif // __fpa__Image__MarksInterface__h__
+
+// eof - $RCSfile$