1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0030204: BRepOffsetAPI_MakePipeShell crash

Add protection from type mismatch while ensuring Same Parameter on U-edges
This commit is contained in:
jgv
2018-10-12 13:02:34 +03:00
committed by apn
parent b34d86cb28
commit cb6a45e318
3 changed files with 55 additions and 3 deletions

View File

@@ -3052,10 +3052,19 @@ void BRepFill_Sweep::Build(TopTools_MapOfShape& ReversedEdges,
if (i2 > myFaces->UpperRow())
i2 = 0;
if (i1 != 0)
Face1 = TopoDS::Face(myFaces->Value(i1, jj));
{
const TopoDS_Shape& aShape1 = myFaces->Value(i1, jj);
if (aShape1.ShapeType() == TopAbs_FACE)
Face1 = TopoDS::Face(aShape1);
}
if (i2 != 0)
Face2 = TopoDS::Face(myFaces->Value(i2, jj));
CorrectSameParameter(anEdge, Face1, Face2);
{
const TopoDS_Shape& aShape2 = myFaces->Value(i2, jj);
if (aShape2.ShapeType() == TopAbs_FACE)
Face2 = TopoDS::Face(aShape2);
}
if (!Face1.IsNull() && !Face2.IsNull())
CorrectSameParameter(anEdge, Face1, Face2);
}
}