The bug was that while iterating a Region during the gate traversal,
the "select_interacting" was triggering a sort() which changed the
order.

Solution is to pre-sort when iterators are issued also when the
iterator is non-region selecting. This way, plain and region query
iterators can be used together. In addition, the dirty flag scheme
of Cell+Shapes was cleaned up a little for bboxes.
This commit is contained in:
Matthias Koefferlein
2021-12-26 01:12:36 +01:00
parent 219fbceb28
commit e1cd6aaeb1
16 changed files with 180 additions and 64 deletions
-1
View File
@@ -119,7 +119,6 @@ TEST(2)
shapes.insert (p2);
shapes.insert (db::SimplePolygonRef (p2, *rep));
shapes.sort ();
shapes.update_bbox ();
EXPECT_EQ (shapes.bbox () == db::Box (100,-5200,2300,2000), true);