kicad/libs/kimath/include/geometry
Jeff Young 45c7490180 Outline font performance improvements.
1) Don't fracture font glyphs when generating them; we're going
   to fracture during triangulation anyway.
2) Don't check for self-intersection when deciding to fracture.
   It costs nearly as much as the fracture does.
3) Cache drawing sheet text.
4) Use the current font when checking for cache validity.
5) Parallelize glyph triangulation.
6) Don't invalidate bounding box caches when offset by {0,0}
7) Use the glyph cache when generating text effective shape.
8) Short-circuit NormalizeJustification() if its center/center.
9) Don't triangulate for GuessSelectionCandidates()
10) Avoid sqrt whenever possible.
11) Pre-allocate bezier and SHAPE_LINE_CHAIN buffers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14303

(cherry picked from commit 4ed267394a)
2023-06-04 20:57:14 +01:00
..
circle.h Add CIRCLE::Contains( VECTOR2I aP ) and add unit tests 2021-07-03 19:37:50 +00:00
convex_hull.h A bit more angle cleanup. 2022-01-18 09:48:24 +00:00
direction45.h PNS: Add support for 90-degree corner modes 2021-11-03 02:14:23 +00:00
eda_angle.h Add EDA_ANGLE::NormalizeNegative() and qa tests 2023-01-30 19:56:22 +00:00
ellipse.h Support DXF ellipses and elliptical arcs 2022-12-24 22:46:07 -05:00
geometry_utils.h Use explicit coord type in GetClampedCoords. 2023-01-16 19:42:08 +05:00
polygon_triangulation.h Better handling of vertex sorting 2023-02-13 11:23:14 -08:00
seg.h Fix polygon self intersection check 2023-01-26 22:56:47 +00:00
shape.h libs/kimath: SHAPE::Format() can now produce C++ object construction and simple test dump of shapes 2022-10-31 11:17:31 +01:00
shape_arc.h Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
shape_circle.h libs/kimath: SHAPE::Format() can now produce C++ object construction and simple test dump of shapes 2022-10-31 11:17:31 +01:00
shape_compound.h libs/kimath: SHAPE::Format() can now produce C++ object construction and simple test dump of shapes 2022-10-31 11:17:31 +01:00
shape_file_io.h KiCad internal library header file housekeeping. 2021-07-01 13:46:38 -04:00
shape_index.h router: hole as first class objects, wip 2023-04-14 00:09:56 +01:00
shape_index_list.h More NULL expunging. 2021-07-18 14:31:55 -04:00
shape_line_chain.h Outline font performance improvements. 2023-06-04 20:57:14 +01:00
shape_null.h Remove unit-less angles from geometry lib APIs. 2022-01-20 21:10:04 +00:00
shape_poly_set.h Rework Copper Sliver check 2023-05-03 10:22:49 -07:00
shape_rect.h libs/kimath: SHAPE::Format() can now produce C++ object construction and simple test dump of shapes 2022-10-31 11:17:31 +01:00
shape_segment.h geometry: added SHAPE_SEGMENT::Is45Degree() method 2023-01-12 23:37:07 +01:00
shape_simple.h Remove unit-less angles from geometry lib APIs. 2022-01-20 21:10:04 +00:00