kicad/pcbnew/router
Steve Bollinger 1020cdd7a6 pcbnew: switching track posture may not work on first attempt
If you drag a track out and connect to a pad then press the hotkey
to switch the track posture it may not switch because the track
posture selected when the pad was reached is different than the one
that the mouse trail placer drew. As the aspect switching is done
in the mouse trail placer it does not know that the line placer
already override the track.

To correct this, in LINE_PLACER::FlipPosture() if the aspect is not
currently manually forced then copy the current aspect from the
line placer to m_mouseTrailPlacer before calling the FlipPosture()
method of m_mouseTrailPlacer. This will only be done once per
dragging session as once the aspect is manually forced it remains
manually forced. This seems to fix the issue with no undesirable
side effects.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12369
(cherry picked from commit 85f4f0d6c8)
2023-05-11 16:36:21 -07:00
..
CMakeLists.txt router: further changes to the ownership model 2023-04-14 00:10:01 +01:00
length_tuner_tool.cpp router: Allow highlighting both DP nets when routing. 2022-12-06 05:24:23 +03:00
length_tuner_tool.h
pns_algo_base.cpp
pns_algo_base.h
pns_arc.cpp
pns_arc.h
pns_component_dragger.cpp Fix a typo. 2023-05-08 03:32:32 +03:00
pns_component_dragger.h router: When dragging tracks, don't snap to parts of the original line. 2023-01-27 11:06:36 +03:00
pns_debug_decorator.h router: Hotglue the debug graphics back to pcbnew. 2022-12-30 14:44:48 +05:00
pns_diff_pair.cpp Don't call BuildInitialTrace() for entry gateways. 2023-05-04 11:52:02 +01:00
pns_diff_pair.h Don't steal an existing via's hole. 2023-04-14 10:09:03 +01:00
pns_diff_pair_placer.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_diff_pair_placer.h PNS: Add CurrentStart() to placers. 2022-09-28 13:29:52 +00:00
pns_dp_meander_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_dp_meander_placer.h PNS: Add CurrentStart() to placers. 2022-09-28 13:29:52 +00:00
pns_drag_algo.h router: When dragging tracks, don't snap to parts of the original line. 2023-01-27 11:06:36 +03:00
pns_dragger.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_dragger.h router: Remove extra qualification. 2023-01-27 11:56:23 +03:00
pns_hole.cpp Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_hole.h Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_index.cpp
pns_index.h
pns_item.cpp PNS: make sure context options are used in collideSimple 2023-05-11 20:48:56 +00:00
pns_item.h Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_itemset.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_itemset.h router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_joint.h Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_kicad_iface.cpp Commenting and formatting. 2023-05-02 14:14:05 +01:00
pns_kicad_iface.h Fix PNS_KICAD_IFACE_BASE::IsFlashedOnLayer() to be able to handle multi-layer queries. 2023-04-14 10:59:10 +01: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 Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_line.h router: further changes to the ownership model 2023-04-14 00:10:01 +01:00
pns_line_placer.cpp pcbnew: switching track posture may not work on first attempt 2023-05-11 16:36:21 -07:00
pns_line_placer.h router: fix regression in Backspace (unfix/undo last segment) caused by redesign of the line placement algo 2022-11-15 23:05:53 +01:00
pns_link_holder.h More wide-string declarations. 2022-02-05 22:03:04 +00:00
pns_linked_item.h
pns_logger.cpp Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
pns_logger.h Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
pns_meander.cpp router: Fix clamp in meander corner radius calculation. 2023-02-05 07:22:38 +03:00
pns_meander.h router: Various bugfixes in length tuning meandering 2022-12-04 16:30:00 +00:00
pns_meander_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_meander_placer.h router: Refactor m_padToDieLength out of meander placer base. 2022-12-02 01:03:34 +03:00
pns_meander_placer_base.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_meander_placer_base.h router: Refactor m_padToDieLength out of meander placer base. 2022-12-02 01:03:34 +03:00
pns_meander_skew_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_meander_skew_placer.h
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 PNS: Remove holes when removing items with holes 2023-05-08 02:48:55 +00:00
pns_node.h Add PNS::ITEM::BoardItem() call. 2023-04-14 10:09:03 +01:00
pns_optimizer.cpp Cleanup printf bits 2023-05-07 19:02:02 +03:00
pns_optimizer.h
pns_placement_algo.h PNS: Add CurrentStart() to placers. 2022-09-28 13:29:52 +00:00
pns_router.cpp Add PNS::ITEM::BoardItem() call. 2023-04-14 10:09:03 +01:00
pns_router.h Fix PNS_KICAD_IFACE_BASE::IsFlashedOnLayer() to be able to handle multi-layer queries. 2023-04-14 10:59:10 +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 router: extend dump format to support automatic regressions tests of interactive routing scenarios 2022-10-31 11:17:31 +01:00
pns_shove.cpp PNS: Don't use clearance epsilon for calculating shove distances 2023-05-11 20:48:46 +00:00
pns_shove.h router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_sizes_settings.cpp
pns_sizes_settings.h Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
pns_solid.cpp Cleanup printf bits 2023-05-07 19:02:02 +03:00
pns_solid.h Holes need a parent. 2023-05-08 14:51:47 +01:00
pns_tool_base.cpp Ease acquisition of a target item. 2023-04-09 23:13:44 +01:00
pns_tool_base.h router: Allow highlighting both DP nets when routing. 2022-12-06 05:24:23 +03:00
pns_topology.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_topology.h router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_tune_status_popup.cpp Improve contrast of status popup text on Mac. 2022-09-04 21:08:01 +01:00
pns_tune_status_popup.h
pns_utils.cpp router: hole as first class objects, wip 2023-04-14 00:09:56 +01:00
pns_utils.h router: hole as first class objects, wip 2023-04-14 00:09:56 +01:00
pns_via.cpp Use Net() accessor uniformly; init hole parent in VIA::Clone() 2023-04-28 18:33:27 +01:00
pns_via.h Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_walkaround.cpp router: hole as first class objects, wip 2023-04-14 00:09:56 +01:00
pns_walkaround.h router: allow caller to override the 'safety' length limit in WALKAROUND 2022-10-31 11:17:32 +01:00
range.h
ranged_num.h
router_preview_item.cpp Add PNS::ITEM::BoardItem() call. 2023-04-14 10:09:03 +01: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 Fix diff pair router checking of min clearance 2023-01-31 19:53:35 -05:00
router_tool.h Re-entrancy guard for router tool. 2022-10-17 13:21:07 +01:00
time_limit.cpp
time_limit.h