shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$graphics$shared$utils$getMaxMiterRatio = function(global, require, module, exports) { exports.getMaxMiterRatio = function(path, miterLimit) { let maxRatio = 1; path = path.shapePath.shapePrimitives; for (let i = 0; i < path.length; i++) { var shape = path[i].shape; if ("polygon" !== shape.type) { continue; } const points = shape.points, n = points.length; if (!(6 > n)) { shape = shape.closePath; for (let j = 0; j < n; j += 2) { if (!shape && (0 === j || j === n - 2)) { continue; } var prevIdx = (j - 2 + n) % n, nextIdx = (j + 2) % n, x1 = points[j], y1 = points[j + 1], dx0 = points[prevIdx] - x1; prevIdx = points[prevIdx + 1] - y1; x1 = points[nextIdx] - x1; nextIdx = points[nextIdx + 1] - y1; y1 = dx0 * dx0 + prevIdx * prevIdx; const len1Sq = x1 * x1 + nextIdx * nextIdx; 1e-12 > y1 || 1e-12 > len1Sq || (dx0 = (dx0 * x1 + prevIdx * nextIdx) / Math.sqrt(y1 * len1Sq), -1 > dx0 ? dx0 = -1 : 1 < dx0 && (dx0 = 1), dx0 = Math.sqrt(0.5 * (1 - dx0)), 1e-6 > dx0 || (dx0 = Math.min(1 / dx0, miterLimit), dx0 > maxRatio && (maxRatio = dx0))); } } } return maxRatio; }; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$graphics$shared$utils$getMaxMiterRatio.js.map