{"version":3,"file":"triangulateWithHoles.mjs","sources":["../../../../../src/scene/graphics/shared/utils/triangulateWithHoles.ts"],"sourcesContent":["import { earcut } from '../../../../utils/utils';\n\n/**\n * @param points\n * @param holes\n * @param vertices\n * @param verticesStride\n * @param verticesOffset\n * @param indices\n * @param indicesOffset\n * @internal\n */\nexport function triangulateWithHoles(\n    points: number[],\n    holes: number[],\n    vertices: number[],\n    verticesStride: number,\n    verticesOffset: number,\n\n    indices: number[],\n    indicesOffset: number\n)\n{\n    const triangles = earcut(points, holes, 2);\n\n    if (!triangles)\n    {\n        return;\n    }\n\n    for (let i = 0; i < triangles.length; i += 3)\n    {\n        indices[indicesOffset++] = (triangles[i] + verticesOffset);\n        indices[indicesOffset++] = (triangles[i + 1] + verticesOffset);\n        indices[indicesOffset++] = (triangles[i + 2] + verticesOffset);\n    }\n\n    let index = verticesOffset * verticesStride;\n\n    for (let i = 0; i < points.length; i += 2)\n    {\n        vertices[index] = points[i];\n        vertices[index + 1] = points[i + 1];\n\n        index += verticesStride;\n    }\n}\n\n"],"names":[],"mappings":";;;AAYO,SAAS,qBACZ,MAAA,EACA,KAAA,EACA,UACA,cAAA,EACA,cAAA,EAEA,SACA,aAAA,EAEJ;AACI,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,MAAA,EAAQ,KAAA,EAAO,CAAC,CAAA;AAEzC,EAAA,IAAI,CAAC,SAAA,EACL;AACI,IAAA;AAAA,EACJ;AAEA,EAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,SAAA,CAAU,MAAA,EAAQ,KAAK,CAAA,EAC3C;AACI,IAAA,OAAA,CAAQ,aAAA,EAAe,CAAA,GAAK,SAAA,CAAU,CAAC,CAAA,GAAI,cAAA;AAC3C,IAAA,OAAA,CAAQ,aAAA,EAAe,CAAA,GAAK,SAAA,CAAU,CAAA,GAAI,CAAC,CAAA,GAAI,cAAA;AAC/C,IAAA,OAAA,CAAQ,aAAA,EAAe,CAAA,GAAK,SAAA,CAAU,CAAA,GAAI,CAAC,CAAA,GAAI,cAAA;AAAA,EACnD;AAEA,EAAA,IAAI,QAAQ,cAAA,GAAiB,cAAA;AAE7B,EAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,MAAA,CAAO,MAAA,EAAQ,KAAK,CAAA,EACxC;AACI,IAAA,QAAA,CAAS,KAAK,CAAA,GAAI,MAAA,CAAO,CAAC,CAAA;AAC1B,IAAA,QAAA,CAAS,KAAA,GAAQ,CAAC,CAAA,GAAI,MAAA,CAAO,IAAI,CAAC,CAAA;AAElC,IAAA,KAAA,IAAS,cAAA;AAAA,EACb;AACJ;;;;"}