Fix: hit_test_area is now performed on every layer of each zone
This commit is contained in:
@ -292,8 +292,9 @@ STEP = '-'
|
|||||||
for dy in [-offset, offset]:
|
for dy in [-offset, offset]:
|
||||||
point_to_test = wxPoint(via.PosX + dx, via.PosY + dy)
|
point_to_test = wxPoint(via.PosX + dx, via.PosY + dy)
|
||||||
|
|
||||||
# TODO: check all layers instead of GetFirstLayer
|
hit_test_area = False
|
||||||
hit_test_area = area.HitTestFilledArea(area.GetFirstLayer(), VECTOR2I(point_to_test)) # Collides with a filled area
|
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
|
hit_test_edge = area.HitTestForEdge(VECTOR2I(point_to_test), 1) # Collides with an edge/corner
|
||||||
try:
|
try:
|
||||||
hit_test_zone = area.HitTestInsideZone(VECTOR2I(point_to_test)) # Is inside a zone (e.g. KeepOut/Rules)
|
hit_test_zone = area.HitTestInsideZone(VECTOR2I(point_to_test)) # Is inside a zone (e.g. KeepOut/Rules)
|
||||||
|
Reference in New Issue
Block a user