Jeff Young
03f79f512c
Nullptr safety.
Fixes https://gitlab.com/kicad/code/kicad/issues/12966
3 years ago
Jeff Young
32836da14b
Don't show annular rings controls for vias that span only a single layer.
3 years ago
Jeff Young
97fd99ec99
Re-resolve netclasses after assigning netclass to pattern.
Fixes https://gitlab.com/kicad/code/kicad/issues/12965
3 years ago
Jeff Young
138f835672
Retire group bbox cache.
It's too hard to maintain when changes to other items (the groups
members) affect it.
3 years ago
Jeff Young
03ba14c6d3
Tighten lifecycle management of parent group pointers.
Also adds some debugging to try to catch dangling pointers.
Also adds a cache for group bounding boxes (which will be expensive
to calculate for large groups).
Fixes https://gitlab.com/kicad/code/kicad/issues/12875
3 years ago
Jeff Young
d16b23d16e
Name shortening and line-break reduction.
3 years ago
Seth Hillbrand
d1bf889e71
Resolve embedded text vars
Title Block text variables are embedded into the pcb file and should
be used for resolving when the project file is missing
3 years ago
Alex
22917860ef
Move Enter Group for easier access.
3 years ago
Jeff Young
e49de68a59
Implement a more durable zone bounding box caching strategy.
Fixes https://gitlab.com/kicad/code/kicad/issues/10821
3 years ago
Jeff Young
d67437a2aa
Move ratsnest exclusion processing to a post-pass.
Also fixes a few cases where we were unnecessarily rebuilding
connectivity more than once for an operation.
3 years ago
Marek Roszko
707a598e5d
Prevent a crash due to the 3d preview dummy board stealing setting ownership
3 years ago
Ian McInerney
ea259fd093
Remove extra creation of an outline for the soldermask zone
The zone class initializes the outline with an empty SHAPE_POLY_SET, so
adding a new SHAPE_POLY_SET outline in the BOARD constructor causes a
leak of the original.
3 years ago
Jeff Young
839d31d427
Only update properties from a "real" project.
Fixes https://gitlab.com/kicad/code/kicad/issues/6268
3 years ago
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
3 years ago
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
3 years ago
Seth Hillbrand
26a1114e3c
Avoid Yields when the results are ready
We always need to check for calculation results before yielding the
system otherwise we will delay outcomes
Fixes https://gitlab.com/kicad/code/kicad/issues/12228
3 years ago
Roberto Fernandez Bautista
2d203bc975
Don't move items inside a group: move the whole group instead
3 years ago
Jeff Young
c30a557810
ADDED netclass assignment from PCB canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/5975
3 years ago
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
3 years ago
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
3 years ago
Jeff Young
5679b9dbdc
Remove a few EDA_RECT instances.
3 years ago
Jeff Young
77c79b6f6a
Apply searchArea architecture to courtyard functions.
3 years ago
Jeff Young
667a54ad86
Retire insideArea in favour of intersectsArea and enclosedByArea.
3 years ago
Jeff Young
f99761e5bd
entirelyInsideArea() prototype.
3 years ago
Marek Roszko
3e451ca516
Add RemoveAllListeners function for future addons
3 years ago
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
3 years ago
Seth Hillbrand
af34835fdf
Restore removed data
Functions and definitions used in Python scripting should not be
removed. Comments in header files should never be removed (only
updated/corrected)
3 years ago
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
3 years ago
Jon Evans
55bb374370
Fix crash when unloading board
3 years ago
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
3 years ago
Jeff Young
96f01d33c8
Performance improvements.
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
3 years ago
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
To fix the name squatting it's doing for future functionality
3 years ago
Jeff Young
f0ef6932b8
Fix issues with plotting textbox outlines.
Fixes https://gitlab.com/kicad/code/kicad/issues/11943
3 years ago
Mike Williams
3669cb4673
PCB Editor: Add User Background Images
4 years ago
Jeff Young
8a9bf02b7e
Smarten up silk clearance & tented item handling.
The inspection tool will report whether or not the item is tented
(indicating in that case that any clearance will only be applied
to any hole).
The DRC test ignores tented items without a hole, and runs the
clearance test against the hole for items with a hole.
Fixes https://gitlab.com/kicad/code/kicad/issues/11954
Fixes https://gitlab.com/kicad/code/kicad/issues/11951
3 years ago
Seth Hillbrand
03c279ffd4
ADDED: Threadpool
Thread pools are long-lasting executors that have close to zero overhead
when launching new jobs. This is advantageous over creating new threads
as we can use this for threading smalling jobs and smaller quanta. It
also avoids the heuristics needed to determine the optimal number of
threads to spawn
3 years ago
Jeff Young
97b0005780
More caching for DRC.
Also fixes a bug where some physical clearance tests would be run even
if the clearance was 0 (or if the rule was set to IGNORE).
3 years ago
Seth Hillbrand
b5c2f0d39a
Remove the open array in favor of std containers
The containers allow iteration, size knowledge and lower bug surface
4 years ago
Seth Hillbrand
f0e4448a9d
Remove broken call to normalize outlines
We should never be editing the user's outlines for them. This creates
broken zones that are hard to repair. In this case, there was also a
secondary zone with no outline that would crash the system
Fixes https://gitlab.com/kicad/code/kicad/issues/10904
(cherry picked from commit f0d7a09af9 )
4 years ago
jean-pierre charras
2fddc9daf3
Pcbnew: fix missing connectivity update when adding an item.
Skipping connectivity update when adding an item is possible only when loading a file
Fixes #10879
https://gitlab.com/kicad/code/kicad/issues/10879
4 years ago
Jeff Young
d8c4f2cb09
Performance improvements for zone filler.
4 years ago
Jeff Young
5c9e718407
Performance enhancements for connectivity.
1) Generate SHAPE_POLY_SET triangulation by outline so they can be
shared between connectivity system and other clients.
2) Don't add items to connectivity when reading board; we're going
to do a total rebuild anyway.
3) Use multithreading when caching triangulation.
4 years ago
Jeff Young
3deaf902bb
Retire the V5 zone fill algorithm.
Fixes https://gitlab.com/kicad/code/kicad/issues/10578
4 years ago
Jeff Young
7ccac79192
More wxString wide literals.
4 years ago
Jeff Young
5739505aa3
TextBoxes for PCBNew.
4 years ago
Marek Roszko
c91d3e3cf9
Remove some more wxPoint
4 years ago
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
4 years ago
Jeff Young
fa908e1f98
Dimensions for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
4 years ago
Jeff Young
b4c5e64db2
Exclusions for Unconnected Items; Markers & exclusions for Parity checks
Fixes https://gitlab.com/kicad/code/kicad/issues/5589
Fixes https://gitlab.com/kicad/code/kicad/issues/5504
4 years ago
Jeff Young
5f37c2b247
Custom rule severities.
ADDED severity token to custom rule syntax. Each rule can now define
its own severity.
Fixes https://gitlab.com/kicad/code/kicad/issues/6148
4 years ago