Add direct handling of quadratic beziers to save compute time and number
of points. Update cubic interpolation to reduce number of points
generated for a given smoothness
Cache data on open and used cached data to avoid multiple re-calcs
Remove minimum line length and number of segments and replace with
standard max error level. Allows us to specify the tolerance of bezier
interpolation
It happens when the segment (aStart, aMid) is horizontal
Probably also when the segment (aEnd, aMid) is horizontal
Slopes with value 0.0 are set to double:: epsilon(), but it was a too small values
generating broken calculations.
Now set to 1e-10 (it seems working).
Fixes#16089https://gitlab.com/kicad/code/kicad/-/issues/16089
Removed no-longer-required differentiation between importing
footprint vs board objects.
Renamed files to match the dialog.
Made Position At and Set Layer optional checkboxes.
Removed Group Items checkbox. (In the unlikely event that you don't
want a group, do an UnGroup after importing.)
Flattened out labelled-sizers in the dialog.
Removed importers blacklist, which hasn't been active for at least 4
years.
Fixed undo/redo bug that caused items to be no-longer-grouped after
a redo.
- add support for color
- support non-uniform scale
- add GetImageBBox()
- fix SVG GetImageWidth/Height not being in mm
- fix import offset not being in mm
- add graphics importer for LIB_SYMBOL
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.
Once the arcs are set in pcbnew, they have integer representation and
can accumulate rounding errors. So we convert the start/end points in
the importer to ensure that the connected points in a DXF remain
connected
Fixes https://gitlab.com/kicad/code/kicad/issues/9827
This update replaces the existing uses of unique pointer creation with
the C++14 std::make_unique call that provides proper memory release in
event of an exception.
* Do not compile dxf old files.
* import gfx, gal mode: make absolute placement working.
* Import gfx in legacy canvas: use it and make interactive placement working
* Take imported line width in account. Ensure DXF line thickness is OK.
* handling empty files in legacy mode.