#ifndef __FPA__BASE__REGIONGROWING__HXX__ #define __FPA__BASE__REGIONGROWING__HXX__ // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > fpa::Base::RegionGrow< V, R, VV, VC, B >:: RegionGrow( ) : Superclass( ) { } // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > fpa::Base::RegionGrow< V, R, VV, VC, B >:: ~RegionGrow( ) { } // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > bool fpa::Base::RegionGrow< V, R, VV, VC, B >:: _UpdateResult( _TNode& n ) { n.Result = R( this->_CheckMembership( n ) ); return( n.Result ); } // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > void fpa::Base::RegionGrow< V, R, VV, VC, B >:: _InitializeQueue( ) { for( typename _TNodes::const_iterator vIt = this->m_Seeds.begin( ); vIt != this->m_Seeds.end( ); vIt++ ) this->_QueuePush( *vIt ); } // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > bool fpa::Base::RegionGrow< V, R, VV, VC, B >:: _IsQueueEmpty( ) const { return( this->m_Queue.empty( ) ); } // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > void fpa::Base::RegionGrow< V, R, VV, VC, B >:: _QueuePush( const _TNode& n ) { this->m_Queue.push( n ); } // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > typename fpa::Base::RegionGrow< V, R, VV, VC, B >:: _TNode fpa::Base::RegionGrow< V, R, VV, VC, B >:: _QueuePop( ) { _TNode n = this->m_Queue.front( ); this->m_Queue.pop( ); return( n ); } // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > void fpa::Base::RegionGrow< V, R, VV, VC, B >:: _QueueClear( ) { while( this->m_Queue.size( ) > 0 ) this->m_Queue.pop( ); } // ------------------------------------------------------------------------- template< class V, class R, class VV, class VC, class B > bool fpa::Base::RegionGrow< V, R, VV, VC, B >:: _UpdateNeigh( _TNode& nn, const _TNode& n ) { return( true ); } #endif // __FPA__BASE__REGIONGROWING__HXX__ // eof - $RCSfile$