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

0022927: Regression with OCCT652 on Windows. DRAWEXE crashes during offsetcomshape.

Check was added to avoid a crash if result is not reachable.
Modified test case
This commit is contained in:
vro
2012-11-15 15:19:42 +04:00
parent f2fd3809c5
commit 80e49d4396
2 changed files with 16 additions and 7 deletions

View File

@@ -3607,8 +3607,13 @@ void BRepOffset_Tool::ExtentFace (const TopoDS_Face& F,
const TopoDS_Edge& E = TopoDS::Edge(exp2.Current());
if (ConstShapes.IsBound(E)) ToBuild.UnBind(E);
if (ToBuild.IsBound(E)) {
EnLargeFace(TopoDS::Face(ToBuild(E)),StopFace,Standard_False);
BRepOffset_Tool::Inter3D (EF,StopFace,LInt1,LInt2,Side,E,Standard_True);
EnLargeFace(TopoDS::Face(ToBuild(E)),StopFace,Standard_False);
BRepOffset_Tool::Inter3D (EF,StopFace,LInt1,LInt2,Side,E,Standard_True);
// No intersection, it may happen for example for a chosen (non-offseted) planar face and
// its neighbour offseted cylindrical face, if the offset is directed so that
// the radius of the cylinder becomes smaller.
if (LInt1.IsEmpty())
continue;
if (LInt1.Extent() > 1) {
// l intersection est en plusieurs edges (franchissement de couture)
SelectEdge (F,EF,E,LInt1);