From 443b8c207982950d026b4b90614b0121f997ad56 Mon Sep 17 00:00:00 2001 From: ninichki Date: Fri, 14 Jun 2019 17:10:03 +0200 Subject: [PATCH] Boolean Operands like ST_SHAPELIST should not append all shapes --- src/ifcgeom/IfcGeomShapes.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 32d5fe0421..08f461192b 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -478,7 +478,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, Ifc bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape& shape) { TopoDS_Shape s1, s2; - IfcRepresentationShapeItems items1, items2; + IfcRepresentationShapeItems items1; TopoDS_Wire boundary_wire; IfcSchema::IfcBooleanOperand* operand1 = l->FirstOperand(); IfcSchema::IfcBooleanOperand* operand2 = l->SecondOperand(); @@ -554,6 +554,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape { if (shape_type(operand2) == ST_SHAPELIST) { + IfcRepresentationShapeItems items2; shape2_processed = convert_shapes(operand2, items2) && flatten_shape_list(items2, s2, true); } else if (shape_type(operand2) == ST_SHAPE) { shape2_processed = convert_shape(operand2, s2);