}
}
+ //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
--- /dev/null
+puts "========"
+puts "OCC26481"
+puts "========"
+puts ""
+###################################################################################################################
+# Incorrect result of BRepOffsetAPI_MakeOffset: excess hanging arcs in the open result with join type GeomAbs_Arc
+###################################################################################################################
+
+smallview
+
+restore [locate_data_file OCC26481-linesarc.brep] a
+fit
+openoffset r a 4 10.
+fit
+
+set only_screen_axo 1