]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Base/MoriRegionGrow.h
40f59cd3cb715d78aebcad34daebf63d20038f48
[FrontAlgorithms.git] / lib / fpa / Base / MoriRegionGrow.h
1 #ifndef __fpa__Base__MoriRegionGrow__h__
2 #define __fpa__Base__MoriRegionGrow__h__
3
4 #include <queue>
5 #include <fpa/Config.h>
6 #include <fpa/Base/RegionGrow.h>
7
8 namespace fpa
9 {
10   namespace Base
11   {
12     /**
13      */
14     template< class _TSuperclass >
15     class MoriRegionGrow
16       : public fpa::Base::RegionGrow< _TSuperclass >
17     {
18     public:
19       typedef MoriRegionGrow                        Self;
20       typedef fpa::Base::RegionGrow< _TSuperclass > Superclass;
21       typedef itk::SmartPointer< Self >             Pointer;
22       typedef itk::SmartPointer< const Self >       ConstPointer;
23
24       typedef typename Superclass::TOutput TOutput;
25       typedef typename Superclass::TVertex TVertex;
26
27     protected:
28       typedef typename Superclass::_TQueueNode _TQueueNode;
29       typedef typename Superclass::_TQueue     _TQueue;
30
31     public:
32       itkTypeMacro( MoriRegionGrow, Algorithm );
33
34     protected:
35       MoriRegionGrow( );
36       virtual ~MoriRegionGrow( );
37
38       virtual bool _UpdateValue(
39         _TQueueNode& v, const _TQueueNode& p
40         ) override;
41
42     private:
43       // Purposely not defined
44       MoriRegionGrow( const Self& other );
45       Self& operator=( const Self& other );
46
47     protected:
48       _TQueue m_AuxilaryQueue;
49     };
50
51   } // ecapseman
52
53 } // ecapseman
54
55 #ifndef ITK_MANUAL_INSTANTIATION
56 #  include <fpa/Base/MoriRegionGrow.hxx>
57 #endif // ITK_MANUAL_INSTANTIATION
58
59 #endif // __fpa__Base__MoriRegionGrow__h__
60
61 // eof - $RCSfile$