// -------------------------------------------------------------------------
template< class _TAlgorithm >
-bool fpa::Base::RegionGrow< _TAlgorithm >::
+void fpa::Base::RegionGrow< _TAlgorithm >::
_ComputeOutputValue( TNode& n )
+{
+ // Do nothing!!!
+}
+
+// -------------------------------------------------------------------------
+template< class _TAlgorithm >
+void fpa::Base::RegionGrow< _TAlgorithm >::
+_UpdateOutputValue( TNode& n )
{
TInputValue value = this->_GetInputValue( n.Vertex );
bool inside = false;
inside = this->m_ValuePredicate->Evaluate( value );
if( this->m_VertexPredicate.IsNotNull( ) )
inside &= this->m_VertexPredicate->Evaluate( n.Vertex );
- n.Value = ( inside )? this->m_InsideValue: this->m_InitValue;
- return( inside );
+ if( !inside )
+ {
+ n.Value = this->m_InitValue;
+ n.FrontId = 0;
+ }
+ else
+ n.Value = this->m_InsideValue;
+ this->Superclass::_UpdateOutputValue( n );
}
// -------------------------------------------------------------------------
{
typename TNodes::iterator nIt = nodes.begin( );
for( ; nIt != nodes.end( ); ++nIt )
- nIt->Value = this->m_InsideValue;
+ nIt->Value = this->m_InitValue;
}
#endif // __fpa__Base__RegionGrow__hxx__