Alex
371f6d917f
Use VECTOR2I::extended_type instead of long, and int for numeric limits.
2022-08-16 12:08:55 +00:00
Alex
6d739ca9da
Improve handling of long distances
2022-08-16 12:08:55 +00:00
Jeff Young
509d233d97
Fix knockout text bounding boxes and hit testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12133
2022-08-06 00:00:04 +01:00
Jeff Young
b727bfc16d
Performance: avoid sqrt at all costs.
2022-07-16 18:42:32 +01:00
Jeff Young
d0547cbde7
Don't allow 0 line-width for unfilled shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12010
2022-07-16 16:26:05 +01:00
Jeff Young
0953395c87
LIB_SHAPE slightly abuses SHAPE_POLY_SET by using it for line chains.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11956
2022-07-08 21:35:40 -06:00
Jeff Young
007906cd16
Fix a degeneracy bug in arc collisions.
...
This also fixes a failure to use the correct effective width for
shapes (which might, for instance, inherit their widths from schematic
defaults, netclasses, etc.).
Fixes https://gitlab.com/kicad/code/kicad/issues/11358
2022-04-08 16:15:58 +01:00
Jeff Young
9402b2aeda
Take fill into account when hit-testing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11305
2022-04-01 22:40:29 +01:00
Jeff Young
4f62960334
Update message panel from PCB point editor and SCH drawing tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11186
2022-03-21 10:32:36 +00:00
Seth Hillbrand
cd7141fd10
Cache read arc data for stability
...
Arcs can be altered by the process of changing from on-disk
representation to in-memory representation. Saving back to disk without
modifying the arc should not modify the calculated values.
This stores a copy of the on-disk representation that is only used to
save back to disk in the event that the arc is not modified during
editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10442
2022-03-04 15:20:31 -08:00
Jeff Young
d299ddbc7e
Cleanup.
2022-02-27 12:05:39 +00:00
jean-pierre charras
ff277a36af
EDA_SHAPE::MakeEffectiveShapes(): protect against empty polygons.
...
Fixes #10713
https://gitlab.com/kicad/code/kicad/issues/10713
2022-02-02 20:40:54 +01:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Jeff Young
4eac8d7c66
Remove unit-less angles from geometry lib APIs.
2022-01-20 21:10:04 +00:00
Jeff Young
3ba89f50ef
Maybe, just maybe, fix LibEdit arc parsing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-19 22:22:18 +00:00
Jeff Young
8445783216
Fix backwards arcs in legacy LIB_ARCs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-18 14:08:47 +00:00
Jeff Young
5cc3368b14
Fix bounding boxes and hittesting for arcs in eeschema.
2022-01-16 23:54:59 +00:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
Jeff Young
9b661aea10
EDA_ANGLE for plotters.
...
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
jean-pierre charras
431560a46b
EDA_SHAPE::SwapShape() : add missing items to the swap list.
...
Some items (color, fill) were missing in list, so the undo/redo was incorrect
2022-01-14 09:40:15 +01:00
Seth Hillbrand
d5faac7614
Better fix for missing end segment
...
Rather than skipping our endEdit() call in libedit, we need to
parameterize whether we want the shape open/closed. Closed will remove
the last segment if it lands on the first point. We don't want that
but we do want to remove the last point if it duplicates the second to
last (in the case of double-clicking)
Fixes https://gitlab.com/kicad/code/kicad/issues/10334
(cherry picked from commit 55020c2b89
)
2022-01-10 13:39:39 -08:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Jeff Young
f1410f0240
Line styles for PCBNew shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2150
2021-12-24 12:36:59 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Seth Hillbrand
42f63b679d
Check for proper winding when creating an EDA_SHAPE
...
There is a defined order to arc points in the EDA_SHAPE. When creating
the new object, we need to check that that order is preserved on
conversion
2021-12-07 10:51:43 -08:00
Jeff Young
78be5df39a
Don't allow negative line widths to shrink bounding box.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9776
2021-11-29 20:02:03 +00:00
Jeff Young
7ccf658379
Fix stupid coding error.
...
(Don't use epsilon on non-coordinate values, and in particular,
definitely not on polygon vertex count.)
2021-11-29 19:33:32 +00:00
Jeff Young
dede3f5709
Implement an EPSILON for library/schematic/board checking.
...
This is mainly to not get caught out when format changes result in
different values being stored vs. calculated (such as for arcs).
2021-11-29 15:08:21 +00:00
Jeff Young
5f8e0ef1e0
Patch up arc hit-testing and printing for 6.0
...
This could use another look when we're not so near release. We
really shouldn't need to special case eeWinding vs. not eeWinding.
Fixes https://gitlab.com/kicad/code/kicad/issues/9491
2021-10-30 15:10:07 +01:00
Jeff Young
f724fe7eff
Move bbox padding to RTrees so it doesn't interfere with hittesting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Wayne Stambaugh
1f7fd436a2
Move board object polygon code into the object source files.
...
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04:00
qu1ck
09a2701136
Fix arc angle calculation and python API for it
...
1. It's impossible to use methods that modify parameters in swig so
I extend it in wrapper
2. Simplify GetArcAngle() and fix the bug where it lies about 360
degree arc to be 0 degrees.
2021-10-20 10:38:42 +00:00
Roberto Fernandez Bautista
99442350a4
CADSTAR PCB: Fix loading of arc tracks following recent PCB_ARC changes
...
We no longer have any knowledge of the original start/end of the arc,
since SetArcAngleAndEnd swaps the start and end to ensure the arc is
always clockwise at the end.
Adds a method EDA_SHAPE::EndsSwapped() to notify whether the start/end
point of the shape were swapped.
2021-10-17 17:57:51 +01:00
Jeff Young
f9861b4a6c
Finish arc rework and push out to file formats.
2021-10-15 12:45:43 +01:00
Jeff Young
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Jeff Young
9b9e379aa0
Overhaul arc internal model to not over-specify information.
2021-10-15 12:45:43 +01:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00