UNPKG

@tsparticles/shape-polygon

Version:
2 lines 2.2 kB
/*! For license information please see tsparticles.shape.polygon.min.js.LICENSE.txt */ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var n="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};o.r(r),o.d(r,{loadGenericPolygonShape:()=>l,loadPolygonShape:()=>g,loadTriangleShape:()=>p});var a=o(303);const i=0,s=0;class c{draw(e){const{particle:t,radius:n}=e;!function(e,t,n){const{context:o}=e,r=n.count.numerator*n.count.denominator,c=n.count.numerator/n.count.denominator,d=180*(c-2)/c,u=Math.PI-(0,a.degToRad)(d);if(o){o.beginPath(),o.translate(t.x,t.y),o.moveTo(i,s);for(let e=0;e<r;e++)o.lineTo(n.length,s),o.translate(n.length,s),o.rotate(u)}}(e,this.getCenter(t,n),this.getSidesData(t,n))}getSidesCount(e){const t=e.shapeData;return Math.round((0,a.getRangeValue)(t?.sides??5))}}class d extends c{constructor(){super(...arguments),this.validTypes=["polygon"]}getCenter(e,t){return{x:-t/(e.sides/3.5),y:-t/.76}}getSidesData(e,t){const n=e.sides;return{count:{denominator:1,numerator:n},length:2.66*t/(n/3)}}}class u extends c{constructor(){super(...arguments),this.validTypes=["triangle"]}getCenter(e,t){return{x:-t,y:t/1.66}}getSidesCount(){return 3}getSidesData(e,t){return{count:{denominator:2,numerator:3},length:2*t}}}async function l(e,t=!0){e.checkVersion("3.9.1"),await e.addShape(new d,t)}async function p(e,t=!0){e.checkVersion("3.9.1"),await e.addShape(new u,t)}async function g(e,t=!0){e.checkVersion("3.9.1"),await l(e,t),await p(e,t)}return r})()));