1 line
1.9 KiB
Plaintext
1 line
1.9 KiB
Plaintext
{"version":3,"file":"triangulateWithHoles.mjs","sources":["../../../../../src/scene/graphics/shared/utils/triangulateWithHoles.ts"],"sourcesContent":["import { default as earcut } from 'earcut';\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":";;;AAEO,SAAS,qBACZ,MACA,EAAA,KAAA,EACA,UACA,cACA,EAAA,cAAA,EAEA,SACA,aAEJ,EAAA;AACI,EAAA,MAAM,SAAY,GAAA,MAAA,CAAO,MAAQ,EAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAEzC,EAAA,IAAI,CAAC,SACL,EAAA;AACI,IAAA,OAAA;AAAA,GACJ;AAEA,EAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,SAAU,CAAA,MAAA,EAAQ,KAAK,CAC3C,EAAA;AACI,IAAA,OAAA,CAAQ,aAAe,EAAA,CAAA,GAAK,SAAU,CAAA,CAAC,CAAI,GAAA,cAAA,CAAA;AAC3C,IAAA,OAAA,CAAQ,aAAe,EAAA,CAAA,GAAK,SAAU,CAAA,CAAA,GAAI,CAAC,CAAI,GAAA,cAAA,CAAA;AAC/C,IAAA,OAAA,CAAQ,aAAe,EAAA,CAAA,GAAK,SAAU,CAAA,CAAA,GAAI,CAAC,CAAI,GAAA,cAAA,CAAA;AAAA,GACnD;AAEA,EAAA,IAAI,QAAQ,cAAiB,GAAA,cAAA,CAAA;AAE7B,EAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,MAAO,CAAA,MAAA,EAAQ,KAAK,CACxC,EAAA;AACI,IAAS,QAAA,CAAA,KAAK,CAAI,GAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAC1B,IAAA,QAAA,CAAS,KAAQ,GAAA,CAAC,CAAI,GAAA,MAAA,CAAO,IAAI,CAAC,CAAA,CAAA;AAElC,IAAS,KAAA,IAAA,cAAA,CAAA;AAAA,GACb;AACJ;;;;"} |