kicad/pcbnew/router
Seneral 55c44966d9 Added a temporary item cache to improve router performance
Some items only used within algorithms were never cached
Because they are hard to manually clean up
But caching them does help the algorithms a lot
So this solution is the best I can think of

(cherry picked from commit d29c07a663)
2023-11-07 23:23:52 +03:00
..
CMakeLists.txt Use "tuning pattern" in the GUI. 2023-10-15 17:59:11 +01:00
pns_algo_base.cpp PNS: Only log events when EnableRouterDump is true 2023-08-07 23:48:24 +02:00
pns_algo_base.h
pns_arc.cpp Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00:00
pns_arc.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_component_dragger.cpp Fix a typo. 2023-04-12 10:45:24 +01:00
pns_component_dragger.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_debug_decorator.h Formatting (no functional changes). 2023-08-31 15:15:57 +01:00
pns_diff_pair.cpp Coverity issue fixes. 2023-08-28 09:29:56 -04:00
pns_diff_pair.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_diff_pair_placer.cpp Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_diff_pair_placer.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_dp_meander_placer.cpp More modern look & feel for tuning status popup. 2023-10-17 13:30:58 +01:00
pns_dp_meander_placer.h More modern look & feel for tuning status popup. 2023-10-17 13:30:58 +01:00
pns_drag_algo.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_dragger.cpp Minor formatting fixes. 2023-10-28 17:58:33 +01:00
pns_dragger.h Push m_forceMarkObstaclesMode down into the DRAGGER. 2023-10-28 17:52:15 +01:00
pns_hole.cpp Tighten ownership model of PNS::ITEM. 2023-04-28 11:05:39 +01:00
pns_hole.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_index.cpp Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_index.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_item.cpp Handle various keepout flags independently. 2023-11-07 11:57:23 +00:00
pns_item.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_itemset.cpp Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_itemset.h Coverity issue fixes. 2023-08-28 09:29:56 -04:00
pns_joint.h Don't modify dp-tuning when doing skew tuning. 2023-10-22 20:35:14 +01:00
pns_kicad_iface.cpp Added a temporary item cache to improve router performance 2023-11-07 23:23:52 +03:00
pns_kicad_iface.h Introduce GENERATOR_TOOL. 2023-10-08 02:41:17 +00: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 Formatting, and a fix for a shadowed variable. 2023-09-12 13:45:28 +01:00
pns_line.h router: further changes to the ownership model 2023-04-11 15:51:00 +01:00
pns_line_placer.cpp Honour 90-degree router mode in a few more places. 2023-10-26 14:18:28 +01:00
pns_line_placer.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_link_holder.h More wide-string declarations. 2022-02-05 22:03:04 +00:00
pns_linked_item.h
pns_logger.cpp PNS Log Viewer: Refactor loading/saving functions 2023-08-09 22:21:14 +00:00
pns_logger.h PNS Log Viewer: Refactor loading/saving functions 2023-08-09 22:21:14 +00:00
pns_meander.cpp Formatting. 2023-10-16 13:44:05 +01:00
pns_meander.h Fix minor compil and Coverity warnings (not initialized vars) 2023-10-23 20:13:46 +02:00
pns_meander_placer.cpp More modern look & feel for tuning status popup. 2023-10-17 13:30:58 +01:00
pns_meander_placer.h More modern look & feel for tuning status popup. 2023-10-17 13:30:58 +01:00
pns_meander_placer_base.cpp Support min/max rules in diff pair placer and skew placer. 2023-10-17 13:30:58 +01:00
pns_meander_placer_base.h More modern look & feel for tuning status popup. 2023-10-17 13:30:58 +01:00
pns_meander_skew_placer.cpp More modern look & feel for tuning status popup. 2023-10-17 13:30:58 +01:00
pns_meander_skew_placer.h More modern look & feel for tuning status popup. 2023-10-17 13:30:58 +01: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 Coverity warning fixes. 2023-10-27 16:48:14 -04:00
pns_node.h Added a temporary item cache to improve router performance 2023-11-07 23:23:52 +03:00
pns_optimizer.cpp Honour 90-degree router mode in a few more places. 2023-10-26 14:18:28 +01:00
pns_optimizer.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_placement_algo.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_router.cpp Added a temporary item cache to improve router performance 2023-11-07 23:23:52 +03:00
pns_router.h Push m_forceMarkObstaclesMode down into the DRAGGER. 2023-10-28 17:52:15 +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 Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_shove.cpp Honour 90-degree router mode in a few more places. 2023-10-26 14:18:28 +01:00
pns_shove.h PNS: Only log events when EnableRouterDump is true 2023-08-07 23:48:24 +02: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 Don't assume an error location for PAD::GetEffectivePolygon(). 2023-10-13 13:59:26 +01:00
pns_solid.h Don't assume an error location for PAD::GetEffectivePolygon(). 2023-10-13 13:59:26 +01:00
pns_tool_base.cpp Fix a crash when using length tuning tools. 2023-10-14 16:53:28 +03:00
pns_tool_base.h Move meander placer picker tool from item highlighting to net highlighting. 2023-10-09 22:32:32 +01:00
pns_topology.cpp Don't assume an error location for PAD::GetEffectivePolygon(). 2023-10-13 13:59:26 +01:00
pns_topology.h Fix errors in calculating tuning length. 2023-09-25 15:50:44 +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 We don't want to do collision testing against virtual vias. 2023-10-22 20:35:15 +01:00
pns_walkaround.cpp Honour 90-degree router mode in a few more places. 2023-10-26 14:18:28 +01:00
pns_walkaround.h Remove PNS APIEXPORT that never made sense 2023-09-08 18:44:46 -04:00
range.h
ranged_num.h
router_preview_item.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -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 Behave (or assert) when source or target are null or dirty. 2023-11-01 17:11:42 +00:00
router_tool.h Remove PNS APIEXPORT that never made sense 2023-09-08 18:44:46 -04:00
time_limit.cpp
time_limit.h