A C++ port of earcut.js, a fast, header-only polygon triangulation library.
The library implements a modified ear slicing algorithm, optimized by z-order
curve hashing and extended to handle holes, twisted polygons, degeneracies and
self-intersections in a way that doesn’t guarantee correctness of
triangulation, but attempts to always produce acceptable results for practical
data like geographical shapes.
It’s based on ideas from FIST: Fast Industrial-Strength Triangulation of
Polygons by Martin Held and Triangulation by Ear Clipping by David Eberly.