mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0026481: Incorrect result of BRepOffsetAPI_MakeOffset: excess hanging arcs in the open result with join type GeomAbs_Arc
Test-case for issue #26481
This commit is contained in:
@@ -808,6 +808,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 OCCT_DEBUG
|
||||
#ifdef DRAW
|
||||
|
Reference in New Issue
Block a user