Salome HOME
23365: [CEA 1938] Export med from a xao file fails
[modules/smesh.git] / src / SMESH / SMESH_MesherHelper.cxx
index ed82de3b4110bc428859a181f2dec4bf7a011ef6..e9e9f58b62b6a572fbe351c7693e6f1828c0e235 100644 (file)
@@ -2944,10 +2944,16 @@ bool SMESH_MesherHelper::IsReversedSubMesh (const TopoDS_Face& theFace)
             bool ok = true;
             double u0 = GetNodeU( TopoDS::Edge( E ), nn[0], nn[1], &ok );
             double u1 = GetNodeU( TopoDS::Edge( E ), nn[1], nn[0], &ok );
-            // check that the 2 nodes are connected with a segment (IPAL53055)
-            if ( SMESHDS_SubMesh* sm = GetMeshDS()->MeshElements( E ))
-              if ( sm->NbElements() > 0 && !GetMeshDS()->FindEdge( nn[0], nn[1] ))
-                ok = false;
+            if ( ok )
+            {
+              // check that the 2 nodes are connected with a segment (IPAL53055)
+              ok = false;
+              const SMDS_MeshElement* seg;
+              if ( SMESHDS_SubMesh* sm = GetMeshDS()->MeshElements( E ))
+                if (( sm->NbElements() > 0 ) &&
+                    ( seg = GetMeshDS()->FindEdge( nn[0], nn[1] )))
+                  ok = sm->Contains( seg );
+            }
             if ( ok )
             {
               isReversed = ( u0 > u1 );