kicad/pcbnew/router
Seth Hillbrand 586fddeec1 Avoid case where whole line is new head
If the whole line shifts, we may have no points of the old tail in the
new line.  In this case, we may not only not find the split point but we
may also have fewer points in the new line than were in the old head.
Clamping to the maximum potential point count prevents creating invalid
lines

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16591
2024-04-19 17:54:29 -07:00
..
CMakeLists.txt Add a m_forceMarkObstaclesMode warning when violating DRC. 2024-01-02 17:02:50 +00: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 Add a m_forceMarkObstaclesMode warning when violating DRC. 2024-01-02 17:02:50 +00:00
pns_component_dragger.h Add a m_forceMarkObstaclesMode warning when violating DRC. 2024-01-02 17:02:50 +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 Don't use epsilon when calculating pushout force in dp placer. 2023-12-03 16:58:41 +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 Allow DP meanders to (mostly) fit on adjacent segments. 2024-02-20 03:20:08 +00:00
pns_dp_meander_placer.h Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00:00
pns_drag_algo.h Add a m_forceMarkObstaclesMode warning when violating DRC. 2024-01-02 17:02:50 +00:00
pns_dragger.cpp Add a m_forceMarkObstaclesMode warning when violating DRC. 2024-01-02 17:02:50 +00:00
pns_dragger.h Add a m_forceMarkObstaclesMode warning when violating DRC. 2024-01-02 17:02:50 +00: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 Fixes for tuning patterns and router. 2023-11-28 20:55:39 +03:00
pns_index.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_item.cpp Remove duplicated clearanceEpsilon 2024-03-29 15:39:57 -07:00
pns_item.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_itemset.cpp performance efficiencies 2023-12-18 18:36:02 +00:00
pns_itemset.h Coverity issue fixes. 2023-08-28 09:29:56 -04:00
pns_joint.h Repair earlier fix for VVIAs. 2023-12-19 16:48:01 +00:00
pns_kicad_iface.cpp PNS: Fix a few memory leaks 2024-03-31 18:21:02 +02:00
pns_kicad_iface.h PNS: Fix a few memory leaks 2024-03-31 18:21:02 +02: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 Avoid case where whole line is new head 2024-04-19 17:54:29 -07:00
pns_line_placer.h Support arcs in Break Track. 2024-01-24 05:47:50 +03: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_debug_tool: Fix "save as" to save log file with new router state 2024-02-12 21:22:57 +01:00
pns_meander.cpp Tweak default meander settings. 2024-02-20 03:20:08 +00:00
pns_meander.h Increase unconstrained tuning length to 1km. 2024-02-09 19:25:46 +03:00
pns_meander_placer.cpp Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00:00
pns_meander_placer.h Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00: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 Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00: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 Remove shadowed variable. 2023-12-18 14:24:04 +00: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 Re-add routine to remove duplicate points 2024-04-10 17:25:58 -07:00
pns_node.h When dragging a via, we need to get all obstacles 2024-03-29 15:39:57 -07:00
pns_optimizer.cpp PNS: Fix a few memory leaks 2024-03-31 18:21:02 +02:00
pns_optimizer.h PNS: Fix a few memory leaks 2024-03-31 18:21:02 +02:00
pns_placement_algo.h Make the net identifier opaque to PNS router. 2023-08-22 15:17:02 +00:00
pns_router.cpp Reset placer when routing start fails to prevent crash on next usage. 2024-02-20 03:20:08 +00:00
pns_router.h Support arcs in Break Track. 2024-01-24 05:47:50 +03: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 Don't attempt to update start item from a keyboard event. 2024-01-23 23:07:11 +00:00
pns_tool_base.h Cleanup formatting and remove dead code. 2023-12-21 22:06:59 +00:00
pns_topology.cpp Pick DP coupled segment closest to start item and baseline. 2024-02-20 22:06:00 +03: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 When dragging a via, we need to get all obstacles 2024-03-29 15:39:57 -07: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 Silence deprecation warning about enum * fp type 2024-04-12 22:55:43 -04:00
router_preview_item.h Silence deprecation warning about enum * fp type 2024-04-12 22:55:43 -04:00
router_status_view_item.cpp Add a m_forceMarkObstaclesMode warning when violating DRC. 2024-01-02 17:02:50 +00:00
router_status_view_item.h Add a m_forceMarkObstaclesMode warning when violating DRC. 2024-01-02 17:02:50 +00:00
router_tool.cpp Remove Shift as a force-finish modifier 2024-04-19 08:53:27 -07: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