34 Commits

Author SHA1 Message Date
Jeff Young
9c7c05c161 Mostly formatting cleanup but a few type-casting cleanups too. 2020-11-24 22:16:41 +00:00
Seth Hillbrand
8c19b4b6ae pcbnew: Adding arcs to PNS
This is allows ARCs in tracks to be synchronized with
the PNS router.  Note this does not yet include the UI components
to route curved traces
2020-02-21 16:11:41 -08:00
Seth Hillbrand
eb3d32f967 SHAPE_LINE_CHAIN: Unify constructors
Keeps the multi element SHAPE_LINE_CHAIN constructors in a single
routine using std::vector and implicit construction.
2019-12-12 13:54:48 +00:00
Seth Hillbrand
c4d853c1e8 SHAPE_LINE_CHAIN: Remove element access
This is the first step to allowing non-segments in the line chain.
External routines cannot be allowed to change the line chain without
going through the internal routines.  To accomplish this, we remove the
Vertex() and Point() access routines and only leave the const versions.
Transformations are given for both points as well as the chain itself.
2019-12-12 13:54:48 +00:00
Seth Hillbrand
b5f021ff9f Cleanup: Replace push_back with emplace_back
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Tomasz Włostowski
bdc64ff0b3 router: DP_GATEWAYS::FilterByOrientation() should have exactly opposite filtering condition!
Fixes: lp:1797914
* https://bugs.launchpad.net/kicad/+bug/1797914
2018-10-18 14:29:19 +02:00
Seth Hillbrand
1a6f039bb5 pcbnew: Fix minor miscalculation in dp length
The commonParallellProjection had an odd ordering of parameters that was
not followed by callers.  This corrects the ordering to standard for
each.
2018-10-09 05:37:48 -07:00
Seth Hillbrand
77eeda4191 pcbnew: fix pad distance calc in gateways
The pad distance was fixed to 0, making the gateway priority set
artificially to 1
2018-10-08 09:53:47 -07:00
Seth Hillbrand
b3db6572e8 pcbnew: diff pair filter bugfix
Added required action on the std::remove_if construct to erase elements
matching the filter
2018-06-29 13:05:44 -07:00
Camille
f5f7ba4746 Fix loop variable copy in for-range loop, use const reference instead 2018-01-09 19:18:44 -05:00
Camille
9ff66a5274 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
Tomasz Włostowski
9932ff32ae 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
Jean-Samuel Reynaud
885a4c1bc5 Avoid an infinite loop in PNS
Fixes: lp:1702485
* https://bugs.launchpad.net/kicad/+bug/1702485
2017-07-06 16:44:33 +02:00
John Beard
1fd503bf58 Move DIRECTION45 to common/geometry
This class is useful for generic geometric layout of 45-deg constrained
line chains, not only in the PNS router.
2017-03-22 15:23:09 +01:00
Tomasz Włostowski
0a55d8e053 Fixed differential pair gap clearance error when gap equaled minimum clearance.
Fixes: lp:1533551
* https://bugs.launchpad.net/kicad/+bug/1533551
2017-03-11 20:57:59 +01:00
decimad
6c749e0ba8 Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
decimad
4cf44d9725 Rename pns item kind constants in preparation for renaming pns classes 2016-09-06 16:06:06 +02:00
decimad
de6281e977 Move PNS router code into namespace PNS
update copyright messages
2016-09-06 16:06:06 +02:00
Maciej Suminski
0ef866ee74 Code formatting 2016-08-15 17:16:53 +02:00
Tomasz Wlostowski
a2ac1cd087 P&S: cleaner placement of DP segments/vias. Speed improvements too. 2016-08-15 17:16:49 +02:00
Simon Richter
1b2fd6a382 Replace BOOST_FOREACH with C++11 range based for. 2016-06-29 16:07:55 -04:00
Simon Richter
96ec9db5d6 Add missing C++ stdlib headers
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
Maciej Suminski
2607497b37 Code formatting. 2015-10-05 18:28:41 +02:00
Tomasz Wlostowski
9da18f6db6 router: fix ortho snap mode for diff pairs 2015-08-20 09:46:19 +02:00
Maciej Suminski
7650b0e8ad Minor code cleaning (PNS). 2015-07-24 09:42:46 +02:00
jean-pierre charras
49fac351ab Fix a few coverity warnings. 2015-06-15 16:01:43 +02:00
Maciej Suminski
721949b50e Fix memory leak in pns_node and pns_line_placer. Fix coverity uninitialized warnings. 2015-03-10 15:38:27 +01:00
Maciej Suminski
e6a10faab7 FIxed a few clang warnings. 2015-03-09 11:06:54 +01:00
Tomasz Wlostowski
5f1c9060ac P&S router: fix unguarded boost optional derefernce. (fixes lp:1427880) 2015-03-03 20:16:14 -05:00
Maciej Suminski
a6bd3314e4 Fixed warnings. 2015-03-03 12:59:26 +01:00
Tomasz Włostowski
385d3648d6 router: removed some printfs() 2015-03-03 10:36:44 +01:00
Tomasz Włostowski
3f015705ac working on shove fix for DPs 2015-02-26 16:34:10 +01:00
Maciej Suminski
4fb9bce354 Code formatting. 2015-02-18 17:53:46 +01:00
Tomasz Włostowski
112adccbcb router: differential pairs & length tuning support 2015-02-18 01:29:54 +01:00