Fix #3: Via placement doesn't respect single sided keepouts
This commit is contained in:
@ -274,7 +274,7 @@ class FillArea:
|
||||
for dy in [-offset, offset]:
|
||||
point_to_test = wxPoint(current_x + dx,
|
||||
current_y + dy)
|
||||
r = area.HitTestFilledArea(point_to_test)
|
||||
r = area.HitTestInsideZone(point_to_test)
|
||||
t = area.HitTestForEdge(point_to_test)
|
||||
r = r and not t
|
||||
if keepOutMode:
|
||||
@ -282,18 +282,14 @@ class FillArea:
|
||||
else:
|
||||
testResult &= r
|
||||
|
||||
if testResult:
|
||||
if keepOutMode:
|
||||
testResult |= r
|
||||
rectangle[x][y] = 0x1
|
||||
else:
|
||||
testResult &= r
|
||||
if testResult:
|
||||
if keepOutMode:
|
||||
rectangle[x][y] = 0x1
|
||||
else:
|
||||
# Allow only if it's first step disabling
|
||||
# ie: keepout are keeped
|
||||
if rectangle[x][y] == 0x8:
|
||||
rectangle[x][y] = 0
|
||||
# Allow only if it's first step disabling
|
||||
# ie: keepout are keeped
|
||||
if rectangle[x][y] == 0x8:
|
||||
rectangle[x][y] = 0
|
||||
|
||||
if self.debug:
|
||||
print("Post Area handling")
|
||||
|
Reference in New Issue
Block a user