Tomasz Wlostowski
58f5e61186
router: pass current routing mode to rhWalkBase() so that it knows what kinds of board primitives to walk around
12 months ago
Seth Hillbrand
0b2d4d4879
Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
12 months ago
Alex
ed00cb3304
Support arcs in Break Track.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16712
2 years ago
Jeff Young
76cd637895
Make the net identifier opaque to PNS router.
This also improves performance as we don't have to look up the
netcodes in a map.
2 years ago
Jeff Young
5e18287ff9
Re-implement some commented-out hole clearance checking in router.
2 years ago
Jeff Young
30336b2fe3
Unify go-back-one-step processing for drawing tools (and router).
Also warps mouse on all go-back-one-step operations for better feedback.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9985
3 years ago
Tomasz Wlostowski
b507c44d74
router: fix regression in Backspace (unfix/undo last segment) caused by redesign of the line placement algo
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12835
3 years ago
Tomasz Wlostowski
a0105efc0c
router: major rewrite of shove/walkaround single line placement. An attempt to fix most router blockages/non-45 stray segments and simplar stuff. Also adds a ton of debug geometry cruft.
fixes: 12258
fixes: 12067
fixes: 10807
fixes: 10632
3 years ago
Mike Williams
b1f2273bc6
PNS: Add CurrentStart() to placers.
3 years ago
Tomasz Wlostowski
2ae3a83b54
router: fix use-after-free crash in single trace shove routing when m_endItem's owning NODE is erased by the springback algorithm.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9994
4 years ago
Seth Hillbrand
35e90d0cf4
Allow changing router mode while routing
Keeps shove active even when not using to allow switching modes during
routing.
Fixes https://gitlab.com/kicad/code/kicad/issues/9342
4 years ago
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
4 years ago
luz paz
f968fc8719
Fix source comment / documentation typos
5 years ago
Jon Evans
6789dac20b
PNS: Keep most recent good placement around for a rainy day
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8562
5 years ago
Tomasz Wlostowski
e66bbfd1ec
router: improve the feel of the walkaround algorithm
Makes walkaround more 'huggy' - the trace being routed sticks to obstacles
instead of jumping around in uncontrollable way.
5 years ago
Tomasz Wlostowski
87ea540953
Fix whitespace errors
5 years ago
Tomasz Wlostowski
f84836f51e
router: factor out POSTURE_SOLVER to more generic MOUSE_TRAIL_TRACER class
5 years ago
Wayne Stambaugh
6a39b81647
Fix the last of broken Doxygen comment specifiers.
5 years ago
Jon Evans
111fa99f9f
PNS: Use last-segment posture optimization always
Also when auto-posture is enabled, don't flutter
until area threshold has been met.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6935
5 years ago
Jon Evans
8619086cf2
PNS: re-enable optimization of colinear segs in lines with arcs
5 years ago
Jon Evans
8901e71fc8
PNS: Fix loop removal, make walkaround less broken for arcs
5 years ago
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.
5 years ago
Jeff Young
3ba17e0a16
Formatting.
5 years ago
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.
5 years ago
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.
5 years ago
Jon Evans
8ad89ae457
PNS: fix manual posture mode
5 years ago
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
5 years ago
Jon Evans
7a5c99ee0f
Tweak the mouse-based posture solver
Add an epsilon to reduce flutter
Add a lock after a certain distance
Forget the old trail when unlocking
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5381
5 years ago
Tomasz Wlostowski
2a2e389a94
router: auto-guess track posture from mouse movements, experimental!
6 years ago
Tomasz Wlostowski
6850067182
router: commit traces made in single stroke/click (fixes regression introduced with Backspace support)
6 years ago
Tomasz Wlostowski
4525a17076
router: backspace key to undo last fixed segment(s)
6 years ago
Seth Hillbrand
7c28c3838a
Comment-only changes
Makes class comments conform to coding standards
6 years ago
Tomasz Wlostowski
f6f726acab
router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click
Fixes: lp:1777688
* https://bugs.launchpad.net/kicad/+bug/1777688
8 years ago
Tomasz Włostowski
2d9ab80b4e
Few improvements to the GAL router:
- missing 'break track' functionality
- 'drag 45 degree' and 'drag free angle' context menu shorcuts, both in the router tool and in the default context menu
- bugfix: length tuner tool can now be used again
Fixes: lp:1708386
* https://bugs.launchpad.net/kicad/+bug/1708386
Fixes: lp:1708402
* https://bugs.launchpad.net/kicad/+bug/1708402
8 years ago
Tomasz Włostowski
ba9576b014
router: snap to clearance boundaries in Highlight Collisions mode
Fixes: lp:1655819
* https://bugs.launchpad.net/kicad/+bug/1655819
9 years ago
Simon Richter
ad088db6d2
Add more "override" markers.
9 years ago
Simon Richter
59c81976dc
Explicitly mark overriding functions.
9 years ago
decimad
2aef1a4568
use unique_ptr to document ownership (PNS::LINE_PLACER)
9 years ago
decimad
6c749e0ba8
Remove PNS_ prefix from most types inside namespace PNS
9 years ago
decimad
de6281e977
Move PNS router code into namespace PNS
update copyright messages
9 years ago
Maciej Suminski
0ef866ee74
Code formatting
9 years ago
Tomasz Wlostowski
a53ea81794
P&S: factor out Kicad-dependend PNS_ROUTER::SnapToItem() to the PNS_TOOL_BASE class
9 years ago
Tomasz Wlostowski
b4135e0a33
router: fixed snapping to target while placing diff pair
10 years ago
Tomasz Wlostowski
a96299d456
router: improvements to shove algorithm
10 years ago
Maciej Suminski
0fbf31ef38
P&S: memory mgr & disappearing trace fixes. Still a bit buggy, though...
11 years ago
Tomasz Wlostowski
f96c65254c
router: allow for insertion of a via without leading trace (e.g. in the middle of already existing trace)
11 years ago
Maciej Suminski
e6a10faab7
FIxed a few clang warnings.
11 years ago
Maciej Suminski
4fb9bce354
Code formatting.
11 years ago
Tomasz Włostowski
112adccbcb
router: differential pairs & length tuning support
11 years ago
Maciej Suminski
9245b90392
Code formatting.
11 years ago