]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Base/RegionGrow.hxx
First commit
[FrontAlgorithms.git] / lib / fpa / Base / RegionGrow.hxx
1 #ifndef __FPA__BASE__REGIONGROWING__HXX__
2 #define __FPA__BASE__REGIONGROWING__HXX__
3
4 // -------------------------------------------------------------------------
5 template< class V, class R, class VV, class VC, class B >
6 fpa::Base::RegionGrow< V, R, VV, VC, B >::
7 RegionGrow( )
8   : Superclass( )
9 {
10 }
11
12 // -------------------------------------------------------------------------
13 template< class V, class R, class VV, class VC, class B >
14 fpa::Base::RegionGrow< V, R, VV, VC, B >::
15 ~RegionGrow( )
16 {
17 }
18
19 // -------------------------------------------------------------------------
20 template< class V, class R, class VV, class VC, class B >
21 bool fpa::Base::RegionGrow< V, R, VV, VC, B >::
22 _UpdateResult( _TNode& n )
23 {
24   n.Result = R( this->_CheckMembership( n ) );
25   return( n.Result );
26 }
27
28 // -------------------------------------------------------------------------
29 template< class V, class R, class VV, class VC, class B >
30 void fpa::Base::RegionGrow< V, R, VV, VC, B >::
31 _InitializeQueue( )
32 {
33   for(
34     typename _TNodes::const_iterator vIt = this->m_Seeds.begin( );
35     vIt != this->m_Seeds.end( );
36     vIt++
37     )
38     this->_QueuePush( *vIt );
39 }
40
41 // -------------------------------------------------------------------------
42 template< class V, class R, class VV, class VC, class B >
43 bool fpa::Base::RegionGrow< V, R, VV, VC, B >::
44 _IsQueueEmpty( ) const
45 {
46   return( this->m_Queue.empty( ) );
47 }
48
49 // -------------------------------------------------------------------------
50 template< class V, class R, class VV, class VC, class B >
51 void fpa::Base::RegionGrow< V, R, VV, VC, B >::
52 _QueuePush( const _TNode& n )
53 {
54   this->m_Queue.push( n );
55 }
56
57 // -------------------------------------------------------------------------
58 template< class V, class R, class VV, class VC, class B >
59 typename fpa::Base::RegionGrow< V, R, VV, VC, B >::
60 _TNode fpa::Base::RegionGrow< V, R, VV, VC, B >::
61 _QueuePop( )
62 {
63   _TNode n = this->m_Queue.front( );
64   this->m_Queue.pop( );
65   return( n );
66 }
67
68 // -------------------------------------------------------------------------
69 template< class V, class R, class VV, class VC, class B >
70 void fpa::Base::RegionGrow< V, R, VV, VC, B >::
71 _QueueClear( )
72 {
73   while( this->m_Queue.size( ) > 0 )
74     this->m_Queue.pop( );
75 }
76
77 // -------------------------------------------------------------------------
78 template< class V, class R, class VV, class VC, class B >
79 bool fpa::Base::RegionGrow< V, R, VV, VC, B >::
80 _UpdateNeigh( _TNode& nn, const _TNode& n )
81 {
82   return( true );
83 }
84
85 #endif // __FPA__BASE__REGIONGROWING__HXX__
86
87 // eof - $RCSfile$