kicad/pcbnew/router
Seth Hillbrand e1b428609d Rewrite followTrivialPath as iterative
Remove the recursion that causes stack crash and add an
additional check for if we have already seen either the
current link or the last link before adding them to the line

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16185
2023-11-28 06:57:50 -08: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
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 Report current length on roll-over. 2023-11-23 23:25:49 +00: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 Protect against null pointer 2023-11-27 09:52:18 +01: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
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 Re-enable corner radius of DP meanders. 2023-11-22 19:45:56 +00:00
pns_meander.h Fixes for length tuning patterns. 2023-11-12 12:17:08 +03:00
pns_meander_placer.cpp Report current length on roll-over. 2023-11-23 23:25:49 +00: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
pns_node.cpp Restore clearance cache usage in PNS::NODE::NearestObstacle. 2023-11-07 23:25:53 +03: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
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 Rewrite followTrivialPath as iterative 2023-11-28 06:57:50 -08:00
pns_topology.h Rewrite followTrivialPath as iterative 2023-11-28 06:57:50 -08: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