Part: in BRepOffsetAPI_MakeOffsetFix::MakeWire also consider the generated edges of the vertexes of the input shape

This commit is contained in:
wmayer
2022-06-08 13:02:07 +02:00
parent 2e4dcfc22a
commit f401cbe832

View File

@@ -141,7 +141,16 @@ void BRepOffsetAPI_MakeOffsetFix::MakeWire(TopoDS_Shape& wire)
std::list<TopoDS_Edge> edgeList;
for (auto itLoc : myLocations) {
const TopTools_ListOfShape& newShapes = mkOffset.Generated(itLoc.first);
TopTools_ListOfShape newShapes = mkOffset.Generated(itLoc.first);
// Check generated shapes for the vertexes, too
TopExp_Explorer xpv(itLoc.first, TopAbs_VERTEX);
while (xpv.More()) {
TopTools_ListOfShape newEdge = mkOffset.Generated(xpv.Current());
if (!newEdge.IsEmpty()) {
newShapes.Append(newEdge);
}
xpv.Next();
}
for (TopTools_ListIteratorOfListOfShape it(newShapes); it.More(); it.Next()) {
TopoDS_Shape newShape = it.Value();