kicad/libs/kimath/include/geometry
Jeff Young 4ed267394a 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
2023-05-27 01:35:40 +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 Fix rotation/flipping properties for text boxes 2023-03-04 13:11:15 -05: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:21:04 -08:00
seg.h Cleanup includes in kimath 2023-03-10 16:38:35 +00:00
shape.h Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05: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-11 15:51:00 +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-05-27 01:35:40 +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-04-25 10:32:46 -07:00
shape_rect.h Another set of C5266 warning fixes 2023-05-18 22:46:57 -04: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