Jeff Young
da1405ec6a
Draw off-board pads when drawing off-board silk.
2023-09-22 20:57:31 +01:00
Jeff Young
c1a988e3ff
Handle plated vs non-plated copper for copper other than pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5569
2023-09-22 18:48:29 +01:00
Jeff Young
78f70b45e6
Minor readability improvements.
2023-09-22 18:48:29 +01:00
Jeff Young
8d06a794f4
Simplify code.
...
DrawAllCameraCulled() can handle up to 4 knockout lists, and any
of them can be null, so don't dance around how we call it.
2023-09-21 14:02:23 +01:00
Jeff Young
c0ce543464
Use standard KiCad abbreviations for TH and NPTH.
2023-09-20 14:27:57 +01:00
jean-pierre charras
a7b1448ccd
Fix a compil warning.
...
Fix also an incorrect comment.
2023-09-14 15:19:46 +02:00
Jeff Young
8cf291e423
Overhaul 3D degenerate shape protection.
2023-09-14 12:33:54 +01:00
Jeff Young
f45760062b
ADDED: appearances manager for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12413
2023-08-14 18:08:36 +01:00
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
2023-07-12 18:28:02 +01:00
jean-pierre charras
6618cda214
3D viewer: use the right color theme (the one used in the board editor)
...
Fixes #14616
https://gitlab.com/kicad/code/kicad/issues/14616
2023-05-01 16:51:27 +02:00
Jeff Young
3b63d70d01
Centralize NPTH has-annulus processing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13437
2023-04-08 15:06:49 +01:00
Jeff Young
d16b23d16e
Name shortening and line-break reduction.
2022-10-21 18:41:39 +01:00
Jeff Young
8d19b52aed
Line stroking for 3D view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10887
2022-02-17 18:02:56 +00:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
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
2022-01-10 14:17:11 +00:00
jean-pierre charras
0f0a540a65
Panel 3D previewer: for show 3D body shapes, regardless the 3D viewer itself.
...
the Panel 3D previewer is made to show 3D body shapes, so do not show them
when disabled in the board 3D viewer, is really stupid.
2022-01-06 12:04:28 +01:00
Marek Roszko
2d1357dc54
Swap some of the 3d viewer to VECTOR2I
2021-12-29 14:20:40 -05:00
Jeff Young
dabc75bee8
Source 3D dimensions from board stackup.
...
Also includes a performance improvemnt by caching the 3D model matrices.
2021-12-24 21:10:28 +00:00
Jeff Young
68d2630d08
Flatten a layer of indirection out of 3D config settings.
2021-12-24 13:08:54 +00:00
Jeff Young
6c0110ecd3
Naming conventions.
...
There's nothing "legacy" about the OpenGL 3D renderer.
2021-10-21 14:30:03 +01:00
Jeff Young
bff247b08a
Hook up 3D viewer colors to board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
Jeff Young
16b0147af8
Prefix DIMENSION types.
2021-06-11 17:59:44 +01:00
jean-pierre charras
23667fc4c4
3D viewer: make solder paste layer thickness bigger than the mask layer.
...
Some specific footprints need shapes on paste layer covering the mask layer,
so ensure these shapes are visible.
Fixes #8041
https://gitlab.com/kicad/code/kicad/issues/8041
2021-03-26 18:02:30 +01:00
Wayne Stambaugh
926cc3a00d
3D Viewer: more code cleaning and naming improvements.
2021-01-07 14:33:43 -05:00
Wayne Stambaugh
1c7a5c46e5
3D Viewer: member variable and method naming improvements.
...
A few build improvements thrown in for a good measure.
2021-01-05 17:24:29 -05:00
Wayne Stambaugh
710e621c6a
3D Viewer: remove all instances of "c" prefix from file names.
2021-01-03 17:44:49 -05:00
Wayne Stambaugh
8416c1fc37
3D Viewer: remove all instances of "C" prefix from object names.
2021-01-02 17:45:36 -05:00
Wayne Stambaugh
f8efe4a65a
3D viewer code cleaning round 5.
2020-12-16 17:11:05 -05:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
63a54d003e
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
9106cc19bf
Yet another tranche of module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
8c947b69b0
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
fc9cf1d827
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
f5443de7f9
D_PAD -> PAD.
2020-11-13 15:16:24 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Jeff Young
f7333ad64a
Update some classnames including archaic zone names.
2020-11-12 10:31:25 +00:00
Mario Luzeiro
b06db80151
3D-Viewer: raytracing, implement an outline board cut
...
it cut board items that are outside and on the edge of the board.
Allows castellations render.
2020-11-06 20:21:40 +00:00
Seth Hillbrand
f8a4edb1c9
First pass renaming module to footprint
...
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Jeff Young
3c01147f10
Fix 3D hole knock-out of silkscreen.
...
It still doesn't knock-out the board edges, but this is a good first
step.
Fixes https://gitlab.com/kicad/code/kicad/issues/4837
2020-10-01 11:49:28 +01:00
Mario Luzeiro
ab57c93c98
3D-Viewer: add selection color as an option
2020-09-28 02:26:25 +00:00
Jeff Young
e2bc7557cc
Clean up arc/circle polygonization.
...
1) For a while now we've been using a calculated seg count from a given
maxError, and a correction factor to push the radius out so that all
the error is outside the arc/circle. However, the second calculation
(which pre-dates the first) is pretty much just the inverse of the first
(and yields nothing more than maxError back). This is particularly
sub-optimal given the cost of trig functions.
2) There are a lot of old optimizations to reduce segcounts in certain
situations, someting that our error-based calculation compensates for
anyway. (Smaller radii need fewer segments to meet the maxError
condition.) But perhaps more importantly we now surface maxError in the
UI and we don't really want to call it "Max deviation except when it's
not".
3) We were also clamping the segCount twice: once in the calculation
routine and once in most of it's callers. Furthermore, the caller
clamping was inconsistent (both in being done and in the clamping
value). We now clamp only in the calculation routine.
4) There's no reason to use the correction factors in the 3Dviewer;
it's just a visualization and whether the polygonization error is
inside or outside the shape isn't really material.
5) The arc-correction-disabling stuff (used for solder mask layer) was
somewhat fragile in that it depended on the caller to turn it back on
afterwards. It's now only exposed as a RAII object which automatically
cleans up when it goes out of scope.
6) There were also bugs in a couple of the polygonization routines where
we'd accumulate round-off error in adding up the segments and end up with
an overly long last segment (which of course would voilate the error
max). This was the cause of the linked bug and also some issues with vias
that we had fudged in the past with extra clearance.
Fixes https://gitlab.com/kicad/code/kicad/issues/5567
2020-09-11 11:23:49 +01:00
Mario Luzeiro
1ab968e72f
3D-Viewer: render different materials plated and non plated copper
...
implement on OpenGL
2020-09-08 21:02:19 +00:00
Mario Luzeiro
3544bc09fd
3D-Viewer: remove not used inner holes containers
2020-09-08 21:02:19 +00:00
Mario Luzeiro
306a8f57f7
3D-Viewer: Parameterize sampling options
2020-09-04 15:12:01 +00:00