kicad/pcbnew/router
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
2023-06-19 17:14:32 +01:00
..
CMakeLists.txt router: further changes to the ownership model 2023-04-11 15:51:00 +01:00
length_tuner_tool.cpp router: Allow highlighting both DP nets when routing. 2022-12-06 05:24:23 +03:00
length_tuner_tool.h Add length tuner settings to toolbar context menu 2021-05-12 02:34:52 +00:00
pns_algo_base.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
pns_algo_base.h router: expose current view area to the router algorithms so that the optimizer could know not to mess with traces/vias not currently visible to the user (wip) 2021-02-25 17:18:23 +01:00
pns_arc.cpp Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00:00
pns_arc.h PNS: Pick up segments directly between pads when dragging components 2021-07-03 19:50:04 -04:00
pns_component_dragger.cpp Fix a typo. 2023-04-12 10:45:24 +01:00
pns_component_dragger.h router: When dragging tracks, don't snap to parts of the original line. 2023-01-27 11:06:36 +03:00
pns_debug_decorator.h router: Hotglue the debug graphics back to pcbnew. 2022-12-30 14:44:48 +05:00
pns_diff_pair.cpp Cleanup. 2023-06-17 18:12:13 +01:00
pns_diff_pair.h Don't steal an existing via's hole. 2023-04-11 17:48:27 +01:00
pns_diff_pair_placer.cpp router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_diff_pair_placer.h PNS: Add CurrentStart() to placers. 2022-09-28 13:29:52 +00:00
pns_dp_meander_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_dp_meander_placer.h PNS: Add CurrentStart() to placers. 2022-09-28 13:29:52 +00:00
pns_drag_algo.h router: When dragging tracks, don't snap to parts of the original line. 2023-01-27 11:06:36 +03:00
pns_dragger.cpp router: fix use-after-free crash in drag walkaround mode 2023-05-31 22:20:28 +02:00
pns_dragger.h router: Remove extra qualification. 2023-01-27 11:56:23 +03:00
pns_hole.cpp Tighten ownership model of PNS::ITEM. 2023-04-28 11:05:39 +01:00
pns_hole.h Don't allow collisions with self. 2023-05-23 14:10:22 +01:00
pns_index.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
pns_index.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
pns_item.cpp router: prevent pushout/bogus collision of via with is own hole (or copper) when dragging 2023-05-31 17:06:24 +02:00
pns_item.h router: prevent pushout/bogus collision of via with is own hole (or copper) when dragging 2023-05-31 17:06:24 +02:00
pns_itemset.cpp router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_itemset.h router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_joint.h Fix minor compil warnings 2023-04-25 12:43:15 +02:00
pns_kicad_iface.cpp router: invalidate items freed by PNS::NODE in the clearance cache 2023-06-01 00:01:15 +02:00
pns_kicad_iface.h Cleanup API and use text bounding box for routing. 2023-05-02 16:03:43 +01:00
pns_layerset.h We must check clearance on all layers of multi-layer items. 2022-10-24 00:14:12 +01:00
pns_line.cpp Tighten ownership model of PNS::ITEM. 2023-04-28 11:05:39 +01:00
pns_line.h router: further changes to the ownership model 2023-04-11 15:51:00 +01:00
pns_line_placer.cpp Unify go-back-one-step processing for drawing tools (and router). 2023-06-19 17:14:32 +01:00
pns_line_placer.h Unify go-back-one-step processing for drawing tools (and router). 2023-06-19 17:14:32 +01:00
pns_link_holder.h More wide-string declarations. 2022-02-05 22:03:04 +00:00
pns_linked_item.h
pns_logger.cpp Coverity fixes and code cleaning. 2023-03-02 09:04:47 -05:00
pns_logger.h Coverity fixes and code cleaning. 2023-03-02 09:04:47 -05:00
pns_meander.cpp router: Fix clamp in meander corner radius calculation. 2023-02-05 07:22:38 +03:00
pns_meander.h router: Various bugfixes in length tuning meandering 2022-12-04 16:30:00 +00:00
pns_meander_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_meander_placer.h router: Refactor m_padToDieLength out of meander placer base. 2022-12-02 01:03:34 +03:00
pns_meander_placer_base.cpp router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_meander_placer_base.h router: Refactor m_padToDieLength out of meander placer base. 2022-12-02 01:03:34 +03:00
pns_meander_skew_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_meander_skew_placer.h PNS: Account for via stack height in diff pair length tuner 2021-04-20 19:31:10 -04:00
pns_mouse_trail_tracer.cpp router: trying to improve the 'guess posture' algorithm to work well with both fix-all and fix-last-segment on click 2023-01-12 23:37:07 +01:00
pns_mouse_trail_tracer.h Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00:00
pns_node.cpp router: correctly assign owner via/pad to its hole when committing the world state 2023-06-08 11:57:23 +02:00
pns_node.h router: invalidate items freed by PNS::NODE in the clearance cache 2023-06-01 00:01:15 +02:00
pns_optimizer.cpp Cleanup printf bits 2023-04-20 15:19:04 -07:00
pns_optimizer.h Pass VECTOR2I objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
pns_placement_algo.h Unify go-back-one-step processing for drawing tools (and router). 2023-06-19 17:14:32 +01:00
pns_router.cpp Unify go-back-one-step processing for drawing tools (and router). 2023-06-19 17:14:32 +01:00
pns_router.h Unify go-back-one-step processing for drawing tools (and router). 2023-06-19 17:14:32 +01:00
pns_routing_settings.cpp router: add via force propagation iteration limit as a user-controllable parameter in ROUTING_SETTINGS 2022-10-31 11:17:32 +01:00
pns_routing_settings.h router: add via force propagation iteration limit as a user-controllable parameter in ROUTING_SETTINGS 2022-10-31 11:17:32 +01:00
pns_segment.h router: extend dump format to support automatic regressions tests of interactive routing scenarios 2022-10-31 11:17:31 +01:00
pns_shove.cpp Fix a few accidental copies in loop iterators 2023-06-15 22:57:05 +01:00
pns_shove.h router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_sizes_settings.cpp Honour pre-defined-size selections for diff pairs. 2021-03-02 12:12:05 +00:00
pns_sizes_settings.h Add variable initializations 2023-06-15 23:49:24 +01:00
pns_solid.cpp Cleanup printf bits 2023-04-20 15:19:04 -07:00
pns_solid.h Prevent use-after-free crashes by not fighting over who owns a HOLE. 2023-06-01 15:07:29 +01:00
pns_tool_base.cpp Ease acquisition of a target item. 2023-04-09 22:05:17 +00:00
pns_tool_base.h router: Allow highlighting both DP nets when routing. 2022-12-06 05:24:23 +03:00
pns_topology.cpp router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_topology.h router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_tune_status_popup.cpp Improve contrast of status popup text on Mac. 2022-09-04 21:08:01 +01:00
pns_tune_status_popup.h Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00:00
pns_utils.cpp router: hole as first class objects, wip 2023-04-11 15:51:00 +01:00
pns_utils.h router: hole as first class objects, wip 2023-04-11 15:51:00 +01:00
pns_via.cpp Use Net() accessor uniformly; init hole parent in VIA::Clone() 2023-04-28 18:32:58 +01:00
pns_via.h Prevent use-after-free crashes by not fighting over who owns a HOLE. 2023-06-01 15:07:29 +01:00
pns_walkaround.cpp router: hole as first class objects, wip 2023-04-11 15:51:00 +01:00
pns_walkaround.h router: allow caller to override the 'safety' length limit in WALKAROUND 2022-10-31 11:17:32 +01:00
range.h
ranged_num.h
router_preview_item.cpp PNS: Allow width-caused DRC violations at start of route 2023-05-25 23:10:00 -04:00
router_preview_item.h router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
router_tool.cpp Unify go-back-one-step processing for drawing tools (and router). 2023-06-19 17:14:32 +01:00
router_tool.h Re-entrancy guard for router tool. 2022-10-17 13:21:07 +01:00
time_limit.cpp
time_limit.h