From: eap Date: Fri, 13 May 2011 13:37:03 +0000 (+0000) Subject: 0021263: EDF 1868: Several use cases fail (regressions) X-Git-Tag: V6_3_0b2~2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=d09cb100f35dcaba5fe7618e048dbbc380516954;p=plugins%2Fnetgenplugin.git 0021263: EDF 1868: Several use cases fail (regressions) fix getConnectedEdges() not to return INTERNAL edges connected to "normal" edges --- diff --git a/src/NETGENPlugin/NETGENPlugin_Mesher.cxx b/src/NETGENPlugin/NETGENPlugin_Mesher.cxx index 63b72fe..87ab316 100644 --- a/src/NETGENPlugin/NETGENPlugin_Mesher.cxx +++ b/src/NETGENPlugin/NETGENPlugin_Mesher.cxx @@ -438,7 +438,9 @@ namespace --eItBack; bool connected = TopExp::CommonVertex( *ePrev, *eItBack, vCommon ); bool computed = helper.GetMesh()->GetSubMesh( *eItBack )->IsMeshComputed(); - if ( !connected || !computed ) + bool orientOK = (( ePrev ->Orientation() < TopAbs_INTERNAL ) == + ( eItBack->Orientation() < TopAbs_INTERNAL ) ); + if ( !connected || !computed || !orientOK) { // move edges from head to tail while ( edges.begin() != eItBack ) @@ -453,7 +455,9 @@ namespace { bool connected = TopExp::CommonVertex( *ePrev, *eItFwd, vCommon ); bool computed = helper.GetMesh()->GetSubMesh( *eItFwd )->IsMeshComputed(); - if ( !connected || !computed ) + bool orientOK = (( ePrev ->Orientation() < TopAbs_INTERNAL ) == + ( eItFwd->Orientation() < TopAbs_INTERNAL ) ); + if ( !connected || !computed || !orientOK ) { edges.erase( eItFwd, edges.end() ); break;