== Description ==
This differential implements the function `BKE_gpencil_stroke_perimeter` and an operator (`GPENCIL_OT_stroke_to_perimeter`) that uses it.
The `BKE` function returns a flat float array with elements `x, y, z, pressure, strength` representing the points on the perimeter of the stroke.
== Demo ==
Here is a video, showing the operator in action:
{F8290061}
== Issues ==
- [X] The algorithm does not take the `line_change` stroke thickness adjustment in the layer settings into account.
- [X] Running the operator on multiple strokes at once freezes blender.
- [X] Code needs to be refactored to be rebased onto `greasepencil-refactor`
- [ ] End caps don't have the right thickness
- [ ] Inner miter on corners does not take the thickness of points into account
- [ ] F6 menu does not pop up
== Performance ==
These tests were done on a ThinkPad E580 running Ubuntu 18.04.3 LTS.
{F8301133, width=100%}
We can clearly see the `O(n)` runtime of the algorithm.