Seth Hillbrand
ac92afcf13
Clean up compile warnings
...
Ratsnest did not need a reserve and then iterative emplace. Instead, we
use resize(). Stroke font gets private vars initialized and kiway
variables that are only used in debug builds are properly scoped for
releases as well
2019-12-05 20:05:21 -08:00
Seth Hillbrand
c6f5df134c
Minor speed cleanup
...
This adjusts iterators to use const reference when only used for
copy. It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08: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
Seth Hillbrand
4460313104
pcbnew: Separating connectivity to subdir
2018-10-12 16:31:09 -07:00
Seth Hillbrand
47fac8a259
Removing some unused code
2018-09-20 12:52:53 -07:00
Seth Hillbrand
296ada95a3
Remove unused private vars
2018-05-03 09:48:15 -07:00
jean-pierre charras
1bc3dfef10
fix compil issue in kicad.i and a minor compil warning
2018-01-28 22:24:51 +01:00
Tomasz Włostowski
3456b6e3c3
pcbnew: fixed incorrect ratsnest computation when all nodes in a net are on a single line
2018-01-23 11:55:11 +01:00
Maciej Suminski
6701095855
Fixed a method returning reference to a local variable
2017-08-09 14:03:27 +02:00
Tomasz Włostowski
32185ddcd3
Multiple improvements concerning colors, configuration handling and legacy features in pcbnew:
...
- support for background color setting
- removed several global config settings (such as g_Drc_On)
- wrapped most of global config settings in PCB_GENERAL_SETTINGS class
- reorganized PCB general options dialog to clearly mark which options concern only the legacy canvas
- new GAL feature for legacy users: double-click (or E) to change track width available as an option.
Fixes: lp:1530543
* https://bugs.launchpad.net/kicad/+bug/1530543
Fixes: lp:1707145
* https://bugs.launchpad.net/kicad/+bug/1707145
2017-08-04 16:06:57 +02:00
Tomasz Włostowski
1936b45a0f
Multiple connectivity algo crash fixes:
...
- ratsnest crash on single-pad nets
- connectivity crash on adding new net codes
2017-07-01 23:55:51 +02:00
Maciej Suminski
72eff0941e
Code formatting and warning fixes
2017-06-23 19:22:44 +02:00
Maciej Suminski
74ef3ecb1d
Moved one-liners to header files
2017-06-23 18:51:00 +02:00
Maciej Suminski
3dd4429ef6
Dead code removal
2017-06-23 18:50:31 +02:00
Maciej Suminski
f3fbce9560
Code formatting and clean-up
2017-06-23 15:43:13 +02:00
Tomasz Włostowski
3cba1007eb
Removed legacy connectivity/ratsnest algorithm, replaced with the new one. No legacy autorouting for the moment
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
9ad886344b
New connectivity algorithm.
2017-06-23 11:12:36 +02:00
Alejandro García Montoro
f68ce306bd
CPolyLine -> SHAPE_POLY_SET refactor.
...
Removes the need of using the legacy code in polygon/PolyLine.{h,cpp},
refactoring all CPolyLine instances with SHAPE_POLY_SET instances.
The remaining legacy methods have been ported to SHAPE_POLY_SET;
mainly: Chamfer, Fillet, {,Un}Hatch.
The iteration over the polygon vertices have been simplified using the
family of ITERATOR classes.
2017-03-24 10:43:47 +01:00
Julius Schmidt
877a65dcc7
Fix ratsnest calculation for pads connected with zones (GAL)
...
This patch fixes a problem with GAL where zones are ignored in ratsnest
calculation.
The problem is that calling RN_DATA::Update on a zone with no polygons
(an unfilled zone) will remove the zone successfully, but then
RN_DATA::Add is a no-op.
From this point on, because ::Update refuses to work on items that have
not been ::Add'ed, the zone is removed entirely from ratsnest
calculation and will only be reconsidered once it is explicitly ::Add'ed
again.
The fix is to explicitly create an empty RN_ZONE_DATA object for every
zone that is ::Add'ed.
A second problem is that the point editor forgot to call
RN_DATA::Recalculate after calling Fill_Zone.
Fixes: lp:1537120
* https://bugs.launchpad.net/kicad/+bug/1537120
2017-02-14 00:39:41 +01:00
jean-pierre charras
fff449ecf0
Performance counter rework: Add comments, fix coding style issues.
2016-12-31 13:00:24 +01:00
Chris Pavlina
7454f5565f
Dismiss unused variable warning in ratsnest_data.cpp
2016-09-30 09:04:14 +02:00
Maciej Suminski
f2462925ec
Fixed a crash when adding/removing pads
...
Fixes: lp:1627296
* https://bugs.launchpad.net/kicad/+bug/1627296
2016-09-27 09:30:32 +02:00
Maciej Suminski
83c805e8fb
Simplified code for adding/removing items in RN_DATA
2016-09-25 19:37:51 +02:00
John Beard
6b7c2685b2
Protect against uninitialised netcodes when adding to RN_DATA
2016-09-25 19:37:51 +02:00
Maciej Suminski
61e415bdb9
Deboostified ratsnest model in GAL
2016-09-19 17:25:31 +02:00
Maciej Suminski
4ffd3c8511
Fix ratsnest after running DRC
...
Fixes: lp:1624000
* https://bugs.launchpad.net/kicad/+bug/1624000
2016-09-19 12:08:29 +02:00
Maciej Suminski
516510774c
Fixed ratsnest for nodes surrounded with zones
2016-09-13 17:13:42 +02:00
Maciej Suminski
b00ca19f41
Deboostified ratsnest algorithm.
2016-09-13 14:58:33 +02:00
Maciej Suminski
03f4a89521
More descriptive method names for RN_NODE
2016-09-13 10:06:25 +02:00
Maciej Suminski
3bcbe0dfbd
GAL ratsnest code cleanup
2016-09-12 13:45:57 +02:00
Maciej Suminski
828f28ecca
Ratsnest Add()/Remove()/Update() return true on success
2016-09-12 13:45:57 +02:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Simon Richter
da5699de0a
Replace boost::shared_ptr with std::shared_ptr.
2016-06-29 11:09:55 -04:00
Michael Steinberg
fde12ebd25
Replace boost::function and boost::bind with their std:: counterparts
2016-06-29 12:23:11 +02:00
jean-pierre charras
37deba60c3
Fix shadowed vars (in microstrip.cpp) and deprecated compil warnings.
2016-06-08 09:28:19 +02:00
Maciej Suminski
c16b66ce0c
Ratsnest does not take into account non-copper pads (GAL).
2016-02-03 11:01:00 +01:00
Andrew Zonenberg
41223a81d3
pcbnew: avoid unnecessary copy in RN_NET::processPads()
...
Saves >30% run time on ratsnest rebuild for high-fanout nets.
2016-02-01 18:13:30 -05:00
Maciej Suminski
42b598d677
Fixed missing ratsnest lines when nodes are connected to different subpolygons of a zone.
2015-10-12 11:13:16 +02:00
Maciej Suminski
3cddf14e73
Ratsnest algorithm handles items in pad areas (GAL).
2015-09-01 13:44:07 +02:00
Maciej Suminski
a813deb579
Fix a ratsnest assertion when selecting a copper connection between only 2 nodes.
2015-08-25 18:27:04 +02:00
Tomasz Wlostowski
b6f61ff676
PNS: correctly snap to offset pads
2015-08-04 12:15:47 +02:00
Maciej Suminski
73a6e95407
Ratsnest algorithm takes into account pad offset.
2015-07-31 17:40:19 +02:00
Maciej Suminski
781ac8df9f
RN_NET::GetClosestNodes() minor fix.
2015-07-30 13:49:36 +02:00
Tomasz Wlostowski
63b35f40a7
Removed all dependencies on boost::polygon except for bitmap2component. Replaced almost all instances of CPOLYGONS_LIST with SHAPE_POLY_SET.
2015-07-27 21:45:57 +02:00
Maciej Suminski
232d7462b6
Removed wrong assert.
2015-07-16 12:05:07 +02:00
Maciej Suminski
dd8f7cc4b5
Fixed crash on ratsnest calculation after a zone was removed.
2015-07-16 11:10:31 +02:00
Maciej Suminski
d2ebf688f9
Reverted commits that remove boost::polygon dependency (need more testing).
2015-07-14 22:23:13 +02:00
Tomasz Wlostowski
41c753b05d
Removed all dependencies on boost::polygon except for bitmap2component. Replaced almost all instances of CPOLYGONS_LIST with SHAPE_POLY_SET.
2015-07-14 13:36:24 +02:00
Maciej Suminski
3cb095b7c2
GAL canvases update status bar, message panel & zoom widget.
2015-07-03 20:58:12 +02:00
Maciej Suminski
a8bffb862c
Fix for disappearing ratsnest lines (GAL).
2015-06-24 00:28:21 +02:00