Tomasz Wlostowski
d937fadd6f
Migrate RC_ITEM to use shared_ptr
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
2b6ef6964a
qa/pcbnew: test introspected properties in the expression compiler
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
7c15c788b8
qa/pcbnew: boost test fixture for libeval_compiler
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
4abe71d2ef
libeval_compiler: implemented unary +/- operators
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
c88c8102e5
libeval_compiler: fixed segfault for "(number)" expressions.
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
a5a06e3c89
libeval_compiler: general clean up of the Lemon grammar + some smart pointers + killed all memory leaks. WIP!
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
29a01e5515
libeval_compiler: wxString()-ification WIP
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
f6ea753968
pcbnew: implement GetEffectiveShape() for tracks/vias/arcs/texts
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
6358995ff8
EDA_TEXT: rename GetEffectiveShape() to GetEffectiveTextShape() to avoid name aliasing with BOARD_ITEM inteface
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
35e45c5917
drc_proto: edge clearance wip
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
e38796396f
qa/drc_proto: default values for fields in DRC_RULE
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
782fcc6139
qa/drc_proto: fix regressions in DRC_RULE_PARSER
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
59303adaca
BOARD_ITEM: assert on unimplemented GetEffectiveShape()
2020-08-13 14:50:59 +02:00
jean-pierre charras
ffabc17372
style cleanup and a few comments added.
2020-08-13 14:17:53 +02:00
jean-pierre charras
e0351b4e4c
Zone filler: make new algo (no thickness for filled outlines) the default
...
Add also a message info to the pcbnew constraints panel for arc to segment
approx min error value.
2020-08-13 10:01:23 +02:00
Jeff Young
a407befa4c
Fix breakage from layer change.
...
We have to be careful about processing edges on the Edge_Cuts even
when we're talking about a zone on some other layer.
2020-08-13 00:18:09 +01:00
Jeff Young
0c9d08249f
Fix crash where dummy edge doesn't have a valid parent.
2020-08-13 00:07:59 +01:00
Marek Roszko
c36080a250
Immediate fix to prevent crashing, don't call ClosePlayers twice
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5164
2020-08-12 18:35:18 -04:00
Jeff Young
e05cd0e914
Raise limit to prevent zooming on cross-probing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5149
2020-08-12 22:28:18 +01:00
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.
2020-08-12 22:20:08 +01:00
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
2020-08-12 22:20:08 +01:00
Jeff Young
a6d44676b3
Move commit handling outside of ZoneFiller.
...
This allows us to rever the commit on a cancel.
Fixes https://gitlab.com/kicad/code/kicad/issues/5107
2020-08-12 22:20:07 +01:00
Jeff Young
fad18dccd5
Make sure board design settings get updated when switching boards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5129
2020-08-12 22:20:07 +01:00
Jeff Young
84425f5a40
Fix crash bug from bad static_cast.
2020-08-12 22:20:07 +01:00
Jeff Young
17d3e36bd6
Fix crash bug when condition expression is empty.
2020-08-12 22:20:07 +01:00
Graham Keeth
9057a46a20
circular pad array wizard: pin 1 optionally square
...
Add option to make pin 1 rectangular to Circular Pad Array wizard.
Default behavior is unchanged (oval pin 1).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4614
2020-08-12 20:49:55 +00:00
Seth Hillbrand
c4de3c8f1a
Move mutual capacitance wizard to correct folder
2020-08-12 11:26:01 -07:00
Qbort
b41892e4da
Rename class GROUP in pcbnew to PCB_GROUP
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5156
2020-08-12 15:36:08 +01:00
Seth Hillbrand
826f81f57d
eeschema: Don't error when replacing references
...
Avoids an unneeded error message when checking the validity of the
replace action
2020-08-12 07:04:51 -07:00
J. F
5f2a1b31ed
Add mutual capacitance button wizard
...
This adds a python script to build a mutual capacitance button per the
document from http://ww1.microchip.com/downloads/en/appnotes/doc10752.pdf
(cherry picked from commit 1ebf7d349b92d1977d224c9219fca5b5ac225ce8)
2020-08-12 06:42:42 -07:00
Seth Hillbrand
d8d8f4f670
Removing extra parameters to super() calls
...
The extra parameters seem to cause problems for some Python
configurations and are not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/4896
2020-08-12 06:22:45 -07:00
Blake Smith
9614f6d0d9
Fix PadGridArray super call
2020-08-12 06:22:45 -07:00
Seth Hillbrand
ab58b67842
Adding triangulation viewing to AC
...
This adds a helper routine to visualize the quality of our
triangulation. It also renames an excessively long variable name for
the arc editor
2020-08-12 06:22:45 -07:00
jean-pierre charras
eae739d98e
ZONE_CONTAINER::TransformSolidAreasShapesToPolygonSet(): for polygons with outline
...
thickness, use another algo to create shapes mainly used in 3D viewer.
For the 3D viewer, the calculation time to build zones is significantly faster.
2020-08-12 10:13:54 +02:00
Seth Hillbrand
7c455f2357
First pass at DRC RTree functionality
...
This implements a copper-layer RTree with functions for iterating over
the elements in a copper layer and providing Nearest Neighbor returns
for BOARD_CONNECTED_ITEMS
2020-08-11 16:52:29 -07:00
Ian McInerney
fedc6519cd
Preserve the externally defined variables in the configure paths dialog
...
Previously the variables that were defined externally weren't being
readded to the variable map, so they would not appear in the dialog
the next time.
2020-08-12 00:25:58 +01:00
Ian McInerney
47f7c616f8
Fix Python environment variable handling
...
The variables in the common settings struct are only updated on
save, so Python must use the ones from Pgm to get its values.
This does lead to the observation that Python's changes to the
variables do affect KiCad (they can break resolvers). So apparently
it can mess with us but we can't mess with it easily.
Also, improve the environment variable tracing infrastructure to capture
more changes.
2020-08-12 00:14:19 +01:00
Ian McInerney
63b53c3968
Force regeneration of the lib tree on first load
...
Just setting the text field is not guaranteed to fire
a text event, so we must forcefully call the regenerate
function to ensure the preselect is handled.
Fixes https://gitlab.com/kicad/code/kicad/issues/4105
2020-08-12 00:14:19 +01:00
Jon Evans
433616cbf0
Prevent segfault on schematic frame close
...
We are seeing multiple events firing when closing via the manager frame.
Cleaning up the schematic should only happen once.
2020-08-11 18:56:47 -04:00
Jeff Young
d97e519036
Fix typo in regex.
...
Had to get rid of the regex as Search actually changes the user's
selection, which is not what we want. (It wasn't earlier because
the search would always fail due to the typo.)
It's much faster now that we're not scanning from the beginning every
time.
2020-08-11 22:04:38 +01:00
Jeff Young
bc9723340a
Add support for print-as-per-items-tab.
...
ADDED a print mode which allows the Layers Manager's Items tab to
control the visiblity of various items.
Fixes https://gitlab.com/kicad/code/kicad/issues/3894
2020-08-11 20:42:08 +01:00
Jeff Young
7f65b31cb6
Beautify the PCBNew print dialog.
...
Mostly fix some uneven spacing, but also indent the color theme
selection under the checkbox which controls it.
2020-08-11 20:42:08 +01:00
Joshua Redstone
ee428876ec
ADDED: Group/Ungroup function
...
This implements the group/ungroup functions to mark a set of EDA_ITEMs as a unit, allowing them to be moved and rotated as a unit
2020-08-11 19:37:07 +00:00
Jeff Young
f65a0037dc
Display violation layer (and select it) for DRC errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5123
2020-08-11 17:47:39 +01:00
Jeff Young
8b67d5185a
Update keepout rule syntax example to something with less "magic".
2020-08-11 15:22:48 +01:00
Jeff Young
a0f95855d1
ADDED board repair tool.
...
Currently it just fixes duplicate UUIDs.
2020-08-11 15:02:27 +01:00
Jeff Young
5ab39b7c06
Clean up reannotation UI.
2020-08-11 15:02:27 +01:00
jean-pierre charras
9c817638d9
ZONE_CONTAINER::TransformSolidAreasShapesToPolygonSet(): fix incorrect transform
...
For zones filled using the new algo (filled areas without thickness), a outline
with thickness was added, that is incorrect.
Used only in 3D viewer.
2020-08-11 11:49:08 +02:00
jean-pierre charras
29d6fe88f0
3D viewer: do not show via/pad shapes of pads not connected on copper layers.
...
Show the same vias/pad shapes as plot functions.
2020-08-11 11:26:00 +02:00
PJM
a06a0c1236
Fix Pcbnew tree order in "Preferences" tree
...
Eeschema and Pcbnew display the same dialog panels in a different order
in the 'Preferences' tree. This code make Pcbnew match the order of
Eeschema.
Fixes issue: https://gitlab.com/kicad/code/kicad/-/issues/5147
2020-08-10 19:01:04 -07:00