1 #ifndef __FPA__BASE__REGIONGROW__HXX__
2 #define __FPA__BASE__REGIONGROW__HXX__
4 // -------------------------------------------------------------------------
5 template< class _TSuperclass >
6 fpa::Base::RegionGrow< _TSuperclass >::
9 m_RegionGrowFunction( NULL ),
10 m_InsideValue( TScalar( 1 ) ),
11 m_OutsideValue( TScalar( 0 ) )
15 // -------------------------------------------------------------------------
16 template< class _TSuperclass >
17 fpa::Base::RegionGrow< _TSuperclass >::
22 // -------------------------------------------------------------------------
23 template< class _TSuperclass >
24 bool fpa::Base::RegionGrow< _TSuperclass >::
25 _Result( TNode& node, const TNode& parent )
27 if( this->m_RegionGrowFunction.IsNotNull( ) )
29 bool res = this->m_RegionGrowFunction->Evaluate( node.Vertex );
30 node.Result = ( res )? this->m_InsideValue: this->m_OutsideValue;
35 node.Result = this->m_OutsideValue;
41 // -------------------------------------------------------------------------
42 template< class _TSuperclass >
43 void fpa::Base::RegionGrow< _TSuperclass >::
46 this->m_Queue.clear( );
49 // -------------------------------------------------------------------------
50 template< class _TSuperclass >
51 void fpa::Base::RegionGrow< _TSuperclass >::
52 _QueuePush( const TNode& node )
54 this->m_Queue.push_back( node );
57 // -------------------------------------------------------------------------
58 template< class _TSuperclass >
59 typename fpa::Base::RegionGrow< _TSuperclass >::
60 TNode fpa::Base::RegionGrow< _TSuperclass >::
63 TNode n = this->m_Queue.front( );
64 this->m_Queue.pop_front( );
68 // -------------------------------------------------------------------------
69 template< class _TSuperclass >
70 bool fpa::Base::RegionGrow< _TSuperclass >::
71 _IsQueueEmpty( ) const
73 return( this->m_Queue.size( ) == 0 );
76 #endif // __FPA__BASE__REGIONGROW__HXX__