{"version":3,"file":"buildTriangle.mjs","sources":["../../../../../src/scene/graphics/shared/buildCommands/buildTriangle.ts"],"sourcesContent":["import { ExtensionType } from '../../../../extensions/Extensions';\n\nimport type { Triangle } from '../../../../maths/shapes/Triangle';\nimport type { ShapeBuildCommand } from './ShapeBuildCommand';\n\n/**\n * Builds a triangle to draw\n *\n * Ignored from docs since it is not directly exposed.\n * @ignore\n * @private\n */\nexport const buildTriangle: ShapeBuildCommand<Triangle> = {\n    extension: {\n        type: ExtensionType.ShapeBuilder,\n        name: 'triangle',\n    },\n\n    build(shape: Triangle, points: number[]): boolean\n    {\n        points[0] = shape.x;\n        points[1] = shape.y;\n        points[2] = shape.x2;\n        points[3] = shape.y2;\n        points[4] = shape.x3;\n        points[5] = shape.y3;\n\n        return true;\n    },\n\n    triangulate(\n        points: number[],\n\n        vertices: number[],\n        verticesStride: number,\n        verticesOffset: number,\n\n        indices: number[],\n        indicesOffset: number\n    )\n    {\n        let count = 0;\n\n        verticesOffset *= verticesStride;\n\n        vertices[verticesOffset + count] = points[0];\n        vertices[verticesOffset + count + 1] = points[1];\n\n        count += verticesStride;\n\n        vertices[verticesOffset + count] = points[2];\n        vertices[verticesOffset + count + 1] = points[3];\n\n        count += verticesStride;\n\n        vertices[verticesOffset + count] = points[4];\n        vertices[verticesOffset + count + 1] = points[5];\n\n        const verticesIndex = verticesOffset / verticesStride;\n\n        // triangle 1\n        indices[indicesOffset++] = verticesIndex;\n        indices[indicesOffset++] = verticesIndex + 1;\n        indices[indicesOffset++] = verticesIndex + 2;\n    },\n};\n"],"names":[],"mappings":";;;AAYO,MAAM,aAAA,GAA6C;AAAA,EACtD,SAAA,EAAW;AAAA,IACP,MAAM,aAAA,CAAc,YAAA;AAAA,IACpB,IAAA,EAAM;AAAA,GACV;AAAA,EAEA,KAAA,CAAM,OAAiB,MAAA,EACvB;AACI,IAAA,MAAA,CAAO,CAAC,IAAI,KAAA,CAAM,CAAA;AAClB,IAAA,MAAA,CAAO,CAAC,IAAI,KAAA,CAAM,CAAA;AAClB,IAAA,MAAA,CAAO,CAAC,IAAI,KAAA,CAAM,EAAA;AAClB,IAAA,MAAA,CAAO,CAAC,IAAI,KAAA,CAAM,EAAA;AAClB,IAAA,MAAA,CAAO,CAAC,IAAI,KAAA,CAAM,EAAA;AAClB,IAAA,MAAA,CAAO,CAAC,IAAI,KAAA,CAAM,EAAA;AAElB,IAAA,OAAO,IAAA;AAAA,EACX,CAAA;AAAA,EAEA,YACI,MAAA,EAEA,QAAA,EACA,cAAA,EACA,cAAA,EAEA,SACA,aAAA,EAEJ;AACI,IAAA,IAAI,KAAA,GAAQ,CAAA;AAEZ,IAAA,cAAA,IAAkB,cAAA;AAElB,IAAA,QAAA,CAAS,cAAA,GAAiB,KAAK,CAAA,GAAI,MAAA,CAAO,CAAC,CAAA;AAC3C,IAAA,QAAA,CAAS,cAAA,GAAiB,KAAA,GAAQ,CAAC,CAAA,GAAI,OAAO,CAAC,CAAA;AAE/C,IAAA,KAAA,IAAS,cAAA;AAET,IAAA,QAAA,CAAS,cAAA,GAAiB,KAAK,CAAA,GAAI,MAAA,CAAO,CAAC,CAAA;AAC3C,IAAA,QAAA,CAAS,cAAA,GAAiB,KAAA,GAAQ,CAAC,CAAA,GAAI,OAAO,CAAC,CAAA;AAE/C,IAAA,KAAA,IAAS,cAAA;AAET,IAAA,QAAA,CAAS,cAAA,GAAiB,KAAK,CAAA,GAAI,MAAA,CAAO,CAAC,CAAA;AAC3C,IAAA,QAAA,CAAS,cAAA,GAAiB,KAAA,GAAQ,CAAC,CAAA,GAAI,OAAO,CAAC,CAAA;AAE/C,IAAA,MAAM,gBAAgB,cAAA,GAAiB,cAAA;AAGvC,IAAA,OAAA,CAAQ,eAAe,CAAA,GAAI,aAAA;AAC3B,IAAA,OAAA,CAAQ,aAAA,EAAe,IAAI,aAAA,GAAgB,CAAA;AAC3C,IAAA,OAAA,CAAQ,aAAA,EAAe,IAAI,aAAA,GAAgB,CAAA;AAAA,EAC/C;AACJ;;;;"}