kicad/pcbnew/router
Roberto Fernandez Bautista 3f73d8c2b5 SHAPE_LINE_CHAIN::Area() should always be positive
The algorithm relied on the assumption that the points were
ordered anti-clockwise. When ordered in a clockwise fashion, the
result was correct but negative.

Refer to https://www.mathopenref.com/coordpolygonarea2.html
for more information.
2021-07-03 19:37:50 +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 Add length tuner settings to toolbar context menu 2021-05-12 02:34:52 +00: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 PNS: Fix visible area restriction 2021-04-10 16:13:08 -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 Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00:00
pns_component_dragger.cpp router: rework router's debugging infrastructure to be more compatibile with the 'qa/pns/pns-log-viewer' tool. 2021-05-29 00:13:24 +02:00
pns_component_dragger.h Trim includes (and use consistent terminology in error messages). 2021-03-21 20:15:47 +00:00
pns_debug_decorator.h Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
pns_diff_pair.cpp PNS: Use existing seg direction if both DP segs are parallel 2021-04-12 22:34:13 -04:00
pns_diff_pair.h Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
pns_diff_pair_placer.cpp PNS: Fix diff pair handling of microvias as start items 2021-05-30 15:51:28 -04:00
pns_diff_pair_placer.h PNS: keep last valid diff pair trace as current state 2021-04-14 23:21:10 -04:00
pns_dp_meander_placer.cpp router: rework router's debugging infrastructure to be more compatibile with the 'qa/pns/pns-log-viewer' tool. 2021-05-29 00:13:24 +02: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 Refactor SHAPE_LINE_CHAIN to allow two shapes per point 2021-07-03 19:37:50 +00: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 Implement hole clearance and hole-to-hole clearance in router. 2021-01-01 00:31:36 +00:00
pns_index.h Formatting. 2021-01-04 19:19:55 +00:00
pns_item.cpp Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
pns_item.h router: introduce concept of 'virtual' vias as a base for shoving/dragging joints of lines of different widths. 2021-06-03 22:44:53 +02:00
pns_itemset.cpp PNS: fix some weirdness identified by PVS 2021-04-07 23:16:56 -04:00
pns_itemset.h PNS: fix some weirdness identified by PVS 2021-04-07 23:16:56 -04:00
pns_joint.h Fix uninitialized member warnings 2021-05-30 20:01:01 -04:00
pns_kicad_iface.cpp Add feedback showing current router state to the message panel 2021-07-03 13:21:51 -04:00
pns_kicad_iface.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
pns_layerset.h Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
pns_line.cpp Refactor SHAPE_LINE_CHAIN to allow two shapes per point 2021-07-03 19:37:50 +00: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 Refactor SHAPE_LINE_CHAIN to allow two shapes per point 2021-07-03 19:37:50 +00:00
pns_line_placer.h Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
pns_link_holder.h Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
pns_linked_item.h pcbnew: Adding arcs to PNS 2020-02-21 16:11:41 -08:00
pns_logger.cpp Fix compile issues on clangd. 2021-06-03 23:41:06 +01:00
pns_logger.h router: LOGGER now stores UUIDs, not pointers to BOARD_ITEMs. 2021-06-03 22:44:53 +02:00
pns_meander.cpp Meander minimum spacing can be equal to track width + minimum clearance 2021-06-29 19:30:01 +01:00
pns_meander.h Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
pns_meander_placer.cpp Refactor SHAPE_LINE_CHAIN to allow two shapes per point 2021-07-03 19:37:50 +00: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 Meander minimum spacing can be equal to track width + minimum clearance 2021-06-29 19:30:01 +01:00
pns_meander_placer_base.h Meander minimum spacing can be equal to track width + minimum clearance 2021-06-29 19:30:01 +01:00
pns_meander_skew_placer.cpp PNS: Set tuned path correctly in skew tuner 2021-07-03 14:06:30 -04: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 SHAPE_LINE_CHAIN::Area() should always be positive 2021-07-03 19:37:50 +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 Refactor SHAPE_LINE_CHAIN to allow two shapes per point 2021-07-03 19:37:50 +00:00
pns_node.h router: support for drag/walkaround/shove for joints between lines of different widths. 2021-06-03 22:44:53 +02:00
pns_optimizer.cpp Refactor SHAPE_LINE_CHAIN to allow two shapes per point 2021-07-03 19:37:50 +00:00
pns_optimizer.h router: introduce concept of a root lines in the OPTIMIZER. 2021-04-27 14:13:16 +02:00
pns_placement_algo.h Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
pns_router.cpp Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
pns_router.h PNS: Grab start item based on clearance if no direct hits found 2021-06-06 14:57:52 -04:00
pns_routing_settings.cpp router: improve the feel of the walkaround algorithm 2021-05-29 00:13:24 +02:00
pns_routing_settings.h router: improve the feel of the walkaround algorithm 2021-05-29 00:13:24 +02:00
pns_segment.h Repair ARC copy constructor. 2020-11-01 00:10:08 +00:00
pns_shove.cpp router: even more debug in SHOVE 2021-06-03 22:44:53 +02:00
pns_shove.h Fix uninitialized member warnings 2021-05-30 20:01:01 -04: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 Error message cleanup. 2021-06-26 22:53:24 +01:00
pns_solid.h Initialize variables properly 2021-01-18 18:35:10 +00:00
pns_tool_base.cpp PNS: Grab start item based on clearance if no direct hits found 2021-06-06 14:57:52 -04:00
pns_tool_base.h Push shared parts of GRID_HELPERs into common. 2021-01-16 23:18:10 +00:00
pns_topology.cpp Fix off-by-one in AssembleTuningPath 2021-07-03 14:37:52 -04:00
pns_topology.h Update PNS length tuning algorithm to match the new BOARD algorithm 2021-04-04 20:27:22 -04: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 Remove magic numbers where possible 2021-06-07 13:56: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 Remove magic numbers where possible 2021-06-07 13:56:31 -07:00
pns_via.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
pns_walkaround.cpp PNS: Limit the maximum walkaround distance factor 2021-06-06 16:03:03 -04: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 Cleanup track.h includes 2021-06-06 09:06:55 -04:00
router_preview_item.h router: rework router's debugging infrastructure to be more compatibile with the 'qa/pns/pns-log-viewer' tool. 2021-05-29 00:13:24 +02:00
router_tool.cpp Add feedback showing current router state to the message panel 2021-07-03 13:21:51 -04:00
router_tool.h Add feedback showing current router state to the message panel 2021-07-03 13:21:51 -04:00
time_limit.cpp Move PNS router code into namespace PNS 2016-09-06 16:06:06 +02:00
time_limit.h Cleanup: Replace C-only deprecated headers 2019-12-05 11:03:15 -08:00