Jeff Young
6f3b0c452f
Make sure unfilled zones get an MD5 hash.
Fixes https://gitlab.com/kicad/code/kicad/issues/6515
5 years ago
Werni
0e44f5128c
Add const specifiers
5 years ago
Jeff Young
1ce1e493d6
A rule zone is not really a BOARD_CONNECTED_ITEM.
Or at least it shouldn't always be treated as one.
Fixes https://gitlab.com/kicad/code/kicad/issues/6382
5 years ago
Jeff Young
7bd31d5237
Naming conventions.
5 years ago
Jeff Young
f5443de7f9
D_PAD -> PAD.
5 years ago
Jeff Young
f7333ad64a
Update some classnames including archaic zone names.
5 years ago
Jeff Young
fc6fc88219
Zone fill fixes for divots and hatching + more debug layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/6203
5 years ago
Jeff Young
92d84b0d67
Naming updates.
5 years ago
Jeff Young
1703729269
Require explicit decl of maxError and errorLocations.
This should reduce both performance issues and clearance issues.
5 years ago
Jeff Young
22cde88ba9
Allow chamfering/filleting of zone/board edge intersections.
Fixes https://gitlab.com/kicad/code/kicad/issues/5947
5 years ago
Jeff Young
7a4900b8dc
PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
Also updated footprint text and zone types for consistencey.
5 years ago
Jeff Young
fb7f98b51d
Implement visual zone dumping and fix the default fill algo setting.
5 years ago
Jon Evans
18e17abd6a
Rename "Keepout" to "Rule Area"
These objects can now be used in advanced DRC rules and
not just for keeping things out. Also remove the restriction
that at least one of the "basic" keepout rules must be set,
so that these areas can be used for more advanced rules.
5 years ago
Jeff Young
4badcba4c2
Zone fill performance improvements
1) better load-balancing for deferred zones
2) sort zones by priority before filling
3) retire BOARD::GetZoneList() which had a horrible performance profile
4) implement a zone bounding box cache
5) better checks for IsCancelled() so long fills can be exited
Fixes https://gitlab.com/kicad/code/kicad/issues/5738
5 years ago
jean-pierre charras
456735f803
VIEW::ViewGetLOD() returns double now instead of int.
ViewGetLOD() returns the minimal value of a zoom to show an item.
However a zoom is a double, and using int as minimal value does not
allows setting a correct value in some cases.
5 years ago
Jeff Young
f340636f70
When knocking out higher-priority zone use fill, not outline.
Also fixes a bunch of naming issues, primarily with lowercase for
protected variables, but also some for consistency with other parts
of the code.
Also changes the zone fill radio buttons in Board Setup to be more
generic referring to legacy vs. current, and to have tooltips.
Fixes https://gitlab.com/kicad/code/kicad/issues/5583
5 years ago
Jeff Young
e2e229da96
Finish exorcising the old DRC system.
This moves the various BOARD_ITEM calls to the new system, and make
the DRC_ENGINE long-lived so that it can field those queries.
5 years ago
Jeff Young
514da2f886
Move DRC dialog to new DRC engine.
5 years ago
Jeff Young
e31705d4b3
More source reporting for clearance rules.
5 years ago
Tomasz Wlostowski
2c1bd645b2
pcbnew: initial support for GetEffectiveShape() for zones and modules
5 years ago
Jeff Young
e782794f96
Flesh out object properties and DRC Rule syntax help.
5 years ago
Jeff Young
1cce03acb1
Commenting and formatting.
5 years ago
Jon Evans
bd14f8a82a
ADDED: New appearance control widget for PcbNew
Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls
CHANGED: Simplified object visibilty controls
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1951
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2003
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2254
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4325
5 years ago
Jeff Young
393bb0fd83
Fix assert where geometry routine wasn't ready to handle layers.
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
5 years ago
Jeff Young
463100d67f
Remove a long-standing hack to keep divots out of adjacent zones.
The new algorithm unions any adjacent zones before doing the
chamfer/fillet and then subtracts the other zones back out afterwards.
Fixes https://gitlab.com/kicad/code/kicad/issues/3812
5 years ago
Jeff Young
4317881012
Improve delete-unused-layers to better handle multi-layer items.
Fixes https://gitlab.com/kicad/code/kicad/issues/5116
5 years ago
Jeff Young
e5b50d90a7
Update DRC rules to new layer and disallow grammars.
Also adds support for hooking rules up to named zones.
Fixes https://gitlab.com/kicad/code/kicad/issues/2041
5 years ago
Jeff Young
00e77d1ba4
Implement pad & via aprons for hatched zones.
Fixes https://gitlab.com/kicad/code/kicad/issues/2519
5 years ago
Seth Hillbrand
8a0be64ad4
Ensure dangling test takes track width into account
When running a hit test to check if the anchors are connected, we should
loosen the check for tracks to account for the width. Otherwise
connected anchors can be connected in the system but test positive for
IsDangling()
Fixes https://gitlab.com/kicad/code/kicad/issues/5027
5 years ago
Jeff Young
be957e0105
Convert parent-less module items to board items on paste.
Fixes https://gitlab.com/kicad/code/kicad/issues/4938
5 years ago
Jeff Young
f97c50bfde
Give excluded DRC items their own layer.
(And fix a bug with the new mulit-layer zones and rule-based keepouts
at the same time which prevented me from testing it.)
Fixes https://gitlab.com/kicad/code/kicad/issues/4954
5 years ago
Maciej Suminski
89698a727b
Removed const modifier for returned non-reference types
6 years ago
Jon Evans
f8bfb2bc16
Fix several issues with multilayer zones
- Properly refill if layer set is modified
- Fix some threading issues with island removal
- Fix copy constructor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4765
5 years ago
Jon Evans
1d5e4f86af
ADDED: Copper zone island removal is now configurable
ADDED: Zones and keepouts can now be named (for DRC)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4392
5 years ago
Jon Evans
0d4ee39f75
CHANGED: Copper zones can be on more than one layer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1963
5 years ago
Jon Evans
0b34cea3d5
Add an optional name property to zones
5 years ago
Jeff Young
39ec63c4e9
Fix some inconsistencies in clearance priorities.
Fixes https://gitlab.com/kicad/code/kicad/issues/4555
5 years ago
Jeff Young
1db799d841
Implement "disallow" rules and integrate with keepout settings.
5 years ago
Jeff Young
cec857c0f4
Complete hookup of zone filler to new clearance engine.
5 years ago
Jeff Young
d3f017d825
DRC rules parser and engine.
Fixes https://gitlab.com/kicad/code/kicad/issues/2182
Fixes https://gitlab.com/kicad/code/kicad/issues/2116
Fixes https://gitlab.com/kicad/code/kicad/issues/1958
Fixes https://gitlab.com/kicad/code/kicad/issues/1965
5 years ago
Jeff Young
0f8c7ffd11
Add pad keepout and footprint keepout areas.
Fixes https://gitlab.com/kicad/code/kicad/issues/2365
6 years ago
Jeff Young
f7e518dbc6
Add clearance sources to some DRC violation reports.
6 years ago
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
modified: eeschema/lib_rectangle.cpp
6 years ago
Michael Kavanagh
e4cbeeab4c
Remove dead code in pcbnew
* Remove dead zone printer
* Remove old canvas in pad properties window
6 years ago
Jeff Young
7f1b409305
Remove dead legacy print code.
6 years ago
Ian McInerney
37a4dd927b
Allow deletion of zone cutout areas
ADDED: Ability to delete zone cutout areas
Fixes https://gitlab.com/kicad/code/kicad/issues/4188
6 years ago
Ian McInerney
6b8d81e95d
Add zone area to message panel
ADDED: Area of zone fill is displayed in the message panel
Fixes https://gitlab.com/kicad/code/kicad/issues/2412
6 years ago
Seth Hillbrand
7c28c3838a
Comment-only changes
Makes class comments conform to coding standards
6 years ago
Mark Roszko
19ceb11ae7
Change more enums over to scoped enums
6 years ago
Mark Roszko
11ff16be4e
Switch to scoped enums
6 years ago