mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0025780: checkshape raises an exception Standard_OutOfMemory.
Improved method BRepCheck_Wire::Propagate Added test cases bugs/modalg_5/bug25780
This commit is contained in:
parent
298fdbfb18
commit
a61133c8c7
@ -1551,7 +1551,8 @@ static void Propagate(const TopTools_IndexedDataMapOfShapeListOfShape& mapVE,
|
|||||||
for (; itrc.More(); itrc.Next())
|
for (; itrc.More(); itrc.Next())
|
||||||
{
|
{
|
||||||
const TopoDS_Shape& Edge = itrc.Value();
|
const TopoDS_Shape& Edge = itrc.Value();
|
||||||
mapE.Add(Edge);
|
if (!mapE.Contains(Edge))
|
||||||
|
mapE.Add(Edge);
|
||||||
|
|
||||||
TopExp_Explorer ex(Edge, TopAbs_VERTEX);
|
TopExp_Explorer ex(Edge, TopAbs_VERTEX);
|
||||||
for (; ex.More(); ex.Next())
|
for (; ex.More(); ex.Next())
|
||||||
@ -1567,7 +1568,10 @@ static void Propagate(const TopTools_IndexedDataMapOfShapeListOfShape& mapVE,
|
|||||||
{
|
{
|
||||||
const TopoDS_Shape& E = itl.Value();
|
const TopoDS_Shape& E = itl.Value();
|
||||||
if (!Edge.IsSame(E) && !mapE.Contains(E))
|
if (!Edge.IsSame(E) && !mapE.Contains(E))
|
||||||
|
{
|
||||||
|
mapE.Add(E);
|
||||||
nextEdges.Append(E);
|
nextEdges.Append(E);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
12
tests/bugs/modalg_5/bug25780
Normal file
12
tests/bugs/modalg_5/bug25780
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
puts "=========="
|
||||||
|
puts "OCC25780"
|
||||||
|
puts "=========="
|
||||||
|
puts ""
|
||||||
|
######################################################
|
||||||
|
# checkshape raises an exception Standard_OutOfMemory.
|
||||||
|
######################################################
|
||||||
|
|
||||||
|
restore [locate_data_file bug25780_checkshape] result
|
||||||
|
checkshape result b
|
||||||
|
|
||||||
|
set 2dviewer 1
|
Loading…
x
Reference in New Issue
Block a user