Jeff Young
d16b23d16e
Name shortening and line-break reduction.
2022-10-21 18:41:39 +01:00
Jeff Young
437d2c4589
Overhaul of remove-unconnected's zone filling and drawing strategies.
...
1) The highest priority zone that a via/pad collides with "owns" its
connectivity state. Once set, lower priority zones cannot change it --
and in fact, if they would have connected to it are forced not to.
2) The connectivity state goes with the zone fill state, and therefore
must be saved in the file.
3) Display of remove-unconnected's pads is no longer done in GetViewLOD()
(which isn't called for selected items), and is instead done in PCB_PAINTER.
This allows us to draw the full pad in outline mode when a via/pad is
selected which would otherwise only show the hole.
4) Note that in some cases this will still generate DRC errors -- in
particular when a via nearly collides with a higher priority zone it
won't get "owned" by that zone and may therefore have insufficient
clearance if said zone concludes it's unconnected and a subsequent
(lower priority) zone connects to it (causing it to now become flashed).
Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-10-18 13:05:42 +01:00
Jeff Young
4af98827fd
Revert change for 11299, and update removed-pad items after zone fills.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12645
2022-10-15 16:06:57 +01:00
Seth Hillbrand
b4f3390626
Drill size is absolute
...
Use hole plating size for visibility only, not zone filling, routing or
DRC
2022-10-04 09:52:40 -07:00
Jeff Young
7e71dc084c
Implement Mirror H/V for tracks and vias.
...
While not that often useful, it's really annoying that it doesn't work
when you *do* find a use-case for it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6853
2022-09-24 19:55:48 +01:00
Seth Hillbrand
0150655ed3
Fix missing DRC check with via
...
When the via is first and not second in our ordering, the hole-copper
clearance was not checked as the track did not have a hole.
We also calculated the NPTH-via clearance incorrectly in the inspector
2022-09-20 13:43:01 -07:00
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.
2022-09-19 17:10:59 +01:00
Jeff Young
45d6b4a9fc
Readability improvements.
2022-09-19 11:18:20 +01:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
2022-08-31 17:19:50 +01:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Maciej Suminski
af71d42307
Renamed PROPERTY_TYPE enum names to avoid a conflict on MSYS2
2022-08-22 21:32:32 -04:00
Maciej Suminski
95fd58b25a
Properties meta-data for pcbnew classes
2022-08-22 21:32:00 -04:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
43df863df2
Fix issue with caches not being initialized when printing msg bar.
2022-08-01 13:09:51 +01:00
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
...
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
jean-pierre charras
4d48376eae
Fix some warnings detected by PVS-STUDIO (not used vars)
2022-07-26 16:00:14 +02:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
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
2022-07-08 17:27:05 -06:00
Seth Hillbrand
a43fcd045f
Hyperlynx arcs are always CW
...
Previous test comparing start/end angles doesn't account for all cases.
This adds a more robust test to ensure all arcs are output in CW fashion
Fixes https://gitlab.com/kicad/code/kicad/issues/10782
2022-06-22 09:59:37 -07:00
Jeff Young
24ddf1ad20
Don't use zone connections to control optional via flashing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-05-23 10:26:52 +01:00
Seth Hillbrand
2f2e956921
Sync via/pad flashing for null boards
...
Pads return true by default and so should vias
(cherry picked from commit bfa1661edf
)
2022-04-15 15:15:07 -07:00
Seth Hillbrand
442aae19d9
Separate flashing check for connectivity
...
When building the connectivity database, we should not be using the
connectivity to check for shapes.
To make this deterministic, we introduce two flags (ALWAYS_FLASH and
NEVER_FLASH) that are used with connectivity building to determine
whether a pad is flashed for connectivity or not. ZONE <-> PAD/VIA
connectivity will be checked with ALWAYS_FLASHED and all other
connectivity will be checked with NEVER_FLASHED if they are marked for
potential annular ring removal. If they are not marked for removal,
they will be checked ALWAYS_FLASHED.
Fixes https://gitlab.com/kicad/code/kicad/issues/11114
2022-03-16 17:30:01 -07:00
jean-pierre charras
0440aa3d83
Extend layer LAYER_LOCKED_ITEM_SHADOW to draw shadow markers on other locked items:
...
tracks, texts, graphics.
2022-03-09 18:50:31 +01:00
Jeff Young
293021c58c
ADDED: knockout pcb and fp text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7055
2022-03-08 13:22:20 +00:00
Seth Hillbrand
b5c2f0d39a
Remove the open array in favor of std containers
...
The containers allow iteration, size knowledge and lower bug surface
2022-03-03 16:03:26 -08:00
Jeff Young
ec5b7a57ec
Consistency in via dimensions terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11024
2022-03-03 22:40:18 +00:00
Jeff Young
bbfbfc2cd2
High-contrast mode: don't render vias that don't cross high-contrast layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8740
2022-03-01 16:00:28 +00:00
Jeff Young
aa2c8e9b0c
A more discerning un-flashed-connectivity test.
2022-02-20 23:49:02 +00:00
Jeff Young
d2de114d21
More performance optimizations.
2022-02-15 12:20:34 +00:00
Jeff Young
7ccac79192
More wxString wide literals.
2022-02-05 21:29:34 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
c9487bad18
Move BOARD_ITEM::Rotate() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Marek Roszko
c91d3e3cf9
Remove some more wxPoint
2022-01-01 14:12:20 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Jeff Young
58d4ac2a97
Keep netnames on tracks within the viewport when possible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2032
2021-12-24 17:11:01 +00:00
Jeff Young
ef10b36948
Add mask-to-copper clearance parameter and rename mask margin.
2021-12-24 12:36:41 +00:00
Jeff Young
e26341d424
Cleanup.
2021-12-23 20:36:18 +00:00
Jeff Young
879254abff
Remove track min width from the status bar.
...
It presents an over-simplified picture. Better to use Inspect >
Constraints Resolution....
Fixes https://gitlab.com/kicad/code/kicad/issues/9623
2021-11-12 17:31:50 +00:00
Jeff Young
22ba640c2b
Remove locking from footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9496
2021-10-31 16:33:03 +00:00
Jeff Young
f724fe7eff
Move bbox padding to RTrees so it doesn't interfere with hittesting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Wayne Stambaugh
1f7fd436a2
Move board object polygon code into the object source files.
...
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04:00
Jeff Young
9b9e379aa0
Overhaul arc internal model to not over-specify information.
2021-10-15 12:45:43 +01:00
Jeff Young
f73042fe24
Some minor performance enhancements.
2021-09-28 14:28:35 +01:00
Jeff Young
1a252b4f96
Add a compile error for ill-defined rules, and more performance.
...
Also adds const-safety to GetBoard().
2021-08-16 12:14:17 +01:00
Jeff Young
a208dac8d8
Convert hole clearance tests from NPTH holes to all holes.
2021-08-09 22:26:00 +01:00