Details
-
Technical task
-
Resolution: Done
-
P3: Somewhat important
-
None
-
None
Description
QuadPath::contains() currently converts to a QPainterPath and uses its contains() function, which does curve flattening on the curves assuming that they might be cubic.
We should instead just use the QuadPath data and do the intersections with the quadratic curves.
A possible improvement would be to postpone the convex/concave resolution until after the overlap removal, and then do the checks against the polygon made of the baselines for the curves (and line segments) instead. But since we currently use the convex/concave data in the overlap removal for another optimization it kind of depends what gives us the biggest improvement (educated guess is that it would be the current solution, but might be worth testing)