Fixed performance issue at backgorund processing update

with a large number of modifier meshes:
Bounding box of a chain of modifier meshes overlapping with
an object bounding box was not correctly calculated (bounding boxes
were unioned instead of intersected).
This commit is contained in:
Vojtech Bubnik 2022-08-19 15:03:39 +02:00
parent 55835aa050
commit 781a9535db

View File

@ -626,7 +626,8 @@ PrintObjectRegions::BoundingBox find_modifier_volume_extents(const PrintObjectRe
const PrintObjectRegions::VolumeRegion &parent_region = layer_range.volume_regions[parent_region_id]; const PrintObjectRegions::VolumeRegion &parent_region = layer_range.volume_regions[parent_region_id];
const PrintObjectRegions::BoundingBox *parent_extents = find_volume_extents(layer_range, *parent_region.model_volume); const PrintObjectRegions::BoundingBox *parent_extents = find_volume_extents(layer_range, *parent_region.model_volume);
assert(parent_extents); assert(parent_extents);
out.extend(*parent_extents); out.clamp(*parent_extents);
assert(! out.isEmpty());
if (parent_region.model_volume->is_model_part()) if (parent_region.model_volume->is_model_part())
break; break;
parent_region_id = parent_region.parent; parent_region_id = parent_region.parent;