{"version":3,"file":"buildPolygon.mjs","sources":["../../../../../src/scene/graphics/shared/buildCommands/buildPolygon.ts"],"sourcesContent":["import { ExtensionType } from '../../../../extensions/Extensions';\nimport { triangulateWithHoles } from '../utils/triangulateWithHoles';\n\nimport type { Polygon } from '../../../../maths/shapes/Polygon';\nimport type { ShapeBuildCommand } from './ShapeBuildCommand';\n\nconst emptyArray: number[] = [];\n\n/**\n * Builds a rectangle to draw\n *\n * Ignored from docs since it is not directly exposed.\n * @ignore\n * @private\n */\nexport const buildPolygon: ShapeBuildCommand<Polygon> = {\n    extension: {\n        type: ExtensionType.ShapeBuilder,\n        name: 'polygon',\n    },\n\n    build(shape: Polygon, points: number[]): boolean\n    {\n        for (let i = 0; i < shape.points.length; i++)\n        {\n            points[i] = shape.points[i];\n        }\n\n        return true;\n    },\n\n    triangulate(\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        triangulateWithHoles(points, emptyArray, vertices, verticesStride, verticesOffset, indices, indicesOffset);\n    },\n\n};\n"],"names":[],"mappings":";;;;AAMA,MAAM,aAAuB,EAAC;AASvB,MAAM,YAAA,GAA2C;AAAA,EACpD,SAAA,EAAW;AAAA,IACP,MAAM,aAAA,CAAc,YAAA;AAAA,IACpB,IAAA,EAAM;AAAA,GACV;AAAA,EAEA,KAAA,CAAM,OAAgB,MAAA,EACtB;AACI,IAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,MAAA,CAAO,QAAQ,CAAA,EAAA,EACzC;AACI,MAAA,MAAA,CAAO,CAAC,CAAA,GAAI,KAAA,CAAM,MAAA,CAAO,CAAC,CAAA;AAAA,IAC9B;AAEA,IAAA,OAAO,IAAA;AAAA,EACX,CAAA;AAAA,EAEA,YACI,MAAA,EAEA,QAAA,EACA,cAAA,EACA,cAAA,EAEA,SACA,aAAA,EAEJ;AACI,IAAA,oBAAA,CAAqB,QAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,cAAA,EAAgB,SAAS,aAAa,CAAA;AAAA,EAC7G;AAEJ;;;;"}