kicad/pcbnew/router
Seth Hillbrand e808ab7409 Re-add routine to remove duplicate points
The router needs to elimitate duplicate points but keep colinear
segments.  This re-creates the partial routine from the old Simplify()
function

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17582

(cherry picked from commit 59f99d9a6a)
2024-04-11 14:20:50 +03: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-04-01 17:55:29 -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 Utilize hash_combine to avoid hash collision 2024-04-01 17:55:29 -07:00
pns_kicad_iface.h Use a more self-documenting API for router preview item flags. 2023-12-08 16:02:15 +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 router: SplitAdjacentSegments() should check if the end segment we are about to split is in the same net that the head segment 2024-02-20 03:20:08 +00: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-11 14:20:50 +03:00
pns_node.h When dragging a via, we need to get all obstacles 2024-04-01 17:55:29 -07: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 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-04-01 17:55:29 -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 Restore green router collision color. 2024-02-20 03:20:08 +00:00
router_preview_item.h Improve rendering of tuning status popup 2023-12-19 22:38:21 -05: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 Allow user to select location to save router event log 2024-02-11 13:43:55 +01: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