From aa38784fd75753905b9af0c071b31189b8d86c49 Mon Sep 17 00:00:00 2001 From: CGrassin <42406777+CGrassin@users.noreply.github.com> Date: Sun, 19 Feb 2023 22:33:35 +0100 Subject: [PATCH] Fix: hit_test_area is now performed on every layer of each zone --- ViaStitching/FillArea.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ViaStitching/FillArea.py b/ViaStitching/FillArea.py index bd91eff..ebcdb17 100644 --- a/ViaStitching/FillArea.py +++ b/ViaStitching/FillArea.py @@ -292,8 +292,9 @@ STEP = '-' for dy in [-offset, offset]: point_to_test = wxPoint(via.PosX + dx, via.PosY + dy) - # TODO: check all layers instead of GetFirstLayer - hit_test_area = area.HitTestFilledArea(area.GetFirstLayer(), VECTOR2I(point_to_test)) # Collides with a filled area + hit_test_area = False + for layer_id in area.GetLayerSet().CuStack(): + hit_test_area = hit_test_area or area.HitTestFilledArea(layer_id, VECTOR2I(point_to_test)) # Collides with a filled area hit_test_edge = area.HitTestForEdge(VECTOR2I(point_to_test), 1) # Collides with an edge/corner try: hit_test_zone = area.HitTestInsideZone(VECTOR2I(point_to_test)) # Is inside a zone (e.g. KeepOut/Rules)