From d09cb100f35dcaba5fe7618e048dbbc380516954 Mon Sep 17 00:00:00 2001 From: eap Date: Fri, 13 May 2011 13:37:03 +0000 Subject: [PATCH] 0021263: EDF 1868: Several use cases fail (regressions) fix getConnectedEdges() not to return INTERNAL edges connected to "normal" edges --- src/NETGENPlugin/NETGENPlugin_Mesher.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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; -- 2.39.2