UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

1 lines 2.52 kB
{"version":3,"file":"buildArc.mjs","sources":["../../../../../src/scene/graphics/shared/buildCommands/buildArc.ts"],"sourcesContent":["/**\n * @param points\n * @param x\n * @param y\n * @param radius\n * @param start\n * @param end\n * @param clockwise\n * @param steps\n * @internal\n */\nexport function buildArc(\n points: number[],\n x: number, y: number,\n radius: number,\n start: number,\n end: number,\n clockwise: boolean,\n steps?: number\n)\n{\n // determine distance between the two angles\n // ...probably a nicer way of writing this\n let dist = Math.abs(start - end);\n\n if (!clockwise && start > end)\n {\n dist = (2 * Math.PI) - dist;\n }\n else if (clockwise && end > start)\n {\n dist = (2 * Math.PI) - dist;\n }\n\n // approximate the # of steps using the cube root of the radius\n\n steps ||= Math.max(6, Math.floor(6 * Math.pow(radius, 1 / 3) * (dist / (Math.PI))));\n\n // ensure we have at least 3 steps..\n steps = Math.max(steps, 3);\n\n let f = dist / (steps);\n let t = start;\n\n // modify direction\n f *= clockwise ? -1 : 1;\n\n for (let i = 0; i < steps + 1; i++)\n {\n const cs = Math.cos(t);\n const sn = Math.sin(t);\n\n const nx = x + (cs * radius);\n const ny = y + (sn * radius);\n\n points.push(nx, ny);\n\n t += f;\n }\n}\n"],"names":[],"mappings":";AAWO,SAAS,QAAA,CACZ,QACA,CAAA,EAAW,CAAA,EACX,QACA,KAAA,EACA,GAAA,EACA,WACA,KAAA,EAEJ;AAGI,EAAA,IAAI,IAAA,GAAO,IAAA,CAAK,GAAA,CAAI,KAAA,GAAQ,GAAG,CAAA;AAE/B,EAAA,IAAI,CAAC,SAAA,IAAa,KAAA,GAAQ,GAAA,EAC1B;AACI,IAAA,IAAA,GAAQ,CAAA,GAAI,KAAK,EAAA,GAAM,IAAA;AAAA,EAC3B,CAAA,MAAA,IACS,SAAA,IAAa,GAAA,GAAM,KAAA,EAC5B;AACI,IAAA,IAAA,GAAQ,CAAA,GAAI,KAAK,EAAA,GAAM,IAAA;AAAA,EAC3B;AAIA,EAAA,KAAA,KAAA,KAAA,GAAU,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,MAAA,EAAQ,IAAI,CAAC,CAAA,IAAK,IAAA,GAAQ,IAAA,CAAK,GAAI,CAAC,CAAA,CAAA;AAGlF,EAAA,KAAA,GAAQ,IAAA,CAAK,GAAA,CAAI,KAAA,EAAO,CAAC,CAAA;AAEzB,EAAA,IAAI,IAAI,IAAA,GAAQ,KAAA;AAChB,EAAA,IAAI,CAAA,GAAI,KAAA;AAGR,EAAA,CAAA,IAAK,YAAY,CAAA,CAAA,GAAK,CAAA;AAEtB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,GAAQ,GAAG,CAAA,EAAA,EAC/B;AACI,IAAA,MAAM,EAAA,GAAK,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA;AACrB,IAAA,MAAM,EAAA,GAAK,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA;AAErB,IAAA,MAAM,EAAA,GAAK,IAAK,EAAA,GAAK,MAAA;AACrB,IAAA,MAAM,EAAA,GAAK,IAAK,EAAA,GAAK,MAAA;AAErB,IAAA,MAAA,CAAO,IAAA,CAAK,IAAI,EAAE,CAAA;AAElB,IAAA,CAAA,IAAK,CAAA;AAAA,EACT;AACJ;;;;"}