_TNode node = this->Superclass::_QueuePop( );
if( this->_IsQueueEmpty( ) )
{
- std::cerr << "ERROR!!!!" << std::endl;
+ // Replace queue
+ this->m_Queue = this->m_AuxiliaryQueue;
+
+ // Move to next function
+ this->m_ActualFunction++;
} // fi
return( node );
bool fpa::Base::RegionGrowWithMultipleCriteria< V, R, VV, VC, B >::
_CheckMembership( const _TNode& n ) const
{
- bool ret = ( *( this->m_ActualFunction ) )->Evaluate( n.Vertex );
- if( !ret )
- this->m_AuxiliaryQueue.push( n );
- return( ret );
+ if( this->m_ActualFunction != this->m_Functions.end( ) )
+ {
+ bool ret = ( *( this->m_ActualFunction ) )->Evaluate( n.Vertex );
+ if( !ret )
+ this->m_AuxiliaryQueue.push( n );
+ return( ret );
+ }
+ else
+ return( false );
}
#endif // __FPA__BASE__REGIONGROWWITHMULTIPLECRITERIA__HXX__