Check for empty list of boolean operands

This commit is contained in:
Thomas Krijnen
2018-09-21 14:53:39 +02:00
parent 22a117b87d
commit cd17419ca5
+7 -1
View File
@@ -3385,13 +3385,19 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a, const TopTools_Li
bounding_box_overlap(getValue(GV_PRECISION), a, b_, b); bounding_box_overlap(getValue(GV_PRECISION), a, b_, b);
} else if (op == BOPAlgo_COMMON) { } else if (op == BOPAlgo_COMMON) {
builder = new BRepAlgoAPI_Common(); builder = new BRepAlgoAPI_Common();
bounding_box_overlap(getValue(GV_PRECISION), a, b_, b); b = b_;
} else if (op == BOPAlgo_FUSE) { } else if (op == BOPAlgo_FUSE) {
builder = new BRepAlgoAPI_Fuse(); builder = new BRepAlgoAPI_Fuse();
b = b_; b = b_;
} else { } else {
return false; return false;
} }
if (b.Extent() == 0) {
result = a;
return true;
}
if (fuzziness < 0.) { if (fuzziness < 0.) {
fuzziness = getValue(GV_PRECISION); fuzziness = getValue(GV_PRECISION);
} }