kicad/libs/kimath/src
John Beard fa7e842c8c Rework item distribution
This splits the tool into two separate tools: by center and
by even gaps. Previously, this was automatically decided, based on
if the items could have any gaps between them. This was unintuitive
as it would appear to arrange by centre point sometimes but not others.
When items aren't all the same width, the results can then be very
different, based only on the starting positions.

The new behaviour is to have a dedicated tool for each, which echos
how graphical programs like Inkscape manage this.

The by-gaps method is then extended to work for overlapping items
(when items overlap, the overlaps are made equal). The logic is
centralised in kimath/geometry, and some QA is added. This should
make it easier to extend to eeschema, for example.

This also (attempts to) address some rounding issues which could
cause minor, but compounding, errors to build up along the list
of items.

Also, fix bugs in the collection filtering - previously items
like markers were filtered out only after the selection size
was used to compute the gaps between items.
2024-05-05 03:35:09 +08:00
..
geometry Rework item distribution 2024-05-05 03:35:09 +08:00
math Don't show integer overflow errors in release builds. 2023-10-28 15:06:32 -04:00
bezier_curves.cpp Outline font performance improvements. 2023-05-27 01:35:40 +01:00
convert_basic_shapes_to_polygon.cpp TransformOvalToPolygon: make segments align at 45 deg angles. 2023-11-06 14:50:40 +03:00
md5_hash.cpp Silence uint32 to uint8 cast warning 2023-08-17 22:27:15 -04:00
transform.cpp Flip symbol editor's Y axis to match other editors. 2024-04-27 13:47:56 +01:00
trigo.cpp Optimize TestSegmentHitFast 2024-04-29 17:48:32 -07:00