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

0026481: Incorrect result of BRepOffsetAPI_MakeOffset: excess hanging arcs in the open result with join type GeomAbs_Arc

This commit is contained in:
jgv
2015-07-28 15:03:22 +03:00
parent 696ca0a0fc
commit a381cab78b

View File

@@ -827,6 +827,24 @@ void BRepFill_OffsetWire::PerformWithBiLo
}
}
//Remove possible hanging arcs on vertices
if (myIsOpenResult && myJoinType == GeomAbs_Arc)
{
if (!myMap.IsEmpty() &&
myMap.FindKey(1).ShapeType() == TopAbs_VERTEX)
{
//myMap.RemoveFirst();
TopoDS_Shape LastShape = myMap.FindKey(myMap.Extent());
TopTools_ListOfShape LastList;
LastList.Append(myMap(myMap.Extent()));
myMap.RemoveLast();
if (!myMap.IsEmpty())
myMap.Substitute(1, LastShape, LastList);
}
if (!myMap.IsEmpty() &&
myMap.FindKey(myMap.Extent()).ShapeType() == TopAbs_VERTEX)
myMap.RemoveLast();
}
#ifdef DRAW
if (AffichEdge) {