Commit Graph

63 Commits

Author SHA1 Message Date
jean-pierre charras 731f785256 Fix erroneous calculation of segments by circle count in shape_poly_set.cpp Inflate method. 2016-01-14 12:37:09 +01:00
jean-pierre charras 178cf0dc25 Polygon calculation (zones filling): use fast mode when possible (in fact most of time) and strictly simple polygon option only in critical cases (in fact in plot Gerber functions mainly).
In polygon calculations (combining polygons, fracture) the mode of calculation (fast or strictly simple polygon option) as no more a default value, because choosing the best mode is better to optimize the calculation time.
2015-12-15 21:21:25 +01:00
unknown 276a923027 SHAPE_POLY_SET: fix segfault when checking for a point in empty polyset 2015-09-02 08:32:24 +02:00
Mario Luzeiro 61f4f1ca9d Add hole count function and other minor improvements to SHAPE_POLY_SET. 2015-08-24 09:55:22 -04:00
Tomasz Wlostowski a96299d456 router: improvements to shove algorithm 2015-08-19 18:07:16 +02:00
jean-pierre charras c63f6aa3c5 Polygon boolean operations on SHAPE_POLY_SET: Add a parameter (aFastMode) to speed up calculations. By default, the transforms use an option to create stricly simple polygons.
In 3D viewer, this option can take a *very long* calculation time (minutes instead of seconds, or hangs) and they are now using aFastMode = true to do polygon calculations, especially for zones inside zones belong to the same net but having different priority (which creates weak polygons).
aFastMode = false is the default for other calculations (zone filling) as before.
2015-08-16 14:07:58 +02:00
jean-pierre charras 7a51a502b4 3D viewer: optimizations in code to build the 3D view.
Remove no more used code.
Building the 3D view is now faster.
2015-08-10 17:17:10 +02:00
Tomasz Wlostowski 07f5516e59 geometry: Parse() method for SHAPE_LINE_CHAIN, working on Read() in SHAPE_FILE_IO 2015-08-03 20:29:44 +02:00
Tomasz Wlostowski 037772fe3c Corrected SHAPE_POLY_SET::pointInPolygon() return value. 2015-08-03 10:45:30 +02:00
jean-pierre charras b0585253c3 Avoid creation of the zones_dump.txt file each time the zones are re-filled, when this option is not enabled. 2015-08-02 19:39:24 +02:00
Simon Richter b35ad79d7b Disambiguate fabs() cast. 2015-07-31 08:15:42 -04:00
Tomasz Wlostowski fb29373b4c fix hang in fracturing algorithm 2015-07-30 13:49:22 +02:00
jean-pierre charras 32f0ea621f Shape poly set: fix bug in BBox calculation. Class MARKER : fix broken code and clean code. Fix bug #1369682 (EESchema Erc not show error count) due to this broken code. 2015-07-29 14:18:53 +02:00
Tomasz Wlostowski 1d7e49a45c SHAPE_POLY_SET::Inflate(): correct arc approximation for negative offsets (deflation). Control circle->segments count explicitly in all Inflate() calls 2015-07-27 21:46:47 +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 d2ebf688f9 Reverted commits that remove boost::polygon dependency (need more testing). 2015-07-14 22:23:13 +02:00
Tomasz Wlostowski 9f18e5a98f SHAPE_POLY_SET::Inflate(): correct arc approximation for negative offsets (deflation). Control circle->segments count explicitly in all Inflate() calls 2015-07-14 15:05:41 +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 f2785d35bf Muting Coverity report. 2015-07-07 18:37:03 +02:00
jean-pierre charras 169905d26e Drc dialog: fix some issues, and mainly the fact the progress bar shown during track tests and zone filling can be sent to the background and the dialog can be closed during tests or the board edited during tests.
Add a minor change in dialog_shim only for OSX. (force raising the dialog).
Very minot other fixes: coverity warnings, better message in debug mode in baord outlines calculations.
2015-07-07 19:49:03 +02:00
Tomasz Włostowski 24170f5588 Fixes to SHAPE_POLY_SET slitting/fracturing algo, some speed optimization. 2015-07-06 15:15:48 +02:00
Mathias Grimmberger 7724c581fd router: support for non-90 degree pad orientations 2015-07-02 16:09:43 +02:00
Chris Pavlina ada5274b28 Remove some unused variables. 2015-06-26 19:29:01 -04:00
unknown 97010c3867 Fix Bug 146731: Zone fills entire area when set to THT Thermal ( fracturing (holes->single contour) algorithm bug ) 2015-06-22 09:09:44 +02:00
Tomasz Wlostowski e8fca89a2c fix dereference of a deleted pointer 2015-06-19 19:39:33 +02:00
jean-pierre charras 49fac351ab Fix a few coverity warnings. 2015-06-15 16:01:43 +02:00
Tomasz wlostowski eba3a55bb2 pcbnew: new zone filling algorithm using ClipperLib. Possibility to fall back to the old one 2015-06-12 17:13:18 +02:00
Tomasz Wlostowski feaa403266 common/geometry: introducing set-of-polygons class (SHAPE_POLY_SET) and File I/O for shapes class (SHAPE_FILE_IO) 2015-06-12 17:12:02 +02:00
Tomasz Wlostowski 9cf885c383 common/geometry: rouding error fixes 2015-06-12 17:11:50 +02:00
Maciej Suminski c23adc47b7 Ratsnest algorithm distinguishes layers (GAL). 2015-06-04 14:54:08 +02:00
jean-pierre charras bbbb84e6c2 Fix a few minor coverity warnings.
Fix minor 3D viewer issues (includling change number of segments and its optimization to draw pad holes.)
Fix Bug #1439132 (track and via list on toolbar not always refresh after loading a board).
Remove useless tool in Modedit.
2015-04-02 13:18:19 +02:00
Maciej Suminski b6c5b291a2 Coverity fixes. 2015-03-11 14:17:43 +01:00
Maciej Suminski e6a10faab7 FIxed a few clang warnings. 2015-03-09 11:06:54 +01:00
Alexander Golubev f2ce42ddb5 fix several -Woverloaded-virtual warnings in common/* dir
- CACHED_CONTAINER::GetVertices: removed useless and unused function
   which does nothing but tainted the API
 - SHAPE_LINE_CHAIN::Collide( const BOX2I& aBox, int aClearance ):
   removed an outdated function with assert(false)
 - SHAPE::BBox(): fix a small typo in the doc string
2015-03-06 15:26:47 +01:00
Maciej Suminski a6bd3314e4 Fixed warnings. 2015-03-03 12:59:26 +01:00
Maciej Suminski 0dd9efd9db Merged the differential pair router & length tuning tool. 2015-03-03 11:50:50 +01:00
Tomasz Wlostowski f0e7363f88 SHAPE_LINE_CHAIN: fix segfault 2015-02-20 10:37:25 +01:00
Maciej Suminski 4fb9bce354 Code formatting. 2015-02-18 17:53:46 +01:00
Tomasz Włostowski c87b136522 geometry: new methods and fixes in SEG class 2015-02-18 00:40:11 +01:00
jean-pierre charras c27b2fbf4c Fix issues in fp lib table wizard 2015-01-16 09:10:23 +01:00
Maciej Suminski 9245b90392 Code formatting. 2014-11-14 20:19:00 +01:00
Tomasz Wlostowski 33f3aca611 geometry: IsSolid() and Move() methods, segment overlap detection, some improvements in SHAPE_LINE_CHAIN class. 2014-11-14 19:18:31 +01:00
Tomasz Wlostowski 4e280f065f P&S router: fixed shove force propagation incorrect issues causing improper via dragging. 2014-11-14 19:17:52 +01:00
Tomasz Wlostowski 4e67de5c15 P&S router bugfixes
- fixed walkaround bug causing unwanted overlap/clearance violation when the first segment of trace being laid intersects the obstacle's hull at the same point twice (ie. goes in, turns around and goes out).
- fixed placer bug not splitting the start segment after toggling via placement or changing trace width
2014-11-14 19:17:01 +01:00
Wayne Stambaugh e8362df15f Add missing source file licenses and code policy fixes. 2014-10-19 16:20:16 -04:00
jean-pierre charras fb590c7231 Fix PCB Module Editor Help Error.
Remove a minor compil warning in shape_collisions.cpp
2014-09-09 18:46:12 +02:00
Maciej Suminski cce6e27096 Various fixes to geometry & math library. 2014-05-14 11:45:01 +02:00
Maciej Suminski 6fa2f060fa Formatted ttl library to comply with KiCad coding policy. 2014-04-07 13:32:09 +02:00
Maciej Suminski c557e52dab Squashed memory leaks. 2014-03-05 14:57:14 +01:00
Maciej Suminski 1d4c6ad40e Minor optimizations. 2014-02-05 14:51:19 +01:00