kicad/pcbnew/router
Tomasz Wlostowski 7f593d3999 router: rework ITEM ownership model.
- prerequisite for holes as first class objects code
- introduced the OWNABLE_ITEM interface that defines the owning container (NODE/other ITEM/ITEM_SET)
- simplified the ITEM_SET interface
- constified a lot of APIs (ownership/JOINT management) as a side effect

Rebased and cleaned up by Jeff Young <jeff@rokeby.ie> 5 April 2023
- some STL cover types removed

(cherry picked from commit 1283c4713f)
2023-04-14 00:09:49 +01:00
..
CMakeLists.txt
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 More NULL expunging. 2021-07-20 07:27:18 -04:00
pns_algo_base.h
pns_arc.cpp
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 router: rework ITEM ownership model. 2023-04-14 00:09:49 +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 Handle more pad shapes when building diffpair gateways. 2023-04-09 23:07:38 +01:00
pns_diff_pair.h Copy via flags down to the level the router consumes. 2022-10-13 17:41:42 +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_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 router: pass collision query options in a structure 2023-04-14 00:07:47 +01:00
pns_item.h router: rework ITEM ownership model. 2023-04-14 00:09:49 +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 router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_kicad_iface.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_kicad_iface.h router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03: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 router: fix another corner case in LINE::Walkaround 2022-10-31 11:17:31 +01:00
pns_line.h router: LINE::SetShape() should update the attached via position with the last point of the new line shape 2022-10-31 11:17:32 +01:00
pns_line_placer.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01: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 router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_node.h router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_optimizer.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +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 PNS: Add CurrentStart() to placers. 2022-09-28 13:29:52 +00:00
pns_router.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_router.h router: pass collision query options in a structure 2023-04-14 00:07:47 +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 router: rework ITEM ownership model. 2023-04-14 00:09:49 +01: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 Handle more pad shapes when building diffpair gateways. 2023-04-09 23:07:38 +01:00
pns_solid.h Finish with EDA_ANGLE. 2022-01-16 21:15:40 +00: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: fix 'Bowen knot'-looking hulls for 0-length segments 2023-01-12 23:37:07 +01:00
pns_utils.h
pns_via.cpp router: more resilient via force propagation 2022-11-18 15:14:09 +01:00
pns_via.h router: improved heuristics in via force propagation algorithm 2022-10-31 11:17:32 +01:00
pns_walkaround.cpp router: pass collision query options in a structure 2023-04-14 00:07:47 +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 Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05: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