Commit Graph

64 Commits

Author SHA1 Message Date
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