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
Maciej Suminski
aadcd93ab5
Removed a redundant field in RN_NODE class.
2015-06-05 17:49:01 +02:00
Maciej Suminski
e86351b1b0
Fixed ratsnest for tracks with 0 length.
2015-06-05 17:49:01 +02:00
Maciej Suminski
fa421f15d8
Clearer dynamic ratsnest (for moved items).
2015-06-05 17:49:00 +02:00
Maciej Suminski
16db8e644b
Logical operators for ratsnest node filters.
2015-06-05 17:49:00 +02:00
Maciej Suminski
6cc535f27f
Less significant changes to the ratsnest code (GAL).
2015-06-05 17:49:00 +02:00
Maciej Suminski
c23adc47b7
Ratsnest algorithm distinguishes layers (GAL).
2015-06-04 14:54:08 +02:00
Maciej Suminski
a12ea29de8
Refactored the way zones are kept in ratsnest model (GAL).
2015-06-04 14:54:07 +02:00
Maciej Suminski
a2b8ab6b41
Ratsnest fix (GAL).
2015-06-04 14:54:07 +02:00
Maciej Suminski
0331d9958a
Minor optimization for ratsnest.
2015-06-04 14:54:06 +02:00
Maciej Suminski
d18ed945c9
Do not run OpenMP loops when there is no data to
2015-04-30 10:46:06 +02:00