kicad/pcbnew/router
Alex bd9c37aa5f Fix an incorrect calculation in length tuning tools.
MEANDER_PLACER_BASE::lineLength wasn't calculating the length correctly
when starting and ending pads were on different layers.

Naturally, now jointA corresponds to the start of the path, jointB to the end.

Fixes https://gitlab.com/kicad/code/kicad/issues/12881


(cherry picked from commit 348c3d4216)
2022-12-12 01:58:36 +00:00
..
CMakeLists.txt router: factor out POSTURE_SOLVER to more generic MOUSE_TRAIL_TRACER class 2021-02-25 17:18:23 +01:00
length_tuner_tool.cpp Fix ordering of initialization in length tuner 2021-09-14 07:48:02 -04: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 More wide-string declarations. 2022-02-05 13:29:00 +00:00
pns_component_dragger.h PNS: Pick up segments directly between pads when dragging components 2021-07-03 19:50:04 -04:00
pns_debug_decorator.h Pass VECTOR2I objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
pns_diff_pair.cpp Fix success conditions in DP placer 2021-12-12 13:05:38 -05:00
pns_diff_pair.h More NULL expunging. 2021-07-20 07:27:18 -04:00
pns_diff_pair_placer.cpp Fix success conditions in DP placer 2021-12-12 13:05:38 -05:00
pns_diff_pair_placer.h Allow changing router mode while routing 2021-10-12 09:55:34 -07:00
pns_dp_meander_placer.cpp Use correct pad to die lengths in DP length tuner. 2022-12-12 01:58:13 +00:00
pns_dp_meander_placer.h Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
pns_drag_algo.h Formatting. 2021-01-04 19:19:55 +00:00
pns_dragger.cpp We don't always have a line when dragging. 2022-10-13 09:15:24 -07:00
pns_dragger.h We don't always have a line when dragging. 2022-10-13 09:15:24 -07: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 Allow free pad usage in router. 2022-09-28 14:49:44 +01:00
pns_item.h Allow free pad usage in router. 2022-09-28 14:49:44 +01:00
pns_itemset.cpp PNS: fix some weirdness identified by PVS 2021-04-07 23:16:56 -04:00
pns_itemset.h More NULL expunging. 2021-07-20 07:27:18 -04:00
pns_joint.h PNS: Fix IsLineCorner logic 2022-07-11 22:47:28 -04:00
pns_kicad_iface.cpp Fix typo. 2022-10-25 17:40:33 +00:00
pns_kicad_iface.h PNS: Fix rule resolution when starting from PTH 2021-10-23 22:46:31 -04:00
pns_layerset.h We must check clearance on all layers of multi-layer items. 2022-10-24 10:57:07 +01:00
pns_line.cpp PNS: Fix off-by-one in dragCornerInternal 2022-06-01 17:11:03 -04:00
pns_line.h PNS: Fix dragging of segments with arcs in line 2021-04-11 10:18:57 -04:00
pns_line_placer.cpp Re-route m_last_head after routing fails 2022-09-01 22:06:06 +00:00
pns_line_placer.h router: fix use-after-free crash in single trace shove routing when m_endItem's owning NODE is erased by the springback algorithm. 2021-12-15 01:33:05 +01:00
pns_link_holder.h More wide-string declarations. 2022-02-05 13:29:00 +00:00
pns_linked_item.h
pns_logger.cpp More wide-string declarations. 2022-02-05 13:29:00 +00:00
pns_logger.h Don't convert KIID on the fly 2022-02-03 10:34:14 -08:00
pns_meander.cpp Length Tuner: Allow single meander when it fits on its own 2021-09-28 18:50:31 +01:00
pns_meander.h Length Tuner: Allow controlling the side of the meander using the cursor 2021-09-28 18:50:31 +01:00
pns_meander_placer.cpp PNS: Handle via-in-pad distances when tuning 2022-08-01 20:23:07 -07:00
pns_meander_placer.h Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00:00
pns_meander_placer_base.cpp Cleanup unused code 2022-08-02 08:51:04 -07:00
pns_meander_placer_base.h PNS: Handle via-in-pad distances when tuning 2022-08-01 20:23:07 -07:00
pns_meander_skew_placer.cpp PNS: Handle via-in-pad distances when tuning 2022-08-01 20:23:07 -07: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 More wide-string declarations. 2022-02-05 13:29:00 +00: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: use actual snap point position for routability checks of a segment instead of the segment endpoint(s). 2022-11-23 06:57:11 -08:00
pns_node.h Add edge-exclusions to router (for castellated pads). 2022-07-25 19:30:49 +01:00
pns_optimizer.cpp router: disable 'limit corner count' optimization for via dragging 2021-11-22 00:05:17 +01: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 Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
pns_router.cpp router: use actual snap point position for routability checks of a segment instead of the segment endpoint(s). 2022-11-23 06:57:11 -08:00
pns_router.h router: when dragging segments, don't snap to other segments on the same layer. Fixes drag flickering for short segments. 2021-12-15 01:48:04 +01:00
pns_routing_settings.cpp PNS: Add support for 90-degree corner modes 2021-11-03 02:14:23 +00:00
pns_routing_settings.h Remove RM_Smart state from router tool 2021-12-01 09:52:37 +00:00
pns_segment.h Repair ARC copy constructor. 2020-11-01 00:10:08 +00:00
pns_shove.cpp More wide-string declarations. 2022-02-05 13:29:00 +00:00
pns_shove.h router: fix use-after-free crash in single trace shove routing when m_endItem's owning NODE is erased by the springback algorithm. 2021-12-15 01:33:05 +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 feedback showing current router state to the message panel 2021-07-03 13:21:51 -04:00
pns_solid.cpp PNS: Remove offsets from hull generation 2022-06-03 17:39:22 -04:00
pns_solid.h More NULL expunging. 2021-07-20 07:27:18 -04:00
pns_tool_base.cpp Allow free pad usage in router. 2022-09-28 14:49:44 +01:00
pns_tool_base.h Pass VECTOR2I objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
pns_topology.cpp Fix an incorrect calculation in length tuning tools. 2022-12-12 01:58:36 +00:00
pns_topology.h PNS: Fix tuning calculations through locked segments 2021-12-05 13:35:28 -05:00
pns_tune_status_popup.cpp Better colors for length tuning popup in dark mode 2021-04-04 20:33:59 -04: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: fix negative chamfer value for hulls generated for 0-length segments 2022-09-06 11:06:31 -07:00
pns_utils.h router: P&S-specific hull/line interection function that correctly rejects segments/vertices that only touch the hull polygons without penetrating them 2021-05-29 00:13:24 +02:00
pns_via.cpp PNS: Implement HoleHull for VIA 2022-06-08 02:05:25 +00:00
pns_via.h PNS: Implement HoleHull for VIA 2022-06-08 02:05:25 +00:00
pns_walkaround.cpp router: somewhat improved stop-if-walk-path-is-too-long heuristic in the walkaround algorithm 2022-09-06 11:06:38 -07:00
pns_walkaround.h A few Coverity fixes. 2020-03-30 09:50:26 +02:00
range.h
ranged_num.h
router_preview_item.cpp More wide-string declarations. 2022-02-05 13:29:00 +00:00
router_preview_item.h Don't make inferences about object type based on shape. 2021-12-01 19:44:30 +00:00
router_tool.cpp PCB Router: return to original active layer after routing 2022-11-03 10:16:26 -07:00
router_tool.h PCB Router: return to original active layer after routing 2022-11-03 10:16:26 -07:00
time_limit.cpp
time_limit.h