]> SALOME platform Git repositories - plugins/netgenplugin.git/commitdiff
Salome HOME
0021263: EDF 1868: Several use cases fail (regressions)
authoreap <eap@opencascade.com>
Fri, 13 May 2011 13:37:03 +0000 (13:37 +0000)
committereap <eap@opencascade.com>
Fri, 13 May 2011 13:37:03 +0000 (13:37 +0000)
  fix getConnectedEdges() not to return INTERNAL edges connected to
  "normal" edges

src/NETGENPlugin/NETGENPlugin_Mesher.cxx

index 63b72fef209d6775d4175ca6b0ec266f8ab714e8..87ab3168eb1ee81db6bc6df27200bd25392af50f 100644 (file)
@@ -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;