Alex Shvartzkop
c40708c051
Optimize TEARDROP_PARAMETERS memory layout.
...
56 -> 40 bytes.
2024-06-20 15:05:45 +03:00
Alex Shvartzkop
b143ffb797
Reduce KIID size from 20 to 16 bytes.
...
Removes separate legacy timestamp value.
2024-06-20 13:59:15 +03:00
Alex Shvartzkop
f5be388acd
Don't call GetSide in FOOTPRINT::GetBoundingBox when not needed.
...
CPU usage: -13% when moving a board.
2024-06-20 06:02:11 +03:00
Alex Shvartzkop
48f6f837a1
Optimize BOARD_ITEM::GetParentFootprint.
...
CPU -8% when panning a board.
2024-06-20 04:25:33 +03:00
Alex Shvartzkop
ec271c20db
Slightly optimize SEG::NearestPoint.
2024-06-20 04:25:33 +03:00
Alex Shvartzkop
62fb5697b4
Optimize redrawNetnames.
...
Using RTree is slower in this case.
RTree: 25 ms when moving cursor
This method: 5 ms when panning/zooming
2024-06-19 20:55:33 +03:00
Jeff Young
31ab276aaf
Ease-of-use for un-commented ERC/DRC exclusions.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18220
2024-06-19 17:07:50 +01:00
Jeff Young
8e349eedf0
Bug fixes for PCB_TABLES.
...
In particular, rotated tables and tables in rotated
footprints.
2024-06-19 12:39:22 +01:00
Jeff Young
251ed2ee54
Formatting and "auto" reduction.
2024-06-19 12:39:22 +01:00
Marek Roszko
7c35139505
std::sqrt is not constexpr until C++26
2024-06-19 07:34:58 -04:00
Seth Hillbrand
cde153c75f
Avoid some overflows in KiROUND
2024-06-18 21:37:00 -07:00
Seth Hillbrand
9aba808366
Altium import
...
- Handle intermediate Altium version with some fields but not others
- Ensure that we are properly moving text that is not a box and not a
field
2024-06-18 21:35:41 -07:00
Seth Hillbrand
bf68b11ff9
Cleanup unused vars
2024-06-18 21:35:32 -07:00
Seth Hillbrand
bcf6b620a8
Large rework of BEZIER_POLY
...
Add direct handling of quadratic beziers to save compute time and number
of points. Update cubic interpolation to reduce number of points
generated for a given smoothness
Cache data on open and used cached data to avoid multiple re-calcs
Remove minimum line length and number of segments and replace with
standard max error level. Allows us to specify the tolerance of bezier
interpolation
2024-06-18 17:55:41 -07:00
Seth Hillbrand
0d2c4c91fd
Properly initialize fonttype for older Altium files
2024-06-18 17:55:31 -07:00
Jon Evans
81a1e9e83e
Don't write out non-explicit tenting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18230
2024-06-18 17:52:42 -04:00
Jon Evans
1a1083def6
Revert "Tented usually means that there is no soldermask"
...
This reverts commit 021f251efd
.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18230
2024-06-18 17:52:42 -04:00
dsa-t
c5056beeb3
Fix crash in wxSocketBase when the event handler has been destroyed.
...
Fixes KICAD-37B
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18234
(cherry picked from commit ebdfeb4c0a
)
Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-06-18 21:50:18 +00:00
Jon Evans
02502342a5
Try harder to keep searchable text hidden in SVG exports
2024-06-18 12:01:15 -04:00
Seth Hillbrand
7e561acf53
Altium: Handle textboxes
...
Also, corrects a minor issue with the text width calculation where
Altium calculates centerline to centerline but KiCad text heights are to
the edge of the stroke font. Need to still do better adjustments for
the various altium stroke fonts
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9468
2024-06-16 17:20:59 -07:00
Seth Hillbrand
b11e030f8f
Cleanup Altium text import
...
Handle inverted text
Correct location for flags
Add mechanics to detect inverted_rect (like text boxes)
2024-06-16 17:20:59 -07:00
Seth Hillbrand
5c699e3c1e
Handle not found fonts reliably
...
Check if the font isn't found when selecting (we seem to always have a
selection even if we fail on GTK) and properly set the index of the
final <not found> font name
2024-06-16 17:20:58 -07:00
Jeff Young
90cd3286fa
Remove cover types.
2024-06-16 10:47:48 +01:00
Jeff Young
5a9b681009
Clear timestamp when clearing cache.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17913
2024-06-16 10:46:36 +01:00
Seth Hillbrand
e3231e6996
Rework VECTOR2D promotion rules
...
VECTOR + scalar = vector type (KiROUND when VECTOR is integral and
scalar is float)
VECTOR + VECTOR = common type vector
Implemented with concepts in template rules - SWIG compatible
2024-06-15 13:41:07 -07:00
Jeff Young
5ba2896968
enclosedByArea test for zone needs to be outline-based.
...
(Otherwise it's order-specific when filling, which
is pretty unpredictable.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18202
2024-06-15 17:52:15 +01:00
Jeff Young
eae85742cc
Don't report reasonable solder mask bridges in a net-tie footprint.
2024-06-15 15:57:13 +01:00
Jon Evans
fa235116f7
Import Altium via tenting settings
2024-06-15 09:36:25 -04:00
jean-pierre charras
16e708a0e7
Fix minor compil and Coverity warnings.
2024-06-15 11:20:21 +02:00
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