kicad/pcbnew/router
Jeff Young 46df421064 ADDED defined pad groups for net-tie footprints
Each pad group is allowed to short nets with other pads in its group.

Legacy footprints with the "net tie" keyword hack will get a single
group auto-created with all the footprint's pads in it.

DRC and the router now allow a track to collide with copper graphic items
while entering a net-tie pad as long as the closest point in the collision
is within the pad.

DRC (and the footprint checker) now check for copper items in the
footprint shorting pads which are not in the same pad group.

Fixes https://gitlab.com/kicad/code/kicad/issues/2265
2022-08-19 18:54:20 +01: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 router: rework the DEBUG_DECORATOR a bit: 2022-03-03 01:02:00 +01: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 router: rework the DEBUG_DECORATOR a bit: 2022-03-03 01:02:00 +01: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 PNS: Handle via-in-pad distances when tuning 2022-08-01 20:25:17 -07: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 router: rework the DEBUG_DECORATOR a bit: 2022-03-03 01:02:00 +01:00
pns_dragger.h router: support for drag/walkaround/shove for joints between lines of different widths. 2021-06-03 22:44:53 +02: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 ADDED defined pad groups for net-tie footprints 2022-08-19 18:54:20 +01:00
pns_item.h PNS: Implement HoleHull for VIA 2022-06-07 19:49:38 -04: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-12 02:49:24 +00:00
pns_kicad_iface.cpp ADDED defined pad groups for net-tie footprints 2022-08-19 18:54:20 +01:00
pns_kicad_iface.h router: move IsFlashedOnLayer to the IFACE_BASE class so that it can be used in the debugger tool 2022-06-09 00:30:57 +02:00
pns_layerset.h Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
pns_line.cpp router: remove unused LINE::Is45Degree() 2022-06-08 14:28:31 +02:00
pns_line.h router: remove unused LINE::Is45Degree() 2022-06-08 14:28:31 +02:00
pns_line_placer.cpp router: bring back the snap-to-hull behaviour in Mark Obstacles mode 2022-07-03 23:59:27 +02: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 22:03:04 +00:00
pns_linked_item.h
pns_logger.cpp More wide-string declarations. 2022-02-05 22:03:04 +00:00
pns_logger.h router: default values for LOGGER::Log() 2022-06-03 23:28:40 +02:00
pns_meander.cpp Angle cleanup. 2022-01-20 22:35:41 +00:00
pns_meander.h Angle cleanup. 2022-01-20 22:35:41 +00:00
pns_meander_placer.cpp PNS: Handle via-in-pad distances when tuning 2022-08-01 20:25:17 -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:33:59 -07:00
pns_meander_placer_base.h PNS: Handle via-in-pad distances when tuning 2022-08-01 20:25:17 -07:00
pns_meander_skew_placer.cpp PNS: Handle via-in-pad distances when tuning 2022-08-01 20:25:17 -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 router: rework the DEBUG_DECORATOR a bit: 2022-03-03 01:02:00 +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 Prevent drag index from exceeding full line count 2022-08-01 08:58:28 -07:00
pns_node.h ADDED defined pad groups for net-tie footprints 2022-08-19 18:54:20 +01:00
pns_optimizer.cpp router: rework the DEBUG_DECORATOR a bit: 2022-03-03 01:02:00 +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-07-21 16:30:28 +02:00
pns_router.h router: return routing status from ROUTER::Move() 2022-06-03 23:28:41 +02: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 router: remove some old cruft from the WALKAROUND class 2022-06-03 23:28:41 +02:00
pns_shove.h router: shove algorithm now considers cases where a small via sits 'inside' a fanout of wide (width > via diameter) segments. 2022-06-03 23:28:41 +02: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-04 00:04:03 -04:00
pns_solid.h Finish with EDA_ANGLE. 2022-01-16 21:15:40 +00:00
pns_tool_base.cpp Fix highlight on route again 2022-07-08 20:14:46 -07:00
pns_tool_base.h Improve SNR. 2022-02-12 18:38:11 +00:00
pns_topology.cpp PCB: Finish Route, Route From End 2022-08-17 03:15:46 +00:00
pns_topology.h PCB: Finish Route, Route From End 2022-08-17 03:15:46 +00: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: another attempt at improving 'kink' robustness of the hull generator 2022-06-09 20:51:21 +02: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-07 19:49:38 -04:00
pns_via.h PNS: Implement HoleHull for VIA 2022-06-07 19:49:38 -04:00
pns_walkaround.cpp PNS: Use exact hulls for walkaround path generation 2022-06-04 00:04:03 -04:00
pns_walkaround.h router: remove some old cruft from the WALKAROUND class 2022-06-03 23:28:41 +02:00
range.h
ranged_num.h
router_preview_item.cpp ADDED: Display calculated clearance in status bar 2022-07-21 15:44:48 -07:00
router_preview_item.h router: use SHAPEs and PNS::ITEMs only in the ROUTER_PREVIEW_ITEM 2022-06-03 23:28:40 +02:00
router_tool.cpp PCB: Finish Route, Route From End 2022-08-17 03:15:46 +00:00
router_tool.h PCB: Finish Route, Route From End 2022-08-17 03:15:46 +00:00
time_limit.cpp
time_limit.h