Improved method BRepCheck_Wire::Propagate
Added test cases bugs/modalg_5/bug25780
for (; itrc.More(); itrc.Next())
{
const TopoDS_Shape& Edge = itrc.Value();
- mapE.Add(Edge);
+ if (!mapE.Contains(Edge))
+ mapE.Add(Edge);
TopExp_Explorer ex(Edge, TopAbs_VERTEX);
for (; ex.More(); ex.Next())
{
const TopoDS_Shape& E = itl.Value();
if (!Edge.IsSame(E) && !mapE.Contains(E))
+ {
+ mapE.Add(E);
nextEdges.Append(E);
+ }
}
}
}
--- /dev/null
+puts "=========="
+puts "OCC25780"
+puts "=========="
+puts ""
+######################################################
+# checkshape raises an exception Standard_OutOfMemory.
+######################################################
+
+restore [locate_data_file bug25780_checkshape] result
+checkshape result b
+
+set 2dviewer 1