kicad/pcbnew/router
Seth Hillbrand 0de25e557b pcbnew: Adjust drag snapping to avoid start
When dragging, you will seldom want to snap to the original item.  This
commit prevents the "size of track" snap to the original item and
replaces it with an auxilary grid origin for the snap.  This means
effectively that the snap will happen to grid for the original item
unless the cursor is closer to the original item line than it is to the
grid crossing.

Fixes: lp:1820248
* https://bugs.launchpad.net/kicad/+bug/1820248
2019-03-16 20:37:14 -07:00
..
CMakeLists.txt Build: libpolygon provides its own includes 2019-02-04 19:29:31 -08:00
length_tuner_tool.cpp pcbnew: disable autopanning when cursor entered auto-pan margin following a keyboard cursor move command 2018-12-23 18:58:12 +01:00
length_tuner_tool.h Prevent creating too many transitions by TOOL_MANAGER 2017-07-31 15:09:19 +02:00
pns_algo_base.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_algo_base.h Coverity fixes 2017-03-11 22:20:08 +01:00
pns_debug_decorator.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_diff_pair.cpp router: DP_GATEWAYS::FilterByOrientation() should have exactly opposite filtering condition! 2018-10-18 14:29:19 +02:00
pns_diff_pair.h Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
pns_diff_pair_placer.cpp router: Take track width in dp from dp 2019-02-04 03:48:08 +01:00
pns_diff_pair_placer.h router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click 2018-06-19 19:30:03 +02:00
pns_dp_meander_placer.cpp router: don't cross DP lines when length tuning, fix swap pair polarity bug 2018-10-18 13:48:43 +02:00
pns_dp_meander_placer.h router: don't cross DP lines when length tuning, fix swap pair polarity bug 2018-10-18 13:48:43 +02:00
pns_dragger.cpp pcbnew: Do not allow drag to violate DRC without permission 2018-09-27 13:08:22 -07:00
pns_dragger.h Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_index.h Initial support for keepout zones in the P&S router. 2018-02-06 09:43:56 +01:00
pns_item.cpp router: treat negative net indices as always colliding 2018-02-17 18:25:20 +01:00
pns_item.h router: don't create incorrect non-45 degree connections when routing a track that doesn't have a net assigned 2019-02-03 12:37:27 +01:00
pns_itemset.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_itemset.h Code cleanup: Fixing assignment operators 2018-09-20 20:15:47 -07:00
pns_joint.h Revert "pcbnew: Adding copy constructors to PNS items" 2018-10-09 14:50:20 -07:00
pns_kicad_iface.cpp Pcbnew: add a new primitive pad shape: chamfered round rect pad. 2019-03-11 10:26:15 +01:00
pns_kicad_iface.h Implement DRC for PCB & module copper items in PNS router. 2018-08-27 18:38:56 +01:00
pns_layerset.h Code cleanup: Fixing assignment operators 2018-09-20 20:15:47 -07:00
pns_line.cpp router: correct walkaround corner case when both ends of the line lie on the hull edge 2019-02-03 11:22:18 +01:00
pns_line.h Code cleanup: Fixing assignment operators 2018-09-20 20:15:47 -07:00
pns_line_placer.cpp pcbnew: router: fix non-45 degree tail merge in LINE_PLACER 2019-03-04 18:33:10 +01:00
pns_line_placer.h router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click 2018-06-19 19:30:03 +02:00
pns_logger.cpp Setting custom pad shape to be outline for PNS 2018-05-04 08:23:20 -07:00
pns_logger.h Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
pns_meander.cpp Fix a bug in how we check for differential pair tuning. 2018-05-21 13:49:40 +01:00
pns_meander.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_meander_placer.cpp Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_meander_placer.h Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_meander_placer_base.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_meander_placer_base.h Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_meander_skew_placer.cpp Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_meander_skew_placer.h Eradicate g_userUnit from router. 2018-07-17 15:12:26 +01:00
pns_node.cpp pcbnew: Code formatting 2018-10-04 08:17:48 -07:00
pns_node.h pcbnew: Set dp clearance based on netclass 2018-06-18 14:23:25 -07:00
pns_optimizer.cpp Adjusting the breakout optimizer for custom pads 2018-05-04 08:23:20 -07:00
pns_optimizer.h Adjusting the breakout optimizer for custom pads 2018-05-04 08:23:20 -07:00
pns_placement_algo.h router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click 2018-06-19 19:30:03 +02:00
pns_router.cpp pcbnew: Enforce router settings 2019-02-23 08:19:50 -08:00
pns_router.h router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click 2018-06-19 19:30:03 +02:00
pns_routing_settings.cpp Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_routing_settings.h Change "Automatic neckdown" to "Optimize pad connections". 2018-02-15 17:02:44 +01:00
pns_segment.h Revert "pcbnew: Adding copy constructors to PNS items" 2018-10-09 14:50:20 -07:00
pns_shove.cpp router: allow placing via without track in shove mode 2018-05-08 15:18:10 +02:00
pns_shove.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_sizes_settings.cpp Honour diff-pair dimension changes while routing. 2018-09-18 20:37:00 +01:00
pns_sizes_settings.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_solid.cpp Setting custom pad shape to be outline for PNS 2018-05-04 08:23:20 -07:00
pns_solid.h Revert "pcbnew: Adding copy constructors to PNS items" 2018-10-09 14:50:20 -07:00
pns_tool_base.cpp pcbnew: Adjust drag snapping to avoid start 2019-03-16 20:37:14 -07:00
pns_tool_base.h pcbnew: Adjust drag snapping to avoid start 2019-03-16 20:37:14 -07:00
pns_topology.cpp pcbnew: Fix minor miscalculation in dp length 2018-10-09 05:37:48 -07:00
pns_topology.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_tune_status_popup.cpp colors: Add HSL conversion and tune colors 2019-02-11 22:08:41 -08:00
pns_tune_status_popup.h Bring PICKER_TOOL in line with other tools. 2018-08-23 00:58:01 +01:00
pns_utils.cpp Setting custom pad shape to be outline for PNS 2018-05-04 08:23:20 -07:00
pns_utils.h Setting custom pad shape to be outline for PNS 2018-05-04 08:23:20 -07:00
pns_via.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_via.h Revert "pcbnew: Adding copy constructors to PNS items" 2018-10-09 14:50:20 -07:00
pns_walkaround.cpp router: prevent a very unlikely infinite loop in PNS::LINE::Walkaround() causing an OOM&segfault 2018-05-02 15:06:08 -07:00
pns_walkaround.h Add more "override" markers. 2016-09-25 13:59:41 -04:00
range.h Code formatting. 2015-02-18 17:53:46 +01:00
ranged_num.h Code formatting. 2015-02-18 17:53:46 +01:00
router_preview_item.cpp Fix segfault when routing. 2018-10-09 11:08:56 +01:00
router_preview_item.h Display clearance for routed tracks (GAL) 2017-01-27 19:11:12 +01:00
router_tool.cpp pcbnew: Adjust drag snapping to avoid start 2019-03-16 20:37:14 -07:00
router_tool.h pcbnew: Break track in edit mode 2018-12-14 09:59:25 -08:00
time_limit.cpp Move PNS router code into namespace PNS 2016-09-06 16:06:06 +02:00
time_limit.h Move PNS router code into namespace PNS 2016-09-06 16:06:06 +02:00