Ian McInerney
752bc5b7ba
Update technical todo
...
Add a section mentioning C++20 and the new constexpr
std::string and std::vector that we can use.
2020-01-21 11:03:55 +00:00
Mark Roszko
10a862c458
Recursively add KiCad and GEDA libraries inside a folder
...
CHANGED: KiCad and GEDA libraries can now be added recursively by selecting a parent folder.
2020-01-21 10:39:07 +00:00
Jeff Young
a91ca785e5
Better to warn user and orphan nets than refuse to open board.
2020-01-21 09:29:33 +00:00
Jeff Young
384ff2539a
Fix uninitialized variables.
2020-01-21 09:29:33 +00:00
jean-pierre charras
dd46a918a8
Fix bug: Cross-probing of pins to pads selects entire footprint instead of desired pad.
...
Fixes #3791
https://gitlab.com/kicad/code/kicad/issues/3791
2020-01-20 18:35:20 +01:00
Alexander Stock
974f84a5a6
Use proper encoding in UnescapeString() to speed up processing
...
Use the proper encoding to prevent extraneous conversion encoding conversion inside UnescapeString(). This change reduces the eeschema symbol library loading time (ubuntu and windows build) from 2700ms to 1700ms.
See merge request https://gitlab.com/kicad/code/kicad/merge_requests/70
2020-01-20 10:51:20 +00:00
qu1ck
32674ef360
Fix polygon shape move
...
Move vector should not affect start/end points as they are assumed to
always be 0,0. Polygon is defined by outline only.
2020-01-20 03:49:41 +00:00
Mark Roszko
8ac0d84f45
Fix invalid std::array constructor causing MSVC illegal indirection error
2020-01-20 01:30:26 +00:00
jean-pierre charras
2b3451ff6d
demo update
2020-01-19 20:29:29 +01:00
Ian McInerney
c4277409d7
Add missing header that broke compilation
2020-01-19 11:52:34 +00:00
Seth Hillbrand
7c296fbcb7
GRID_HELPER: Provide alignment axes from snap points
...
ADDED: alignment lines from item snap points
Alignment lines are shown when moving the cursor horizontally or
vertically from a possible snap point.
2020-01-18 20:43:40 -08:00
Mark Roszko
70908043a3
Convert enums inside eeschema and the symbol editor to be scoped
...
Scope: NETLIST_ITEM, CONNECTION_TYPE, ELECTRICAL_PINTYPE,
NET_CONNECTION, NETLIST_ITEM, GRAPHIC_PINSHAPE
Note, the pin type enum had PT_ added to the front to prevent
shadowing of the INPUT symbol on msys2 (see discussion at
c17c9960d8
)
2020-01-18 20:51:28 +00:00
jean-pierre charras
d714773c22
Fix a minor compil warning. Add a wxASSERT in hierarch.cpp.
2020-01-18 18:23:21 +01:00
Wayne Stambaugh
462074d471
Eeschema: fix grid select dialog internal units bug.
...
Fixes #3782
https://gitlab.com/kicad/code/kicad/issues/3782
2020-01-18 11:28:01 -05:00
Seth Hillbrand
a7d02a4f75
Recognize subckt blocks in spice
...
Spice lines defining circuit elements are contained in a .subckt ..
.ends block. The intervening lines should be exported to the netlist as
well as the control lines.
2020-01-17 18:56:30 -08:00
Seth Hillbrand
73d6169338
pcbnew: Check before reading/writing cache
...
The open/create calls can fail so we need to account for this before
using the result that assumes success.
2020-01-17 18:30:17 -08:00
brian piccioni
8341398082
Save footprint errors in the DRC log
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3754
2020-01-18 01:40:43 +00:00
Seth Hillbrand
c4fff95078
PNS: Detect collisions including newline width
...
The new line collision search uses BBox() to check for colliding
objects. BBox in the SHAPE_LINE_CHAIN did not include width as the
chains were assumed to be zero-width. This is not the case for
PNS::LINE elements.
We mostly don't notice this because DRC checks for SEGMENT collisions
but it becomes obvious/annoying when we cannot place a track for unknown
reasons and the snap-back doesn't take line width into account.
Fixes #3776 | https://gitlab.com/kicad/code/kicad/issues/3776
2020-01-17 11:23:08 -08:00
Seth Hillbrand
f7cb970a02
PNS: Modify MarkObstacles logic to select shorter
...
When routing where we hit multiple obstacles, we choose the shortest
path to allow overlapping hits to choose the shorter path, thus giving a
better chance of returning true for the DRC-compliant path.
Fixes #3773 | https://gitlab.com/kicad/code/kicad/issues/3773
2020-01-16 19:57:38 -08:00
Seth Hillbrand
40f97b55c7
Remove confused dynamic_cast
...
dynamic_cast could not resolve the cast chain leading to a null undo
point. Since we know the item to be LIB_ITEM, we can use static_cast
anyway and avoid the overhead.
Fixes #3771 | https://gitlab.com/kicad/code/kicad/issues/3771
2020-01-16 06:17:04 -08:00
Jon Evans
27db1c90bc
Add netlist comparison script
2020-01-15 18:52:49 -05:00
Ian McInerney
39b1f0e1ff
Replace wxCriticalSection with std::mutex
2020-01-15 23:42:16 +00:00
Ian McInerney
56f6b529c8
Simplify 3D object cache class structure
...
Remove the CACHE_WRAPPER whose sole purpose was to allow the
cache to be stored in the project, and instead just have the cache
inherit the proper class.
2020-01-15 23:32:05 +00:00
Jeff Young
102f5f479c
Handle uninitialized nets gracefully.
2020-01-15 19:40:20 +00:00
Jeff Young
cfa407616f
Don't allow degenerate arcs & circles. Trouble will follow.
2020-01-15 18:50:47 +00:00
Jeff Young
45ca0a5ab8
Avoid divide-by-zero.
2020-01-15 18:50:47 +00:00
Ian McInerney
415aaabc29
Fix return type in KIDIALOG
...
It was returned as a bool for some reason...
2020-01-15 18:29:15 +00:00
Mark Roszko
a80b2b7e39
KIDIALOG should ignore "cancel" for the do not show again option.
...
Fix #3734
2020-01-15 18:23:07 +00:00
Jeff Young
e42788a3eb
Avoid divide-by-zero.
2020-01-15 18:21:42 +00:00
Jeff Young
dcfb7cadce
Avoid divide-by-zero.
2020-01-15 18:21:42 +00:00
Ian McInerney
bc6139359b
Smoothen rotation in 3D viewer when crossing the 0-2pi line
...
Rotating to 0 when above pi would result in the board spinning back
through pi to get there. This led to jarring motion.
Also fix an issue added in b6f64815
where the board would rotate
2pi when crossing over the 0-2pi boundary.
2020-01-15 18:10:05 +00:00
Seth Hillbrand
e1be88aef0
Updating .gitignore to ignore temp artifacts
2020-01-15 10:08:32 -08:00
Jeff Young
32823a0855
Handle nullptr.
2020-01-15 17:51:48 +00:00
Jeff Young
0f4c56cbbd
Also catch null dereference in case wxASSERT was skipped.
2020-01-15 17:51:48 +00:00
Seth Hillbrand
6a47d0f507
RTree: Fix iterator in single branch trees
...
In a single branch tree, we need to verify that all leaves do not match
the input search before returning.
Fixes #3764 | https://gitlab.com/kicad/code/kicad/issues/3764
2020-01-14 10:42:04 -08:00
Jeff Young
1bdcb33f75
Handle error returns from lstat.
2020-01-13 20:16:42 +00:00
Jeff Young
9df2cfb328
More uninitialized variables.
2020-01-13 20:16:40 +00:00
Jeff Young
91d1508c16
Fix some Coverity identified issues.
2020-01-13 20:16:40 +00:00
Ian McInerney
3ab9db6ff1
Update cast in PNS since we are guaranteed to have text
...
We are guaranteed that the BOARD_ITEM will be a TEXTE_MODULE
since we have tested its type already, so just use a static_cast
to remove the overhead.
2020-01-13 19:42:49 +00:00
Jeff Young
aeba5c005f
Many callers of uni_forward are not expecting an exception.
...
Remove the throw and used a different mechanism to detect non-unicode.
2020-01-13 15:40:32 +00:00
Jeff Young
e4eedfa893
Catch exceptions from failed clone.
2020-01-13 15:27:16 +00:00
Jeff Young
ac096fdf99
Catch exceptions from a failed library load.
2020-01-13 15:27:16 +00:00
Jeff Young
d3c7bd3a88
Don't throw an exception you have no intention of catching.
2020-01-13 15:27:16 +00:00
Ian McInerney
81ee5edcaf
Test dynamic_cast for safety from future changes
2020-01-13 15:22:26 +00:00
Ian McInerney
33a40e788b
Add missing null check to library viewer control tool
2020-01-13 14:40:55 +00:00
Ian McInerney
34bc0a4e96
pcbnew_control: Replace C casts with C++ casting
2020-01-13 14:19:44 +00:00
Ian McInerney
e2853862e5
Cleanup redundant type casting
2020-01-13 14:00:45 +00:00
jean-pierre charras
b6f64815f4
3D viewer: normalize rotation angles between -2_PI and 2_PI.
...
Fixes #3761
https://gitlab.com/kicad/code/kicad/issues/3761
2020-01-13 14:30:49 +01:00
jean-pierre charras
c3fc98c31d
Fix a compil error.
...
Fixes #3763
https://gitlab.com/kicad/code/kicad/issues/3763
2020-01-13 08:59:57 +01:00
Ian McInerney
8fc434be19
Formatting change for dynamic cast tests
2020-01-13 01:48:57 +00:00