Seth Hillbrand
3e16359b4f
Update golden master for Altium import
...
The altium footprint being imported has vias that were ignored before,
so now we need to have the correct golden master with vias
2024-06-14 17:41:44 -07:00
Seth Hillbrand
f7450e5b37
Fix SWIG compile
...
SWIG doesn't like a lot of the new C++20 elements, so fall back to basic
cast that should get almost every case
2024-06-14 17:41:05 -07:00
Seth Hillbrand
6df16d053e
Add specialization for unsigned scalar add/sub
...
Adding/subtracting an unsigned scalar to a signed vector should maintain
the same signed vector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18212
2024-06-14 17:27:59 -07:00
Seth Hillbrand
7ea013b96c
Altium: Handle footprint vias
...
These are treated as pads in KiCad
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18194
2024-06-14 16:49:56 -07:00
Seth Hillbrand
021f251efd
Tented usually means that there is no soldermask
...
Probably was a typo
2024-06-14 16:49:56 -07:00
Seth Hillbrand
d21eba4021
Unselected tree before syncing
...
On GTK, the selected item is checked for its parent when being
unselected. This breaks if the parent has been removed by the Sync()
call, so we need to ensure that the unselect all call happens prior
2024-06-14 16:49:56 -07:00
Seth Hillbrand
9f4dfe77cb
Freeze the adapter to avoid invalid deref
...
GTK tries to get the parent item of selected elements when unselecting.
If we don't freeze, we run the risk of crashing if a selected item is
removed before being unselected. This causes a wx warning but a) this
is suppressed in release and b) warning message is better than crash.
See next commit for fix to avoid common case of the error
2024-06-14 16:49:56 -07:00
Jeff Young
db9f0a0358
Report footprint parent of shape when in board editor.
...
While the user can't select these, we do report them
in DRC messages and the like, where it's handy to
know what they're from.
2024-06-14 23:19:26 +01:00
Jeff Young
8cddd40fc9
Check mask apertures on the mask layer.
...
(Otherwise testing A:B and B:A will add items to the
m_maskApertureNetMap cache on different layers.)
2024-06-14 22:55:40 +01:00
Jeff Young
b2588e0bbf
Footprint Editor doesn't have nets.
...
(Copper shapes, on the other hand, can. Since we use
GetItemDescription() to report DRC errors and the like,
it's better to have it report the net even when it's
<no net>.)
2024-06-14 22:46:29 +01:00
Jeff Young
0f8d543172
Consistent capitalization.
2024-06-14 22:02:08 +01:00
Jeff Young
ac576d7e0a
Normalize phase angles.
2024-06-14 19:03:55 +01:00
jean-pierre charras
a2cbd1ff21
Fix QA tests compatibility
2024-06-14 19:14:09 +02:00
Jeff Young
c633ac26eb
Don't lose value of cursor checkboxes when running sim.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18205
2024-06-14 16:37:49 +01:00
Jeff Young
4eb048bba2
Don't assume AC gains will always be voltages.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18205
2024-06-14 16:37:49 +01:00
Jeff Young
300313ce73
Correctly write phase/gain signals to workbook.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18205
2024-06-14 16:37:49 +01:00
Jeff Young
5a3bad51d0
Don't use SI prefixes with degrees when auto-ranging.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18205
2024-06-14 16:37:49 +01:00
Jeff Young
7b63429fe1
Current gain is the first Y axis, not the second.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18205
2024-06-14 16:37:49 +01:00
jean-pierre charras
d778cb6647
Schematic editor: fix some issues that can crash the editor on closing.
...
- Add a test to be sure a SCHEMATIC exists before trying to use it
- Delete items in Repeat list and undo/redo list before deleting the schematic
- Delete also these items when loading a new schematic (the repeat list was
not cleaned previously)
Before these fixes I see a use after delete issue due to dangling pointers
stored in Repeat list.
2024-06-14 16:57:57 +02:00
Jeff Young
7fef6e8d83
Use view's RTree for redrawing netnames.
2024-06-14 00:20:37 +01:00
Jeff Young
c9ddcd618d
Make sure to reset the cached viewport.
2024-06-12 23:35:06 +01:00
Jon Evans
ccc76aad2f
Fix typo loading legacy tenting setting
2024-06-12 17:42:44 -04:00
Alex Shvartzkop
44a33eedf4
Update only visible track segments in redrawNetnames.
...
RequestRefresh doesn't seem to be needed.
2024-06-13 00:28:37 +03:00
Alex Shvartzkop
f0e9f9f15a
Optimize PAD LoD calculation.
2024-06-12 23:05:33 +03:00
Alex Shvartzkop
52daf14c78
Optimize VIA LoD calculation.
2024-06-12 23:05:33 +03:00
Alex Shvartzkop
9d0ee029bc
Add a upper >= lower check to Clamp.
...
Similar to std::clamp.
2024-06-12 23:05:33 +03:00
Alex Shvartzkop
e49d233923
Move BOX2I_MINMAX to separate header.
2024-06-12 23:05:33 +03:00
Mike Williams
a5e2615251
Revert "SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL"
...
This reverts commit 0b187e7122
.
2024-06-12 13:30:29 -04:00
Mike Williams
0c45f85bc0
Revert "sch_symbol: use fail message fall back to dummy symbol when passed null"
...
This reverts commit e0e837189d
.
2024-06-12 13:30:29 -04:00
Jeff Young
0ca7a81181
Deferred redraw for netnames.
2024-06-12 17:20:20 +01:00
Jeff Young
b7161181e8
Hidden footprint libraries are not yet supported.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18183
2024-06-12 16:59:20 +01:00
Alex Shvartzkop
73a3b880a6
Slightly optimize GPU_CACHED_MANAGER::DrawIndices.
2024-06-12 16:04:47 +03:00
Jeff Young
694a7db457
Performance improvements.
...
Don't construct a wxString or a LSEQ when you don't
have to. They're both more expensive than you might
think.
2024-06-12 11:06:10 +01:00
Jon Evans
63cd110720
Make verbiage more clear
2024-06-11 22:19:33 -04:00
Jon Evans
896f56772f
Fix warnings
2024-06-11 22:01:06 -04:00
Jon Evans
5fc0f1f51e
ADDED: Independent control of front/back via tenting
2024-06-11 21:50:25 -04:00
Jon Evans
4aab9f59aa
ADDED: Support tenting control of individual vias
...
REMOVED: Tenting option from plot dialog (tenting is now
controlled from Board Setup and via properties)
See https://gitlab.com/kicad/code/kicad/-/issues/2402
2024-06-11 21:25:02 -04:00
jean-pierre charras
2a37580839
Symbol editor: ensure the left panel is correctly refreshed when hiding a pane.
2024-06-11 17:48:25 +02:00
Jeff Young
d865bda4f2
Cache display netnames.
...
Also changes the redraw behaviour to not try and redraw
only when things entered the view (this didn't work
because it may be the netname that's entering the view,
not the whole track). Instead we only process a finite
number of tracks on each idle event (in order to avoid
#12436 ).
Note that we don't need the timer at all anymore as the
netnames are in fixed locations on the track and never
make the track look like it's being dragged.
Also improves performance by avoiding sqrt.
2024-06-11 16:30:52 +01:00
Wayne Stambaugh
74070afbc6
Fix a bunch of GCC build warnings compiling the schematic editor.
...
Apparently GCC does not like competing definitions of the == operator.
The recent refactoring away of all LIB_ITEM objects created a conflict
with the SCH_ITEM == operator definition. This change required some
rather ugly comparison changes. There were no unit test failures but
that doesn't mean something didn't get broken.
2024-06-11 08:07:32 -04:00
jean-pierre charras
9bf0b479ed
fix a compil issue on msys2
2024-06-11 10:58:21 +02:00
Alex Shvartzkop
44fd13af47
Slight optimization for PCB_PAINTER when drawing vias/tracks.
2024-06-11 05:30:02 +03:00
Seth Hillbrand
8dd93501cf
Add additional VECTOR2 tests
...
Check overflow, addition using alternate value representations and
clamping
2024-06-10 15:21:44 -07:00
Seth Hillbrand
37191720ca
Add common VECTOR2 test cases
2024-06-10 15:12:57 -07:00
Seth Hillbrand
439c25fca9
Altium schematic parser: Add fraction pin placement
...
In the schematic libaries, pin positions that are off 10mil spacing need
fractional elements stored in a different location
2024-06-10 15:02:18 -07:00
Alex Shvartzkop
35d60598d5
Fix build error on MSVC.
2024-06-11 00:06:32 +03:00
Seth Hillbrand
9d9028c979
Handle unsigned VECTOR2 casts
...
The previous overflow handling code casted the int_min value into an
unsigned, meaning that the min value and max value were almost the same,
clamping the output to unreasonable values.
Updated code handles floating points first, then does integer casting
through int64_t
2024-06-10 12:40:01 -07:00
Seth Hillbrand
1325701956
Altium SCH Lib updates
...
- Use pin-compatible line widths for symbols
- Handle circular arcs as circles, not elliptical arcs
2024-06-10 12:40:01 -07:00
Jeff Young
de2fbbd11a
Fix stack address escaping routine.
2024-06-10 20:23:36 +01:00
Jeff Young
4e133ae83b
Cleanup.
2024-06-10 20:23:36 +01:00