From f5979be4d570ff99b77024cf76674dc7f55c669e Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 18 Jun 2024 13:09:22 +0200 Subject: [PATCH] Keep old behaviour of subtractions, when failed use first operand #4832 --- src/ifcgeom/kernels/opencascade/boolean_result.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/kernels/opencascade/boolean_result.cpp b/src/ifcgeom/kernels/opencascade/boolean_result.cpp index 1deaf49cf7..83e4253102 100644 --- a/src/ifcgeom/kernels/opencascade/boolean_result.cpp +++ b/src/ifcgeom/kernels/opencascade/boolean_result.cpp @@ -182,12 +182,16 @@ bool OpenCascadeKernel::convert_impl(const taxonomy::boolean_result::ptr br, Con valid_result = util::boolean_operation(bst, a, b, op_to_occt(br->operation), r); } + if (valid_result) { + std::swap(r, a); + } + results.emplace_back(IfcGeom::ConversionResult( (int) br->instance->data().id(), br->matrix, - new OpenCascadeShape(r), + new OpenCascadeShape(a), br->surface_style ? br->surface_style : first_item_style )); - return valid_result; + return true; }