{"version":3,"file":"Circle.mjs","sources":["../../src/mixins/Circle.ts"],"sourcesContent":["import { Circle } from '@pixi/core';\n\n/**\n * PixiJS namespace.\n * @namespace PIXI\n */\n\n/**\n * PixiJS Lights namespace.\n * @namespace PIXI.lights\n */\n\n/**\n * Circle class from PixiJS.\n * @class PIXI.Circle\n */\n\n/**\n * Creates vertices and indices arrays to describe this circle.\n * @method PIXI.Circle#getMesh\n * @param {PIXI.Circle} shape -\n * @param {number} [totalSegments=40] - Total segments to build for the circle mesh.\n * @param vertices -\n * @param indices -\n *  `((totalSegments + 2) * 2)` or more. If not passed it is created for you.\n *  be `(totalSegments + 3)` or more. If not passed it is created for you.\n * @return {PIXI.lights.CircleMeshData} Object with verticies and indices arrays\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function getCircleMesh(shape: Circle, totalSegments = 40, vertices?: Float32Array, indices?: Uint16Array)\n{\n    vertices = vertices || new Float32Array((totalSegments + 1) * 2);\n    indices = indices || new Uint16Array(totalSegments + 1);\n\n    const seg = (Math.PI * 2) / totalSegments;\n    let indicesIndex = -1;\n\n    indices[++indicesIndex] = indicesIndex;\n\n    for (let i = 0; i <= totalSegments; ++i)\n    {\n        const index = i * 2;\n        const angle = seg * i;\n\n        vertices[index] = Math.cos(angle) * shape.radius;\n        vertices[index + 1] = Math.sin(angle) * shape.radius;\n\n        indices[++indicesIndex] = indicesIndex;\n    }\n\n    indices[indicesIndex] = 1;\n\n    return { vertices, indices };\n}\n\n/**\n * @memberof PIXI.lights\n * @property {Float32Array} vertices - Vertices data\n * @property {Uint16Array} indices - Indices data\n */\nexport interface CircleMeshData\n{\n    vertices: Float32Array;\n    indices: Uint16Array;\n}\n"],"names":[],"mappings":"AA6BO,SAAS,aAAc,CAAA,KAAA,EAAe,aAAgB,GAAA,EAAA,EAAI,UAAyB,OAC1F,EAAA;AACI,EAAA,QAAA,GAAW,QAAY,IAAA,IAAI,YAAc,CAAA,CAAA,aAAA,GAAgB,KAAK,CAAC,CAAA,CAAA;AAC/D,EAAA,OAAA,GAAU,OAAW,IAAA,IAAI,WAAY,CAAA,aAAA,GAAgB,CAAC,CAAA,CAAA;AAEtD,EAAM,MAAA,GAAA,GAAO,IAAK,CAAA,EAAA,GAAK,CAAK,GAAA,aAAA,CAAA;AAC5B,EAAA,IAAI,YAAe,GAAA,CAAA,CAAA,CAAA;AAEnB,EAAQ,OAAA,CAAA,EAAE,YAAY,CAAI,GAAA,YAAA,CAAA;AAE1B,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAK,IAAA,aAAA,EAAe,EAAE,CACtC,EAAA;AACI,IAAA,MAAM,QAAQ,CAAI,GAAA,CAAA,CAAA;AAClB,IAAA,MAAM,QAAQ,GAAM,GAAA,CAAA,CAAA;AAEpB,IAAA,QAAA,CAAS,KAAK,CAAI,GAAA,IAAA,CAAK,GAAI,CAAA,KAAK,IAAI,KAAM,CAAA,MAAA,CAAA;AAC1C,IAAA,QAAA,CAAS,QAAQ,CAAC,CAAA,GAAI,KAAK,GAAI,CAAA,KAAK,IAAI,KAAM,CAAA,MAAA,CAAA;AAE9C,IAAQ,OAAA,CAAA,EAAE,YAAY,CAAI,GAAA,YAAA,CAAA;AAAA,GAC9B;AAEA,EAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,CAAA,CAAA;AAExB,EAAO,OAAA,EAAE,UAAU,OAAQ,EAAA,CAAA;AAC/B;;;;"}