Commit Graph

112 Commits

Author SHA1 Message Date
Seth Hillbrand e8c96a8a20 Fixups for a9ae86ee
Correcting a couple mistakes and clarifying rounding
2024-05-31 17:31:50 -07:00
Seth Hillbrand a9ae86eefd Cleanup geometry functions
Added Distance(VECTOR2) function that returns a double.  Removed
superfluous EuclideanNorm, GetLineLength, integer constructor for
EDA_ANGLE (this promotes to double in the CTOR), DistanceLinePoint and
HitTestPoints

Also extended the size for arc calculations that get distances to center
points to avoid overflow
2024-05-31 12:26:37 -07:00
xx 5ff61ae561 Add rectangle height and width to properties
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17181
2024-05-27 17:28:32 +00:00
Jeff Young 1290228fbf Don't modify radius when editing center.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17192
2024-05-05 19:58:01 +01:00
Alex Shvartzkop 16e3692e71 Build time optimizations. 2024-04-27 23:49:13 +03:00
Jeff Young d761b4f22f RIP LIB_TEXTBOX and LIB_SHAPE. 2024-04-16 16:31:16 +01:00
Jon Evans 1dbe78c68b Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
Jeff Young 5d37a00759 Table plotting for PCBNew.
Also fixes some bugs with property exposure that (along with
other things) allowed you to put table cells on a different
layer than their parent table.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17438
2024-03-24 16:49:33 +00:00
Jeff Young 58df9c96f4 ADDED: Expose units and DeMorgan to properties system.
(Also fixes inheritance bug in LIB_PIN's properties.)
2024-03-21 16:19:55 +00:00
Jeff Young e445249720 ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
Jeff Young 4a561b04bc Code cleanup and compiler warnings.
(cherry picked from commit 51848a0b43)
2024-02-23 16:53:35 +01:00
Jeff Young 36275bcbc5 Make sure polygonization error is on correct side.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16869
2024-02-03 20:17:31 +00:00
Marek Roszko 4b12534dbd Fix property editor for graphic circles 2024-01-30 22:00:09 -05:00
Alex Shvartzkop f99505e190 Fix arc editing bugs when endpoints match.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16532
2024-01-16 16:17:45 +03:00
Alex Shvartzkop 5bd620d8f9 Support Bezier curve editing in eeschema. 2024-01-16 14:11:25 +03:00
Alex Shvartzkop 2a2dc3a508 Eeschema: Allow 180 deg arcs when editing, enable center point snapping. 2023-12-02 17:08:56 +03:00
Seth Hillbrand 75c6b0ab28 Added IPC2581 support
IPC2581 is a modern production file exchange system.  It provides
single-file data output for an entire board including BOM and netlist
information.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
Graham Keeth 13a2c6b017 Hide some irrelevant properties from DRC rule editor
- Fill_Color
- Line_Color
- Thermal_Spoke_Template
- Number_Box
2023-11-26 00:29:16 +00:00
Jeff Young df83e24eb7 Cleanup.
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Jeff Young 7277ae93fa Close a polygon that is marked as filled before hit-testing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16096
2023-11-16 14:07:05 +00:00
Jeff Young 7e46e85c7d Update copyrights. 2023-11-11 15:29:34 +00:00
Jeff Young 6ecfc89a4a Honour originTransforms in search panels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15031
2023-11-09 18:41:18 +00:00
Alex Shvartzkop 3d5721a217 Fix some warnings. 2023-10-31 04:25:19 +03:00
Jeff Young 87571ed8b8 Not all font sizes, fill properties or color properties are the same. 2023-10-30 17:30:15 +00:00
Jeff Young fc0017fc95 Normalize rects higher up.
We don't want to normalize footprint children to their board-relative
coordinates.
2023-10-29 11:45:16 +00:00
Jeff Young 84d42a2669 Normalize rectangles after rotation/flipping.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14341
2023-10-28 20:55:46 +01:00
Seth Hillbrand d99641be40 ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates

Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Alex Shvartzkop d7863b09c5 Move CORNER_STRATEGY out of SHAPE_POLY_SET. 2023-10-06 15:42:50 +03:00
Jeff Young 58889f8120 Improve shape properties dialog layout.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15683
2023-09-19 17:04:05 +01:00
Jeff Young d6b75c64e1 ADDED: custom-shaped pad spoke templates. 2023-09-13 23:34:25 +01:00
Jeff Young 402b701c9e Formatting. 2023-09-11 22:05:24 +01:00
Alex Shvartzkop 9f63820ed4 Fix a bug in RebuildBezierToSegmentsPointsList. 2023-09-11 09:35:07 +03:00
Alex Shvartzkop 5b438d6398 Optimize makeEffectiveShapes for polygons. 2023-09-07 10:57:02 +03:00
jean-pierre charras cbcaaa001c fix some Coverity and compil warnings. 2023-09-05 20:30:08 +02:00
Alex Shvartzkop a84c01b1ed Fix properties crash when selecting libedit arc and non-EDA_SHAPE. 2023-09-05 14:07:43 +03:00
Josue 94e86a69be Update RECT to RECTANGLE 2023-08-29 11:50:22 -05:00
Josue 6429051750 change Rectangle property: Length to Height 2023-08-29 11:50:05 -05:00
Josue c3766bb250 Implement Length and Width for RECT 2023-08-29 11:50:02 -05:00
Josue 5061ca54e7 add length and angle properties to segment 2023-08-29 11:49:55 -05:00
Marek Roszko cbc60d90ec Add missing line style prop to eda_shape 2023-08-24 22:32:12 -04:00
jean-pierre charras bc59ed08b4 EDA_SHAPE::TransformShapeToPolygon() for filled SHAPE_T::POLY: use another algo:
previously, for aClearance/width > 0, a seg of segments (width = aClearance*2) was added
to the polygon shape. This is acceptable for polygons having not a log of vertices.
It does not work fine (bad shape, extremeny long calculation time) if there are
a **lot** of vertices.
Now the polygonal shape is just inflated by width/2. Much faster and better shape.
2023-08-18 12:58:48 +02:00
Josue Huaroto 670936096e Change behavior of polygons at the end of drawing. 2023-08-07 22:58:52 +00:00
Alex Shvartzkop 717ee350c8 Support >180 deg arcs in schematic. 2023-08-07 14:18:38 +03:00
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
2023-07-25 09:11:55 +02:00
Jon Evans 632e94ef81 Add a few more schematic properties 2023-07-01 22:24:25 -04:00
Jon Evans bf2e9f8261 Properties for SCH_LINE
Also rename an incongruous setter
2023-06-24 20:08:42 -04:00
Jeff Young c5e7d800a4 Back out earlier diamond-to-rectangle fix for one that's more targeted.
(And doesn't fail qa_pcbnew.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14828
2023-06-05 21:26:37 +01:00
Jeff Young 4dda7d39ab Tranform diamonds back to rects after rotating to a cardinal orientation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14828
2023-06-05 18:55:18 +01:00
Jeff Young bbd6c80507 Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
jean-pierre charras 10d4c63c31 EDA_SHAPE_DESC(): catch a std::runtime_error when emitted by
template<typename T> T Get( PROPERTY_BASE* aProperty ) to avoid a crash,
and displays in Debug mode the runtime error message.
Fixes #14347
https://gitlab.com/kicad/code/kicad/issues/14347
2023-03-20 16:07:08 +01:00