TRIANG = {
function TRIANG(polygon, points, distance) {
let polygonUsed = usePolygonInterpolation
? interpolatePolygon(polygon, distance)
: polygon;
var swctx = new poly2tri.SweepContext(
polygonUsed.map((p) => new poly2tri.Point(p[0], p[1]))
);
if (useGrid) {
for (var i = 0; i < points.length; i++) {
if (useRobustPointInPolygon) {
if (robustPointInPolygon.default(polygon, points[i]) == -1) {
swctx.addPoint(new poly2tri.Point(points[i][0], points[i][1]));
}
} else {
if (pointInPolygon(points[i], polygon)) {
swctx.addPoint(new poly2tri.Point(points[i][0], points[i][1]));
}
}
}
}
swctx.triangulate();
let triangles = swctx.getTriangles();
return triangles;
}
return TRIANG;
}