Ian McInerney
2d8b707a3a
Remove dummy pad from group before deleting
The dummy pad doesn't need group information, and it asserts when it has
it and is deleted.
Fixes KICAD-3B9
2 years ago
Jeff Young
f45760062b
ADDED: appearances manager for 3D viewer.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12413
2 years ago
Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2 years ago
jean-pierre charras
a16ab0aae1
Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344 about class PAD_SHAPE.
No actual code change
2 years ago
Jeff Young
a85a2b9cbc
Add via solder mask to 3D viewer rendering.
(Of course, only when vias are not tented.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15164
2 years ago
Mike Williams
993bb84240
PCB_FIELD: bug fixes
2 years ago
Jeff Young
5875f89531
Centralize text size clamping.
Also introduces alg::clamp to improve readability of
std::max( min, std::max( value, max ) )
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14876
2 years ago
Jeff Young
65e53b8ecd
Move SHAPE_POLY_SET::Inflate's error spec from a seg-count to a max-deviation.
1) Also reorders parameters to make sure the compiler helps out.
2) This also makes it harder to mess up the discrepency between
BOX2I/wxRECT/etc::Inflate() and SHAPE_POLY_SET::Inflate.
3) Also fixes a couple of bugs where the corner strategy was passed
in as a segCount.
4) Also fixes a couple of bugs where the error wasn't forced to the
outside to match the ERROR_LOCATION.
5) Also fixes a couple of bugs where the seg count was specified
without regard to an already passed-in max deviation
3 years ago
Jeff Young
c71cf21e2f
Use rendered text to generate bounding box for knockout text.
Don't open-code knockout text shape generation in several different
places.
Make sure triangulated knockout text gets clearance added when
specified.
Collapse duplicated footprint text item plot routine (they're no
longer any different from plotting pcb text items).
3 years ago
jean-pierre charras
484acd4246
BOARD_ADAPTER::addText() do not call Fracture twice: it is useless.
3 years ago
Jeff Young
b41d446f58
Fix a bunch more issues with sheetpaths and allowExtraText.
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.
There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.
Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
3 years ago
jean-pierre charras
1406341d2d
Fix a few doxygen errors (no actual code change)
3 years ago
Jeff Young
3b63d70d01
Centralize NPTH has-annulus processing.
Fixes https://gitlab.com/kicad/code/kicad/issues/13437
3 years ago
Jeff Young
bbd6c80507
Collapse FP_* down into their PCB_* equivalents.
3 years ago
Seth Hillbrand
72ebe5a429
Avoid drawing null-arcs in 3d viewer
An arc with no radius or no angle is not visible and should be avoided
Fixes https://gitlab.com/kicad/code/kicad/issues/14271
3 years ago
Jeff Young
23accffc6d
Add Property Inspector support for dimension objects.
Includes changing the class hierarchy so that dimension objects inherit
from PCB_TEXT rather than containing a PCB_TEXT member variable.
3 years ago
Marek Roszko
aacc9746e3
Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere
3 years ago
Jeff Young
203f0f66fb
Guard 3D viewer against degenerate shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/13693
3 years ago
Jeff Young
cef7cd8f7c
Move default font to RENDER_SETTINGS.
Fixes https://gitlab.com/kicad/code/kicad/issues/12723
3 years ago
Jeff Young
d16b23d16e
Name shortening and line-break reduction.
3 years ago
Jeff Young
19b00b5d57
Cleanup.
3 years ago
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
3 years ago
Jeff Young
fa11e1c097
Take text height into account as well as thickness for knockout margin.
Also centralizes calculation so all clients will get the same answer.
Fixes https://gitlab.com/kicad/code/kicad/issues/11636
4 years ago
Roberto Fernandez Bautista
0e2429b5cc
3D Viewer: Don't render zero-width circles
4 years ago
Jeff Young
65185f53a1
Rotate fp zones before comparing with library versions.
Also includes some performance fixes to not copy around triangulation
data when it's not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
4 years ago
Jeff Young
e03b06927d
Fix rotation problems for knockout fp text, and implement 3D rendering.
Fixes https://gitlab.com/kicad/code/kicad/issues/11086
4 years ago
jean-pierre charras
d3e9165146
3D viewer: fix overzealous pad filter in BOARD_ADAPTER::addPads()
Fixes #11092
https://gitlab.com/kicad/code/kicad/issues/11092
4 years ago
Jeff Young
0dc857b5ab
Clean up pad handling in 3D viewer.
Most importantly, create F_Cu/B_Cu layers if they're otherwise empty
but we have plated pads to render on them.
Fixes https://gitlab.com/kicad/code/kicad/issues/10207
4 years ago
jean-pierre charras
9fec8aa269
3D viewer: disable thickness rendering on tech layers when disabled for copper.
Building the vertical walls around shapes to show layer tickness is very
time consuming. It can be disabled for copper layers but was always enabled
for other layers.
Now layer thickness is enabled or disabled for all layers.
4 years ago
Jeff Young
8d19b52aed
Line stroking for 3D view.
Fixes https://gitlab.com/kicad/code/kicad/issues/10887
4 years ago
Jeff Young
2172810600
Performance: better sharing of zone fills.
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
9582457fef
Be explicit about literal wide-strings.
4 years ago
Jeff Young
b070914216
Fix cardinal sin of macro definitions.
4 years ago
Jeff Young
5739505aa3
TextBoxes for PCBNew.
4 years ago
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
4 years ago
Jeff Young
07013d00e1
More EDA_ANGLE.
4 years ago
jean-pierre charras
a6c85a9204
3D viewer: fix a truncation taht created PCB_TEXTs with 0 width (not visible)
Fixes #10377
https://gitlab.com/kicad/code/kicad/issues/10377
4 years ago
jean-pierre charras
cd8d6ba079
3D viewer: fix bad rendering of circles and segments due to truncation.
the item radius or thickness was a int. should be a double.
Fixes #10357
https://gitlab.com/kicad/code/kicad/issues/10357
4 years ago
Jeff Young
73a2984963
Fixes for rotated footprint text.
4 years ago
Jeff Young
e811a39881
Readability.
4 years ago
Jeff Young
236feeb592
Cleanup GRText APIs, 3D Viewer <-> board APIs, and Plotter APIs.
Also fixes a bug where outline fonts weren't being handled for footprint
text in 3D Viewer, and a copy/paste error in stroke font handling for
both PCB and footprint text in 3D Viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
4 years ago
Jeff Young
7d032f9c2f
Outline font rendering for Cairo, plotter, printer and 3D viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
4 years ago
Jeff Young
aef2a3fca4
Default font for eeschema.
4 years ago
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
4 years ago
Marek Roszko
2d1357dc54
Swap some of the 3d viewer to VECTOR2I
4 years ago
Jeff Young
ccb94fd1a7
APIs for passing KIFONT::FONT pointers around.
Also some clean-up and bug fixes.
4 years ago
Jeff Young
fa908e1f98
Dimensions for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
4 years ago
Jeff Young
ef10b36948
Add mask-to-copper clearance parameter and rename mask margin.
4 years ago
Jeff Young
92e589b398
Use board maxError value, and return SH_ARC for unfilled circle.
4 years ago