kicad/pcbnew/router
Jeff Young b442d769fd Don't allow collisions with self.
The previous test didn't handle is-self-tests between a hole and
its override in a different NODE.  When calculating the pushout
force we don't remove the via (and its hole) from the current
node until after the calculation, so we end up checking for
collisions between the new (cloned) via's hole and the original
hole in the root node.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14795
2023-05-23 14:10:22 +01:00
..
CMakeLists.txt router: further changes to the ownership model 2023-04-11 15:51:00 +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 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 Fix a typo. 2023-04-12 10:45:24 +01: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-04-11 15:34:55 +01:00
pns_diff_pair.h Don't steal an existing via's hole. 2023-04-11 17:48:27 +01:00
pns_diff_pair_placer.cpp router: rework ITEM ownership model. 2023-04-05 11:21:31 +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-05 11:21:31 +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:05:39 +01:00
pns_hole.h Don't allow collisions with self. 2023-05-23 14:10:22 +01: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 Don't allow collisions with self. 2023-05-23 14:10:22 +01:00
pns_item.h Don't allow collisions with self. 2023-05-23 14:10:22 +01:00
pns_itemset.cpp router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_itemset.h router: rework ITEM ownership model. 2023-04-05 11:21:31 +01:00
pns_joint.h Fix minor compil warnings 2023-04-25 12:43:15 +02:00
pns_kicad_iface.cpp Reconcile PNS router with DRC. 2023-05-21 19:58:00 +01:00
pns_kicad_iface.h Cleanup API and use text bounding box for routing. 2023-05-02 16:03:43 +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:05:39 +01:00
pns_line.h router: further changes to the ownership model 2023-04-11 15:51:00 +01:00
pns_line_placer.cpp PNS: Collision search context may be null 2023-05-14 17:20:59 -04: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-02 09:04:47 -05:00
pns_logger.h Coverity fixes and code cleaning. 2023-03-02 09:04:47 -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-05 11:21:31 +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: Account for via stack height in diff pair length tuner 2021-04-20 19:31:10 -04: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 Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00:00
pns_node.cpp Performance optimization. 2023-05-08 11:46:04 +01:00
pns_node.h Add Zone when dragging component 2023-05-06 09:32:38 +00:00
pns_optimizer.cpp Cleanup printf bits 2023-04-20 15:19:04 -07: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 PNS: Add CurrentStart() to placers. 2022-09-28 13:29:52 +00:00
pns_router.cpp Post-holes-work cleanup. 2023-04-11 15:51:00 +01:00
pns_router.h Fix PNS_KICAD_IFACE_BASE::IsFlashedOnLayer() to be able to handle multi-layer queries. 2023-04-14 12:02:36 +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 13:09:03 -04:00
pns_shove.h router: rework ITEM ownership model. 2023-04-05 11:21:31 +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 Coverity fixes and code cleaning. 2023-03-02 09:04:47 -05:00
pns_solid.cpp Cleanup printf bits 2023-04-20 15:19:04 -07:00
pns_solid.h Holes need a parent. 2023-05-08 11:41:12 +01:00
pns_tool_base.cpp Ease acquisition of a target item. 2023-04-09 22:05:17 +00: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-05 11:21:31 +01:00
pns_topology.h router: rework ITEM ownership model. 2023-04-05 11:21:31 +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 Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00: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 Tighten ownership model of PNS::ITEM. 2023-04-28 11:05:39 +01:00
pns_walkaround.cpp router: hole as first class objects, wip 2023-04-11 15:51:00 +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-11 15:51:00 +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 Add Zone when dragging component 2023-05-06 09:32:38 +00:00
router_tool.h Re-entrancy guard for router tool. 2022-10-17 13:21:07 +01:00
time_limit.cpp
time_limit.h