From 5cd322b04c2d7e5e439f66c225b5c734a546c242 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 17 Jan 2023 12:36:56 +0100 Subject: [PATCH] [CONSIDER MERGING TOO] rectified solution for text/polygon interaction --- src/db/db/dbHierProcessor.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/db/db/dbHierProcessor.cc b/src/db/db/dbHierProcessor.cc index 09a7d2f85..7a55bbecf 100644 --- a/src/db/db/dbHierProcessor.cc +++ b/src/db/db/dbHierProcessor.cc @@ -2229,16 +2229,16 @@ local_processor::run_flat (const generic_shape_iterator &subject db::Coord dist = op->dist (); - db::Box subjects_box = safe_box_enlarged (subjects.bbox (), dist - 1, dist - 1); + db::Box subjects_box = safe_box_enlarged (subjects.bbox (), dist, dist); db::Box intruders_box; for (typename std::vector >::const_iterator il = intruders.begin (); il != intruders.end (); ++il) { intruders_box += il->bbox (); } - intruders_box = safe_box_enlarged (intruders_box, dist - 1, dist - 1); + intruders_box = safe_box_enlarged (intruders_box, dist, dist); db::Box common_box = intruders_box & subjects_box; - if (common_box.empty ()) { + if (common_box.empty () || common_box.width () == 0 || common_box.height () == 0) { if (needs_isolated_subjects) { for (generic_shape_iterator is = subjects; ! is.at_end (); ++is) { @@ -2249,6 +2249,8 @@ local_processor::run_flat (const generic_shape_iterator &subject } else { + common_box = safe_box_enlarged (common_box, -1, -1); + if (needs_isolated_subjects) { unaddressable_shape_delivery is (subjects);