PD: Positive offset on a binder shouldn't turn holes into squares

Fixes issue 18776
This commit is contained in:
wmayer
2025-01-22 20:24:14 +01:00
committed by Ladislav Michl
parent 77b034dc82
commit 0f82956a9e

View File

@@ -2697,8 +2697,15 @@ TopoShape& TopoShape::makeElementOffset2D(const TopoShape& shape,
if (shape.getShape().ShapeType() == TopAbs_COMPOUND) {
if (!intersection) {
// simply recursively process the children, independently
expandCompound(shape, shapesToProcess);
outputPolicy = SingleShapeCompoundCreationPolicy::forceCompound;
for(TopoDS_Iterator it(shape.getShape()); it.More() ; it.Next()) {
shapesToReturn.push_back(TopoShape(it.Value()).makeElementOffset2D(offset,
joinType,
fill,
allowOpenResult,
intersection,
op));
outputPolicy = SingleShapeCompoundCreationPolicy::forceCompound;
}
}
else {
// collect non-compounds from this compound for collective offset. Process other shapes