0021263: EDF 1868: Several use cases fail (regressions)

fix getConnectedEdges() not to return INTERNAL edges connected to
  "normal" edges
This commit is contained in:
eap 2011-05-13 13:37:03 +00:00
parent 9b5f998449
commit d09cb100f3

View File

@ -438,7 +438,9 @@ namespace
--eItBack; --eItBack;
bool connected = TopExp::CommonVertex( *ePrev, *eItBack, vCommon ); bool connected = TopExp::CommonVertex( *ePrev, *eItBack, vCommon );
bool computed = helper.GetMesh()->GetSubMesh( *eItBack )->IsMeshComputed(); 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 // move edges from head to tail
while ( edges.begin() != eItBack ) while ( edges.begin() != eItBack )
@ -453,7 +455,9 @@ namespace
{ {
bool connected = TopExp::CommonVertex( *ePrev, *eItFwd, vCommon ); bool connected = TopExp::CommonVertex( *ePrev, *eItFwd, vCommon );
bool computed = helper.GetMesh()->GetSubMesh( *eItFwd )->IsMeshComputed(); 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() ); edges.erase( eItFwd, edges.end() );
break; break;