Jeff Young
71215bcab3
Make sure TH pads get collision layer highlighted.
...
Also cleans it up to centralise all the decision-making.
Fixes https://gitlab.com/kicad/code/kicad/issues/6925
2021-01-03 21:16:09 +00:00
Jon Evans
f01297fedd
Convert an annoying message box to an infobar
2021-01-02 22:14:10 -05:00
Jeff Young
8b849b1c49
Fix several bugs in hull push-back with vias.
...
1) take hole plating thickness into account
2) build hulls specifically for via so pushing back to the hull doesn't
have to try and figure out how much extra to push back for the via
and/or hole
3) clear MK_HOLE flags when colliding with the pad itself so that we
don't get stuck in HOLE mode
4) move flag setting/clearing to updateNearest() so that it will keep
track of the state of the nearest collision
Fixes https://gitlab.com/kicad/code/kicad/issues/6913
2021-01-02 19:14:44 +00:00
Jeff Young
13094fdc28
Formatting.
2021-01-02 18:38:17 +00:00
Jeff Young
85e42890c4
Distinction between via and via hole probably not useful.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6913
2021-01-02 16:41:09 +00:00
Jeff Young
068af7d328
When routing don't give NPTH holes a copper clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6903
2021-01-02 16:33:51 +00:00
Jon Evans
eba7cb222c
PNS: Fix initial posture guess for pads
2021-01-02 10:32:15 -05:00
Jeff Young
6b6694f55f
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6913
2021-01-02 15:04:30 +00:00
Jeff Young
42c114f6ed
Record status of via dragging in Walkaround mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3967
2021-01-02 00:31:02 +00:00
Jeff Young
8a049cf290
Make sure bounding boxes get cached on rule areas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6898
2021-01-01 23:17:49 +00:00
Jeff Young
018c17399d
SNR.
2021-01-01 23:17:49 +00:00
Jeff Young
fc1b0ec11f
Improve feedback when routing in highlight collisions mode.
...
In particular, when Allow DRC violations is NOT turned on and we
bump in to an obstacle.
2021-01-01 17:25:37 +00:00
Jeff Young
3ba17e0a16
Formatting.
2021-01-01 01:02:06 +00:00
Jeff Young
ecc0e861d3
Implement hole clearance and hole-to-hole clearance in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6882
2021-01-01 00:31:36 +00:00
Jeff Young
5d8e6020d1
Improve clarity.
2021-01-01 00:31:36 +00:00
Jeff Young
0e3c9de684
Formatting.
2021-01-01 00:31:36 +00:00
Jeff Young
1b93663627
Formatting.
2021-01-01 00:31:36 +00:00
Jon Evans
9a0f685a75
PNS: Consider arcs when searching for lines between joints
2020-12-31 13:05:43 -05:00
Jon Evans
73248ab219
PNS: correct initial segment direction for posture solver
2020-12-31 13:05:43 -05:00
Jon Evans
60fd7fdbb2
Fix comment
2020-12-30 18:52:56 -05:00
Jon Evans
510db66f0e
PNS: Fix rollback for arc traces
...
PNS: Update posture solver after rollback
2020-12-30 18:23:24 -05:00
Jon Evans
6105ac50da
ADDED: Default hotkey of CTRL+/ for switch corner rounding
2020-12-30 18:23:24 -05:00
Jon Evans
b5b64a55ad
PNS: Only run optimization if lastNode is valid
2020-12-30 18:23:24 -05:00
Jon Evans
79502a0d88
PNS: A new approach to arc placement
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6334
2020-12-30 18:23:24 -05:00
Jon Evans
bf9501e1d4
PNS: Fix auto-posture when placing via
2020-12-29 21:14:36 -05:00
Jon Evans
689da3794d
PNS: Merge co-linear segments during placement
2020-12-29 21:14:36 -05:00
Jon Evans
4c0aa6db1a
PNS: Disable smart pads optimization for vias
...
There is not much point with the current algorithm and it
breaks auto-posture.
2020-12-29 21:14:36 -05:00
Jon Evans
81d4e06f00
PNS: Consider pad orientation when routing
...
PNS: Skip smart pads when posture was manually forced
This allows a more-correct pad breakout to be chosen when
smart pads is off.
2020-12-29 01:06:46 -05:00
Jon Evans
96d49d1473
PNS: Improved auto-posture when starting from a segment
...
The previous auto-posture algorithm worked great for pads
but not so great when starting routing from a segment.
Now we can optimize the posture based on the starting
segment if one exists, to maximize the "obtuseness" of the
posture.
2020-12-28 23:51:13 -05:00
Jon Evans
3adff647a7
PNS: Preserve nearest vertex when dragging in shove mode
2020-12-28 19:44:39 -05:00
Jon Evans
be294dabce
PNS: Snap back to last valid point when committing a drag
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6651
2020-12-28 16:36:42 -05:00
Jon Evans
3c87e67753
PNS: Allow committing routes even when cursor moves beyond valid solution
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6651
2020-12-27 17:14:38 -05:00
Jon Evans
2cdf9875b9
PNS: fix off-by-one in dragCorner45
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6644
2020-12-27 15:58:36 -05:00
Jon Evans
c615b7a49b
PNS: make initial direction behavior consistent with fix-all enabled
2020-12-27 15:21:55 -05:00
Peter Montgomery
1c79e3174c
Pcbnew: Prevent footprint jumping when starting to drag it
...
CHANGED: When dragging a footprint, if the mouse isn't directly over the
footprint anchor when 'D' is pressed, the footprint center will jump to
the mouse position when dragging begins. This MR uses the current
mouse position instead of the footprint anchor as the inital reference
point when starting to drag.
Fixes https://gitlab.com/kicad/code/kicad/issues/6813
2020-12-27 17:43:52 +00:00
Jon Evans
8ad89ae457
PNS: fix manual posture mode
2020-12-24 17:31:54 -05:00
Jon Evans
8a2667c4c3
PNS: Fix all segments by default (and make optional)
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5920
2020-12-23 21:55:43 -05:00
Jon Evans
8c247fc97c
PNS: Add a setting to disable posture solver
...
PNS: Prevent autoposture flutter when trail has little area
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6797
2020-12-23 21:02:17 -05:00
Jon Evans
912657dd23
Component dragger: make relaxed segment pickup work for PTH pads
2020-12-22 22:43:44 -05:00
Jon Evans
70c6314c67
Component dragger: be more generous about picking up tracks
...
We now pick up tracks that end anywhere in the pad, not just
at the pad anchor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5945
2020-12-22 22:28:24 -05:00
Jon Evans
70c397a9b4
Implement free vias fully
...
CHANGED: manually-placed (stitching) vias won't have their nets automatically updated
(unless the via is placed directly on a track segment)
CHANGED: stitching vias can be placed on footprint pads and pick up their nets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5484
2020-12-20 16:29:50 -05:00
Jeff Young
cd162a8f58
Honour m_placingVia when avoiding collisions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3773
2020-12-20 20:36:19 +00:00
Jon Evans
e8f38e3c18
Snap to footprint origin when dragging
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6633
2020-12-20 15:15:48 -05:00
Jon Evans
ac793618f9
Set start item for inline dragging so that snapping works properly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6796
2020-12-20 11:13:09 -05:00
Jeff Young
46314f6483
Only compare collision-corrected routes when looking for shortest.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6511
2020-12-19 23:20:27 +00:00
Jeff Young
acfbcb4beb
Make distinction between PCBNew-wide tools and Board-specific tools.
...
The old names were really hard to keep straight (even for me, who named
many of them).
2020-12-16 13:32:46 +00:00
Jeff Young
5f9ed2583c
Don't put up double lock confirmation dialogs.
...
Also removes EditToolSelectionFilter which was misused in more places
than it was used correctly. The original point of the client filter
was to move the logic to the point of use, which the
EditToolSelectionFilter sort of obviated anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/6751
2020-12-15 22:34:24 +00:00
Jeff Young
c0a9742b3a
Apply 0ef63aca47
to diff pairs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6314
2020-12-12 03:43:41 +00:00
Wayne Stambaugh
dd4298bb94
Coverity fixes: 280374, 313611, 313648, 313649, and 314720.
2020-12-11 13:29:52 -05:00
Jeff Young
0ef63aca47
Don't reset tail when changing track width/via sizes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6314
2020-12-11 17:58:36 +00:00