X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FBase%2FAlgorithm.h;h=785b818ea8be76bdf3290896cf8c95f63b41bf55;hb=6cdba92a782c9ca52b1be25868c2267b2e3966ca;hp=5a02d6ebc2e0843a0e6d0bdb1132983c3c22a173;hpb=a44c34f8d4118730a65ab3a7f9b6fc12614ce67a;p=FrontAlgorithms.git diff --git a/lib/fpa/Base/Algorithm.h b/lib/fpa/Base/Algorithm.h index 5a02d6e..785b818 100644 --- a/lib/fpa/Base/Algorithm.h +++ b/lib/fpa/Base/Algorithm.h @@ -8,7 +8,6 @@ #include -#include #include #include @@ -18,28 +17,28 @@ namespace fpa { /** */ - template< class _TFilter, class _TMarksInterface, class _TSeedsInterface > + template< class _TTraits > class Algorithm - : public _TFilter, - public _TMarksInterface, - public _TSeedsInterface + : public _TTraits::TFilter, + public _TTraits::TMarksInterface, + public _TTraits::TSeedsInterface { public: - typedef Algorithm Self; - typedef _TFilter Superclass; - typedef _TMarksInterface TMarksInterface; - typedef _TSeedsInterface TSeedsInterface; - typedef itk::SmartPointer< Self > Pointer; - typedef itk::SmartPointer< const Self > ConstPointer; - - typedef typename _TSeedsInterface::TInputValue TInputValue; - typedef typename _TSeedsInterface::TOutputValue TOutputValue; - typedef typename _TSeedsInterface::TNode TNode; - typedef typename _TSeedsInterface::TNodes TNodes; - typedef typename _TSeedsInterface::TSeeds TSeeds; - typedef typename _TSeedsInterface::TVertex TVertex; - - typedef std::vector< TVertex > TNeighborhood; + typedef _TTraits TTraits; + typedef typename TTraits::TFilter Superclass; + typedef typename TTraits::TMarksInterface TMarksInterface; + typedef typename TTraits::TSeedsInterface TSeedsInterface; + typedef Algorithm Self; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; + + typedef typename TTraits::TInputValue TInputValue; + typedef typename TTraits::TOutputValue TOutputValue; + typedef typename TTraits::TNeighborhood TNeighborhood; + typedef typename TTraits::TNode TNode; + typedef typename TTraits::TNodes TNodes; + typedef typename TTraits::TSeeds TSeeds; + typedef typename TTraits::TVertex TVertex; /** */