1 #ifndef __fpa__Base__RegionGrow__hxx__
2 #define __fpa__Base__RegionGrow__hxx__
4 // -------------------------------------------------------------------------
5 template< class _TSuperclass >
6 fpa::Base::RegionGrow< _TSuperclass >::
9 m_InsideValue( TOutput( 1 ) ),
10 m_OutsideValue( TOutput( 0 ) )
12 this->m_InitResult = TOutput( 0 );
15 // -------------------------------------------------------------------------
16 template< class _TSuperclass >
17 fpa::Base::RegionGrow< _TSuperclass >::
22 // -------------------------------------------------------------------------
23 template< class _TSuperclass >
24 bool fpa::Base::RegionGrow< _TSuperclass >::
25 _UpdateValue( _TQueueNode& v, const _TQueueNode& p )
27 if( this->m_GrowFunction.IsNotNull( ) )
29 bool in = this->m_GrowFunction->Evaluate( p.Vertex, v.Vertex );
30 v.Result = ( in )? this->m_InsideValue: this->m_OutsideValue;
35 v.Result = this->m_InitResult;
41 // -------------------------------------------------------------------------
42 template< class _TSuperclass >
43 unsigned long fpa::Base::RegionGrow< _TSuperclass >::
46 return( this->m_Queue.size( ) );
49 // -------------------------------------------------------------------------
50 template< class _TSuperclass >
51 void fpa::Base::RegionGrow< _TSuperclass >::
54 while( this->m_Queue.size( ) > 0 )
58 // -------------------------------------------------------------------------
59 template< class _TSuperclass >
60 void fpa::Base::RegionGrow< _TSuperclass >::
61 _QueuePush( const _TQueueNode& node )
63 this->m_Queue.push( node );
66 // -------------------------------------------------------------------------
67 template< class _TSuperclass >
68 typename fpa::Base::RegionGrow< _TSuperclass >::
69 _TQueueNode fpa::Base::RegionGrow< _TSuperclass >::
72 _TQueueNode f = this->m_Queue.front( );
77 #endif // __fpa__Base__RegionGrow__hxx__