jean-pierre charras
2a026bd882
spread_footprints.cpp: try to avoid integer overflow when spreading footprints.
...
In rare cases (one known case) sizes of areas used as container when spreading
footprints can become negative, thus hanging pcbnew.
Happens if many footprints are very big (say 80cm).
Now if there is no room to place footprints, some are stacked.
2020-02-29 17:25:52 +01:00
jean-pierre charras
e37c9f117d
Fix memory leak when loading a 0 degrees arc in footprint
2020-02-29 17:20:37 +01:00
Andrew Downing
2f7ac2b5b4
Don't truncate polar coordinates in position relative dialog/move exact dialog
2020-02-29 02:21:18 +00:00
Jeff Young
3f31d48b5e
Use a more friendly method of ensuring unique sheet names.
...
Also fixes a bug where we were failing to respect the
forceKeepAnnotations flag when processing content nested in
a sheet.
Fixes https://gitlab.com/kicad/code/kicad/issues/3681
2020-02-29 00:07:57 +00:00
Seth Hillbrand
3e0ff72720
Drop invalid arcs on footprint load
...
In the case where the footprint arc has a non-normal angle, we cannot
represent this in pcbnew and it corrupts the gerber output. Therefore
we drop the invalid arc and continue to load the footprint/board.
Fixes #3918 | https://gitlab.com/kicad/code/kicad/issues/3918
2020-02-28 15:02:17 -08:00
Tomasz Wlostowski
e5fff302a3
router: fix arc drawing in ROUTER_PREVIEW_ITEM
2020-02-28 23:52:33 +01:00
Jeff Young
149d34fbe1
Add missing files from last commit.
2020-02-28 22:37:53 +00:00
Tomasz Wlostowski
e0bad936bf
router: enable inline dragging of components
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
44905e1b0a
router: initial support for dragging components with traces attached
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
b2b1edbcd1
router: KICAD_IFACE can now commit changes to module positions
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
b6e059f018
router: use a common base class for all dragging algorithms
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
1d0ee66187
router: kill debug printf()
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
77478014d8
router: kill some warnings in OPTIMIZER
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
796aec6e6e
router: SOLID::SetPos() should update the shape position too
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
5a16fda11a
router: allow modification of SOLIDs in PNS::NODE
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
b7aea6f14c
kimath: fix warning
2020-02-28 23:17:15 +01:00
Jeff Young
9ded76bcad
Update tests to UUIDs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3939
Fixes https://gitlab.com/kicad/code/kicad/issues/3958
2020-02-28 22:06:14 +00:00
Seth Hillbrand
7cb3ed456e
PNS: No free-angle drag at the moment.
...
Fixes #3954 | https://gitlab.com/kicad/code/kicad/issues/3954
2020-02-28 12:43:59 -08:00
Seth Hillbrand
84b1ab7ce0
PCad: Handle arbitrary PCad layer numbers
...
KiCad is limited to 32 signal layers but PCad can number the layers
higher than this. Instead of a C-style array, we now hold the layer
numbers in a std::map to support arbitrary numbering.
Fixes #3949 | https://gitlab.com/kicad/code/kicad/issues/3949
2020-02-28 11:48:06 -08:00
Seth Hillbrand
081ec393da
eeschema: Load using root sheet if null
...
The root sheet is not set for pasting, in which case, we should utilize
the global root if needed.
Fixes #3956 | https://gitlab.com/kicad/code/kicad/issues/3956
2020-02-28 11:09:41 -08:00
Jon Evans
72a6963e9e
Free some memory that asan was complaining about
2020-02-27 22:58:33 -05:00
Jon Evans
9cc5b4b3f9
Fix management of nested settings for PNS
2020-02-27 22:53:00 -05:00
Ian McInerney
d5ceb8252e
Clean up some warnings
2020-02-28 00:06:52 +00:00
Hufo
992a553d43
pcbnew: Refactor D_PAD::AddPrimitives() and allow use from python
...
Rename all the D_PAD::AddPrimitive methods to clean up their API,
and expose the vector<PAD_CS_PRIMITIVE> type in the python API.
2020-02-27 23:54:19 +00:00
Seth Hillbrand
245b778454
libedit: Fix speed of lib check
...
The symbol check output the HTML message for each item. This is _very_
slow and can lock the system reponsiveness. Changing to a queue/flush
method is much faster
2020-02-27 15:06:48 -08:00
Seth Hillbrand
797ff00367
Cleanup header
...
Missing function causes issues in Python now that the routine is gone.
2020-02-27 14:25:43 -08:00
Jeff Young
3860ab9f0c
Fix issue returning pointers to items inside std::vector.
...
(When the vector is re-allocated your pointers become bogus.)
2020-02-27 22:00:51 +00:00
Tomasz Wlostowski
f77d2f8cb8
router: option to enable optimization of the track being dragged
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
4525a17076
router: backspace key to undo last fixed segment(s)
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
b5c11f21e5
router: rounding mode context menu entry
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
ce683c403a
genral: always link libcurl to avoid unresolved symbols in pcbnew
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
d1a5d8c78b
router: don't forget the tail when toggling via placement
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
8ddeb966ca
pns: drag wip on walkaround via mode
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
cf4945afaa
router: optimizer should now handle 'keep vertex' constraint correctly...
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
53c3f95ac4
router: initial attempt at walkaround mode for dragger
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
c0314dbb29
router: dragger can now optimize also the segment being dragged
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
a6d3ae3c5b
router: NODE now can also query joints
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
6b767d50c3
router: initial support for user-provided constraints for the optimizer
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
a42b86d3ac
geometry: missing return in SEG::Contains()
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
c2d95a00c1
router: improved handling of corner cases in LINE::Walkaround
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
37a754c4dd
router: initial attempt at improved 'aim at mouse cursor' strategy in walkaround mode, wip...
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
43b71cd9e3
router: Clear() method for PNS::LINE
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
dbe90e163e
router: use one global logger object
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
4281bd8207
router: keep board in base Kicad Iface class
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
f8f21ea81c
geometry: SHAPE_LINE_CHAIN::Intersect should report each unique intersection only once
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
7b8fe9c1af
geometry: allow constructing SHAPE_LINE_CHAINs from a flat vector of ints
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
fa04174ecf
geometry: Contains(SEG) method in SEG
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
6673554866
common: prevent segfault with no edit frame in TOOL_MANAGER
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
9e605d6958
router: DEBUG_DECORATOR now allows to name each primitive
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
33f9843fb7
ACTION_MANAGER: prevent null object call when used without a host frame
2020-02-27 22:02:56 +01:00