Ian McInerney
c27207500d
Cleanup some compiler warnings
2020-07-03 00:10:31 +01:00
Jeff Young
2cfd6ba978
Fix a couple of integer overflows.
2020-07-02 22:52:37 +01:00
Jeff Young
eb1ff80d57
SHAPE collision fixes.
...
1) An actual distance of 0 is still a collision, even if the allowed
distance is 0.
2) Be consitent about edges and interiors. Everyone expect the edge
of a RECT to be part of the RECT; same with a CIRCLE. SHAPE_POLY_SET
shouldn't be any different. (And SHAPE_LINE_CHAIN was a split-
personality with the edge considered part of it for Collide() but not
for PointInside()).
2020-07-02 21:38:37 +01:00
Seth Hillbrand
54aaade47e
'const void' is not a return type
2020-07-02 11:43:18 -07:00
Seth Hillbrand
d663be853f
Explicitly add signed/unsigned comparison to warnings
2020-07-02 10:54:34 -07:00
Jeff Young
441dfa30f0
Return individual custom pad shapes instead of a SHAPE_POLY_SET.
...
Also implements an optional pointer to return the actual distance
from all the SHAPE collision routines.
Fixes https://gitlab.com/kicad/code/kicad/issues/4774
2020-07-02 17:09:15 +01:00
jean-pierre charras
af8f05d570
Fix incorrect calculation of pad bounding box
...
Fixes #4776
https://gitlab.com/kicad/code/kicad/issues/4776
2020-07-02 11:33:07 +02:00
Jon Evans
f8bfb2bc16
Fix several issues with multilayer zones
...
- Properly refill if layer set is modified
- Fix some threading issues with island removal
- Fix copy constructor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4765
2020-07-01 20:51:44 -04:00
jean-pierre charras
bba5cfe17e
fix a minor compil warning
2020-07-01 18:52:42 +02:00
jean-pierre charras
8d18f289c7
remove a message printed only for debug/test.
2020-07-01 18:52:42 +02:00
Jeff Young
424d551054
Cache pad bounding boxes for performance.
...
Also allows us to return to a LOD test for pad numbers which treats
round and square pads the same.
2020-07-01 16:57:00 +01:00
Jeff Young
3b764d6357
Minor dialog spacing issues.
2020-07-01 16:57:00 +01:00
Jeff Young
8c4bfed001
Slight improvement on function names.
2020-07-01 16:57:00 +01:00
jean-pierre charras
3993181de5
D_PAD::BuildEffectiveShapes(): fix incorrect rect shape size for rect pads
...
rotated by +-90 deg
Noticeable in PnS router.
Fixes #4771
https://gitlab.com/kicad/code/kicad/issues/4771
2020-07-01 16:06:31 +02:00
Jeff Young
7b042f4a75
Add rectangle tool to PCBNew toolbar in favour of Aux Origin.
...
ADDED new rectangle graphics tool for PCBNew and Footprint Editor.
Also adds rectangle tool to both Footprint Editor and PCBNew Place
menus.
The Aux Origin tool can come back once we have multi-select toobar
buttons.
Also collapses an unnecessary level out of the auxOrigin and gridOrigin
settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/2246
2020-07-01 13:31:30 +01:00
Jon Evans
32b7b0c617
Fix filled zone rotation and move operations
2020-06-30 22:26:30 -04:00
Jeff Young
40847c055d
Check final corner of rectangle before merging.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4766
2020-06-30 21:01:51 +01:00
Jeff Young
40a72d9530
Add SH_RECT handling to 3D shape conversion.
...
Also add some debugging for not-implemented shape cases in other
places to catch simmilar issues in future.
Fixes https://gitlab.com/kicad/code/kicad/issues/4757
2020-06-30 18:32:31 +01:00
jean-pierre charras
42296d7eb9
fix issues in DRC and fill zone, related to recent changes in code.
...
Note also: the actual clearance between 2 pads when < minimal clearance
is incorrectly calculated.
2020-06-30 12:59:26 +02:00
Jon Evans
49c7ba6724
Make it easier to select keepouts
2020-06-29 20:37:57 -04:00
Jeff Young
e91b7cf18f
Separate the two offset strategies for PointEditor Pad editing.
...
This doesn't indicate what I think we should do with them; it will
just make whatever we decide easier to do.
2020-06-29 23:25:13 +01:00
Jeff Young
d67f404dec
Fix undo issue with merging lines into rectangles.
2020-06-29 22:58:05 +01:00
Jeff Young
36e94773a3
Adjustments to point-editing of pads.
...
1) Don't offset pad with no hole and no offset: move them instead.
2) Don't allow editing of locked pads in board editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
2020-06-29 19:22:38 +01:00
Jon Evans
44f3cdb31e
Fix a few issues with zone islands
2020-06-29 12:16:37 -04:00
Jeff Young
9cbcf3fe56
Improve pad annotation for custom-shaped pads.
...
Use the bounding box instead of the anchor pad size for determining
LOD and size/location of annotations.
2020-06-29 12:48:55 +01:00
Jeff Young
8ac3a3cbc0
Replace missing "sketch text" option from ModEdit View menu.
2020-06-29 12:08:11 +01:00
Jeff Young
516de9c85e
Point editor hookup for non-custom-shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
2020-06-29 11:50:44 +01:00
jean-pierre charras
a229e51962
Pcbnew: fix incorrect clearance of oval pads in zone fill.
...
(The clearance value was only half of the correct value)
2020-06-29 09:57:36 +02:00
Seth Hillbrand
224b41e8b1
Fix a threading segfault when filling zones
...
The shape cache gets reset by the zone fill algorithm. This needs to be
cleaned before multiple threads are created and cannot be modified when
threading.
Fixes https://gitlab.com/kicad/code/kicad/issues/4723
2020-06-28 11:12:31 -07:00
Jon Evans
65f5ebd8f2
ADDED: Persistent selection filter UI for PcbNew
2020-06-28 15:12:47 +00:00
Jon Evans
1d5e4f86af
ADDED: Copper zone island removal is now configurable
...
ADDED: Zones and keepouts can now be named (for DRC)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4392
2020-06-28 09:09:38 -04:00
Jon Evans
0d4ee39f75
CHANGED: Copper zones can be on more than one layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1963
2020-06-28 08:52:37 -04:00
Jon Evans
0b34cea3d5
Add an optional name property to zones
2020-06-28 08:51:57 -04:00
jean-pierre charras
67f46a0bb1
Gerber plotter: Better object attributes handling when plotting a zone
...
- Clear object attributes before and after plotting a zone.
It avoid using previously defined object attributes when plotting the next zone,
and using therefore incorrect attributes.
- Add aperture attribute to filled zone solid polygons (regions in Gerber)
2020-06-28 12:29:36 +02:00
Jon Evans
bd19c580f4
Add configuration for cross-probing behavior
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2317
2020-06-27 22:48:48 -04:00
Jon Evans
9795d30f12
Fix iteration issue in physical stackup editor
...
Also switch to KiCad color chooser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4735
2020-06-27 21:42:09 -04:00
Jeff Young
304328ca13
Fix Linux compile error.
2020-06-27 22:27:49 +01:00
Jeff Young
367fd79b5f
Don't try and second-guess the user.
...
(Especially now that polygons are useful on copper layers for custom
pad shapes.)
2020-06-27 22:08:13 +01:00
Jeff Young
6acd35c981
Cleanup.
2020-06-27 20:07:26 +01:00
Jeff Young
32c3ea4edd
Flags cleanup.
...
Remove extraneous use of FLAG0 from tracks cleaner (it was checked but
never set).
Fix issue in expand connections where two parts of it couldn't agree
on the same flag (BUSY vs SKIP_STRUCT), and where the second part was
clearing the flag instead of setting it.
Remove obsolete HIGHLIGHT infrastructure (we now use selection).
Remove extraneous use of BUSY flag in several places (it was never
set).
2020-06-27 17:53:04 +01:00
Jeff Young
da2b7071b4
WYSISYG custom pad editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
Fixes https://gitlab.com/kicad/code/kicad/issues/2305
2020-06-27 14:37:01 +01:00
Jon Evans
129c16cf7d
Fix unselected event not firing when clicking empty space
2020-06-26 22:00:12 -04:00
Ian McInerney
17adb6c3c6
Add context menu to route and zone toolbar items
...
ADDED: Context menu for route and zone toolbar items
2020-06-26 21:29:03 +00:00
Ian McInerney
fb10406e67
Add right-click context menus for toolbar items
2020-06-26 21:29:03 +00:00
Ian McInerney
52856a8ce4
Move scaled toolbar separator into ACTION_TOOLBAR
...
* Ensure all separators are scaled separators
* Clean up toolbar creation functions
2020-06-26 21:29:03 +00:00
Peter Montgomery
19b7755ab7
Coverted Gerbview files to version in master so hotkey_rollover repo only contains changes for the hotkey fix
2020-06-25 22:43:29 +00:00
Seth Hillbrand
4ef02fd699
Replace TTL delauney triangulator
...
Removes the TTL triangulator in favor of the delaunator triangulator.
This removes the only AGPL code in the KiCad codebase and therefore
allows the full project to be licensed under the GPLv3.
2020-06-25 18:45:27 +00:00
jean-pierre charras
c9715ce304
class_pad.h: mark m_shapesDirty true after a move to force rebuild shapes after a move.
...
Fix also a few comments.
Fixes #4719
https://gitlab.com/kicad/code/kicad/issues/4719
Fixes #4720
https://gitlab.com/kicad/code/kicad/issues/4720
2020-06-25 20:07:51 +02:00
Seth Hillbrand
a893d19d26
pcbnew: Allow slow ratsnest to turn off
...
Depending on where you move the selection, the slow ratsnest might turn
on. This prevents that setting from being sticky, reverting to smooth
movement.
2020-06-24 17:16:07 -07:00
Seth Hillbrand
b02d3f683f
Adding documention comments for dynamic ratsnest
2020-06-24 15:17:01 -07:00