jean-pierre charras
9723b0d844
Fix a few minor coverity warnings (not initialized members)
2017-11-11 07:25:00 +01:00
Marvin Schmidt
69974b73db
Remove some extra semicolons
2017-11-09 19:52:18 +01: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-pierre charras
78ec983632
DRAWSEGMENT fix crash when trying to copy a empty polygon.
...
SHAPE_POLY_SET: fix crash in VertexCount when it is a empty poly set, or when params are incorrect.
minor other fixes:
warning in degug mode in dialog_dxf_import_base.cpp
pcb_painter.cpp: remove a useless debug line.
2017-10-25 09:39:26 +02:00
Tomasz Włostowski
d2c9a5d81a
geometry: Area() method in SHAPE_LINE_CHAIN
2017-10-19 23:14:36 +02:00
jean-pierre charras
b8c621a991
fix a few Coverity warnings.
2017-08-06 14:23:03 +02:00
Tomasz Włostowski
655d851d48
Fixed point-in-polygon test bugs. Connectivity now correctly recognizes zone outlines that have non-zero width
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
3b16d3cffe
further DLIST/Iterators cleanup, some code formatting
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
9ad886344b
New connectivity algorithm.
2017-06-23 11:12:36 +02:00
jean-pierre charras
1466d0cee6
Fix a few doxygen warnings
2017-06-18 09:18:41 +02:00
Alejandro García Montoro
1a75d9979f
Modify comments in shape_line_chain.h that described the old reference-wise behaviour of SEG class
2017-04-17 11:17:13 +02:00
jean-pierre charras
88105f891f
Fixes Pcbnew bug: Drag Zone Outlines no longer working in legacy view
2017-04-16 18:32:47 +02:00
Miles McCoo
b321efffaf
Minor Pcbnew Python scripting fix to expose SHAPE_POLY_SET interface
...
The recent refactoring work to move zones from CPolyLine to
SHAPE_POLY_SET resulted in a reduction in pcbnew's python
capabilities. This change exposed SHAPE_POLY_SET to restore
that functionality (albeit with slightly different method names)
2017-04-14 10:23:42 -04:00
jean-pierre charras
cbb5708c36
seg.h: revert to version just before commit f68ce306bd
, and update a few outdated comments.
2017-04-14 14:56:56 +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
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
ba9576b014
router: snap to clearance boundaries in Highlight Collisions mode
...
Fixes: lp:1655819
* https://bugs.launchpad.net/kicad/+bug/1655819
2017-01-19 17:47:15 +01:00
Simon Richter
ad088db6d2
Add more "override" markers.
2016-09-25 13:59:41 -04:00
Simon Richter
59c81976dc
Explicitly mark overriding functions.
2016-09-24 14:53:15 -04:00
Chris Pavlina
4b6d28333e
Revert "Memoize SHAPE_LINE_CHAIN bounding box computation"
...
This reverts commit 30566de69a
, which
caused some issues in PNS.
2016-09-01 12:09:06 -04:00
Chris Pavlina
30566de69a
Memoize SHAPE_LINE_CHAIN bounding box computation
...
For a specific project+system combination, this gives a 38% speedup on
the pcbnew side of netlist sync.
2016-08-11 09:34:58 -04:00
jean-pierre charras
63decd70e6
Minor fixes: Fix a few shadowed local variables, and deprecated warnings is a few dialogs generated by wxFormbuilder (using a very recent wxFormbuilder version, after apr 25, 2016)
2016-05-06 17:15:30 +02:00
jean-pierre charras
4a838fb8c3
Pcbnew: Add rounded rect pad shape.
2016-04-06 20:15:49 +02:00
Tomasz Wlostowski
0fa71d8d8f
more accurate pushout force calculation for circle-segment collisions
2016-03-01 14:26:08 +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
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
Maciej Suminski
65ebfe12c1
Fixed oval pads highlighting in mark collisions mode (PNS).
2015-08-10 17:50: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
jean-pierre charras
4b4d9d9770
Plot solder mask layer: fix incorrect margin of zones drawn on this layer (zone areas were slighly larger than the actual areas)
...
Fix a few minor and very minor other issues: coverity warnings and compil warning.
2015-08-01 12:20:23 +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
Tomasz Włostowski
24170f5588
Fixes to SHAPE_POLY_SET slitting/fracturing algo, some speed optimization.
2015-07-06 15:15:48 +02:00
Tomasz Wlostowski
506e8c4d89
added missing file
2015-07-02 16:11:02 +02:00
Mathias Grimmberger
7724c581fd
router: support for non-90 degree pad orientations
2015-07-02 16:09:43 +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
7e4bc6262c
common/geometry: added AllowDuplication option for adding vertices to a SHAPE_LINE_CHAIN
2015-06-12 17:11:56 +02:00
Tomasz Wlostowski
9cf885c383
common/geometry: rouding error fixes
2015-06-12 17:11:50 +02: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
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
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
jean-pierre charras
24f516f6ae
Fix many doxygen warnings (due to missing info, old comments, typo ...) when building the doxygen doc.
2014-11-02 17:25:04 +01:00
Maciej Sumiński
46020e20de
Merged the new Interactive Push and Shove router.
...
Do not pay attention to add/remove files - it seems there may be a bug in git-bzr-ng plugin. I have checked them, they stayed exactly the same as before.
2014-05-18 17:16:59 +02:00