@tsparticles/shape-polygon
Advanced tools
Comparing version 3.0.3 to 3.1.0
import { PolygonDrawerBase } from "./PolygonDrawerBase.js"; | ||
const sidesCenterFactor = 3.5, yFactor = 2.66, sidesFactor = 3; | ||
export class PolygonDrawer extends PolygonDrawerBase { | ||
getCenter(particle, radius) { | ||
return { | ||
x: -radius / (particle.sides / 3.5), | ||
y: -radius / (2.66 / 3.5), | ||
x: -radius / (particle.sides / sidesCenterFactor), | ||
y: -radius / (yFactor / sidesCenterFactor), | ||
}; | ||
@@ -16,5 +17,5 @@ } | ||
}, | ||
length: (radius * 2.66) / (sides / 3), | ||
length: (radius * yFactor) / (sides / sidesFactor), | ||
}; | ||
} | ||
} |
@@ -1,5 +0,6 @@ | ||
import { getRangeValue, } from "@tsparticles/engine"; | ||
import { degToRad, getRangeValue, } from "@tsparticles/engine"; | ||
const piDeg = 180, origin = { x: 0, y: 0 }, defaultSides = 5, sidesOffset = 2; | ||
export class PolygonDrawerBase { | ||
draw(data) { | ||
const { context, particle, radius } = data, start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides, interiorAngle = Math.PI - (Math.PI * interiorAngleDegrees) / 180; | ||
const { context, particle, radius } = data, start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (piDeg * (decimalSides - sidesOffset)) / decimalSides, interiorAngle = Math.PI - degToRad(interiorAngleDegrees); | ||
if (!context) { | ||
@@ -10,6 +11,6 @@ return; | ||
context.translate(start.x, start.y); | ||
context.moveTo(0, 0); | ||
context.moveTo(origin.x, origin.y); | ||
for (let i = 0; i < sideCount; i++) { | ||
context.lineTo(side.length, 0); | ||
context.translate(side.length, 0); | ||
context.lineTo(side.length, origin.y); | ||
context.translate(side.length, origin.y); | ||
context.rotate(interiorAngle); | ||
@@ -20,4 +21,4 @@ } | ||
const polygon = particle.shapeData; | ||
return Math.round(getRangeValue(polygon?.sides ?? 5)); | ||
return Math.round(getRangeValue(polygon?.sides ?? defaultSides)); | ||
} | ||
} |
import { PolygonDrawerBase } from "./PolygonDrawerBase.js"; | ||
const yFactor = 1.66, sides = 3, double = 2; | ||
export class TriangleDrawer extends PolygonDrawerBase { | ||
@@ -6,9 +7,10 @@ getCenter(particle, radius) { | ||
x: -radius, | ||
y: radius / 1.66, | ||
y: radius / yFactor, | ||
}; | ||
} | ||
getSidesCount() { | ||
return 3; | ||
return sides; | ||
} | ||
getSidesData(particle, radius) { | ||
const diameter = radius * double; | ||
return { | ||
@@ -19,5 +21,5 @@ count: { | ||
}, | ||
length: radius * 2, | ||
length: diameter, | ||
}; | ||
} | ||
} |
@@ -5,7 +5,8 @@ "use strict"; | ||
const PolygonDrawerBase_js_1 = require("./PolygonDrawerBase.js"); | ||
const sidesCenterFactor = 3.5, yFactor = 2.66, sidesFactor = 3; | ||
class PolygonDrawer extends PolygonDrawerBase_js_1.PolygonDrawerBase { | ||
getCenter(particle, radius) { | ||
return { | ||
x: -radius / (particle.sides / 3.5), | ||
y: -radius / (2.66 / 3.5), | ||
x: -radius / (particle.sides / sidesCenterFactor), | ||
y: -radius / (yFactor / sidesCenterFactor), | ||
}; | ||
@@ -20,3 +21,3 @@ } | ||
}, | ||
length: (radius * 2.66) / (sides / 3), | ||
length: (radius * yFactor) / (sides / sidesFactor), | ||
}; | ||
@@ -23,0 +24,0 @@ } |
@@ -5,5 +5,6 @@ "use strict"; | ||
const engine_1 = require("@tsparticles/engine"); | ||
const piDeg = 180, origin = { x: 0, y: 0 }, defaultSides = 5, sidesOffset = 2; | ||
class PolygonDrawerBase { | ||
draw(data) { | ||
const { context, particle, radius } = data, start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides, interiorAngle = Math.PI - (Math.PI * interiorAngleDegrees) / 180; | ||
const { context, particle, radius } = data, start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (piDeg * (decimalSides - sidesOffset)) / decimalSides, interiorAngle = Math.PI - (0, engine_1.degToRad)(interiorAngleDegrees); | ||
if (!context) { | ||
@@ -14,6 +15,6 @@ return; | ||
context.translate(start.x, start.y); | ||
context.moveTo(0, 0); | ||
context.moveTo(origin.x, origin.y); | ||
for (let i = 0; i < sideCount; i++) { | ||
context.lineTo(side.length, 0); | ||
context.translate(side.length, 0); | ||
context.lineTo(side.length, origin.y); | ||
context.translate(side.length, origin.y); | ||
context.rotate(interiorAngle); | ||
@@ -24,5 +25,5 @@ } | ||
const polygon = particle.shapeData; | ||
return Math.round((0, engine_1.getRangeValue)(polygon?.sides ?? 5)); | ||
return Math.round((0, engine_1.getRangeValue)(polygon?.sides ?? defaultSides)); | ||
} | ||
} | ||
exports.PolygonDrawerBase = PolygonDrawerBase; |
@@ -5,2 +5,3 @@ "use strict"; | ||
const PolygonDrawerBase_js_1 = require("./PolygonDrawerBase.js"); | ||
const yFactor = 1.66, sides = 3, double = 2; | ||
class TriangleDrawer extends PolygonDrawerBase_js_1.PolygonDrawerBase { | ||
@@ -10,9 +11,10 @@ getCenter(particle, radius) { | ||
x: -radius, | ||
y: radius / 1.66, | ||
y: radius / yFactor, | ||
}; | ||
} | ||
getSidesCount() { | ||
return 3; | ||
return sides; | ||
} | ||
getSidesData(particle, radius) { | ||
const diameter = radius * double; | ||
return { | ||
@@ -23,3 +25,3 @@ count: { | ||
}, | ||
length: radius * 2, | ||
length: diameter, | ||
}; | ||
@@ -26,0 +28,0 @@ } |
import { PolygonDrawerBase } from "./PolygonDrawerBase.js"; | ||
const sidesCenterFactor = 3.5, yFactor = 2.66, sidesFactor = 3; | ||
export class PolygonDrawer extends PolygonDrawerBase { | ||
getCenter(particle, radius) { | ||
return { | ||
x: -radius / (particle.sides / 3.5), | ||
y: -radius / (2.66 / 3.5), | ||
x: -radius / (particle.sides / sidesCenterFactor), | ||
y: -radius / (yFactor / sidesCenterFactor), | ||
}; | ||
@@ -16,5 +17,5 @@ } | ||
}, | ||
length: (radius * 2.66) / (sides / 3), | ||
length: (radius * yFactor) / (sides / sidesFactor), | ||
}; | ||
} | ||
} |
@@ -1,5 +0,6 @@ | ||
import { getRangeValue, } from "@tsparticles/engine"; | ||
import { degToRad, getRangeValue, } from "@tsparticles/engine"; | ||
const piDeg = 180, origin = { x: 0, y: 0 }, defaultSides = 5, sidesOffset = 2; | ||
export class PolygonDrawerBase { | ||
draw(data) { | ||
const { context, particle, radius } = data, start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides, interiorAngle = Math.PI - (Math.PI * interiorAngleDegrees) / 180; | ||
const { context, particle, radius } = data, start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (piDeg * (decimalSides - sidesOffset)) / decimalSides, interiorAngle = Math.PI - degToRad(interiorAngleDegrees); | ||
if (!context) { | ||
@@ -10,6 +11,6 @@ return; | ||
context.translate(start.x, start.y); | ||
context.moveTo(0, 0); | ||
context.moveTo(origin.x, origin.y); | ||
for (let i = 0; i < sideCount; i++) { | ||
context.lineTo(side.length, 0); | ||
context.translate(side.length, 0); | ||
context.lineTo(side.length, origin.y); | ||
context.translate(side.length, origin.y); | ||
context.rotate(interiorAngle); | ||
@@ -20,4 +21,4 @@ } | ||
const polygon = particle.shapeData; | ||
return Math.round(getRangeValue(polygon?.sides ?? 5)); | ||
return Math.round(getRangeValue(polygon?.sides ?? defaultSides)); | ||
} | ||
} |
import { PolygonDrawerBase } from "./PolygonDrawerBase.js"; | ||
const yFactor = 1.66, sides = 3, double = 2; | ||
export class TriangleDrawer extends PolygonDrawerBase { | ||
@@ -6,9 +7,10 @@ getCenter(particle, radius) { | ||
x: -radius, | ||
y: radius / 1.66, | ||
y: radius / yFactor, | ||
}; | ||
} | ||
getSidesCount() { | ||
return 3; | ||
return sides; | ||
} | ||
getSidesData(particle, radius) { | ||
const diameter = radius * double; | ||
return { | ||
@@ -19,5 +21,5 @@ count: { | ||
}, | ||
length: radius * 2, | ||
length: diameter, | ||
}; | ||
} | ||
} |
{ | ||
"name": "@tsparticles/shape-polygon", | ||
"version": "3.0.3", | ||
"version": "3.1.0", | ||
"description": "tsParticles polygon shape", | ||
@@ -62,3 +62,3 @@ "homepage": "https://particles.js.org", | ||
"dependencies": { | ||
"@tsparticles/engine": "^3.0.3" | ||
"@tsparticles/engine": "^3.1.0" | ||
}, | ||
@@ -65,0 +65,0 @@ "publishConfig": { |
@@ -7,3 +7,3 @@ /*! | ||
* How to use? : Check the GitHub README | ||
* v3.0.3 | ||
* v3.1.0 | ||
*/ | ||
@@ -104,2 +104,9 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
const piDeg = 180, | ||
origin = { | ||
x: 0, | ||
y: 0 | ||
}, | ||
defaultSides = 5, | ||
sidesOffset = 2; | ||
class PolygonDrawerBase { | ||
@@ -116,4 +123,4 @@ draw(data) { | ||
decimalSides = side.count.numerator / side.count.denominator, | ||
interiorAngleDegrees = 180 * (decimalSides - 2) / decimalSides, | ||
interiorAngle = Math.PI - Math.PI * interiorAngleDegrees / 180; | ||
interiorAngleDegrees = piDeg * (decimalSides - sidesOffset) / decimalSides, | ||
interiorAngle = Math.PI - (0,engine_root_window_.degToRad)(interiorAngleDegrees); | ||
if (!context) { | ||
@@ -124,6 +131,6 @@ return; | ||
context.translate(start.x, start.y); | ||
context.moveTo(0, 0); | ||
context.moveTo(origin.x, origin.y); | ||
for (let i = 0; i < sideCount; i++) { | ||
context.lineTo(side.length, 0); | ||
context.translate(side.length, 0); | ||
context.lineTo(side.length, origin.y); | ||
context.translate(side.length, origin.y); | ||
context.rotate(interiorAngle); | ||
@@ -134,3 +141,3 @@ } | ||
const polygon = particle.shapeData; | ||
return Math.round((0,engine_root_window_.getRangeValue)(polygon?.sides ?? 5)); | ||
return Math.round((0,engine_root_window_.getRangeValue)(polygon?.sides ?? defaultSides)); | ||
} | ||
@@ -140,7 +147,10 @@ } | ||
const sidesCenterFactor = 3.5, | ||
yFactor = 2.66, | ||
sidesFactor = 3; | ||
class PolygonDrawer extends PolygonDrawerBase { | ||
getCenter(particle, radius) { | ||
return { | ||
x: -radius / (particle.sides / 3.5), | ||
y: -radius / (2.66 / 3.5) | ||
x: -radius / (particle.sides / sidesCenterFactor), | ||
y: -radius / (yFactor / sidesCenterFactor) | ||
}; | ||
@@ -155,3 +165,3 @@ } | ||
}, | ||
length: radius * 2.66 / (sides / 3) | ||
length: radius * yFactor / (sides / sidesFactor) | ||
}; | ||
@@ -162,2 +172,5 @@ } | ||
const TriangleDrawer_yFactor = 1.66, | ||
sides = 3, | ||
TriangleDrawer_double = 2; | ||
class TriangleDrawer extends PolygonDrawerBase { | ||
@@ -167,9 +180,10 @@ getCenter(particle, radius) { | ||
x: -radius, | ||
y: radius / 1.66 | ||
y: radius / TriangleDrawer_yFactor | ||
}; | ||
} | ||
getSidesCount() { | ||
return 3; | ||
return sides; | ||
} | ||
getSidesData(particle, radius) { | ||
const diameter = radius * TriangleDrawer_double; | ||
return { | ||
@@ -180,3 +194,3 @@ count: { | ||
}, | ||
length: radius * 2 | ||
length: diameter | ||
}; | ||
@@ -183,0 +197,0 @@ } |
/*! 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=>(()=>{"use strict";var t={533: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={};return(()=>{o.r(r),o.d(r,{loadGenericPolygonShape:()=>i,loadPolygonShape:()=>d,loadTriangleShape:()=>s});var e=o(533);class t{draw(e){const{context:t,particle:n,radius:o}=e,r=this.getCenter(n,o),a=this.getSidesData(n,o),i=a.count.numerator*a.count.denominator,s=a.count.numerator/a.count.denominator,d=180*(s-2)/s,u=Math.PI-Math.PI*d/180;if(t){t.beginPath(),t.translate(r.x,r.y),t.moveTo(0,0);for(let e=0;e<i;e++)t.lineTo(a.length,0),t.translate(a.length,0),t.rotate(u)}}getSidesCount(t){const n=t.shapeData;return Math.round((0,e.getRangeValue)(n?.sides??5))}}class n extends t{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 a extends t{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 i(e,t=!0){await e.addShape("polygon",new n,t)}async function s(e,t=!0){await e.addShape("triangle",new a,t)}async function d(e,t=!0){await i(e,t),await s(e,t)}})(),r})())); | ||
!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=>(()=>{"use strict";var t={533: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={};return(()=>{o.r(r),o.d(r,{loadGenericPolygonShape:()=>d,loadPolygonShape:()=>c,loadTriangleShape:()=>u});var e=o(533);const t=0,n=0;class a{draw(o){const{context:r,particle:a,radius:i}=o,s=this.getCenter(a,i),d=this.getSidesData(a,i),u=d.count.numerator*d.count.denominator,c=d.count.numerator/d.count.denominator,l=180*(c-2)/c,p=Math.PI-(0,e.degToRad)(l);if(r){r.beginPath(),r.translate(s.x,s.y),r.moveTo(t,n);for(let e=0;e<u;e++)r.lineTo(d.length,n),r.translate(d.length,n),r.rotate(p)}}getSidesCount(t){const n=t.shapeData;return Math.round((0,e.getRangeValue)(n?.sides??5))}}class i extends a{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 s extends a{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 d(e,t=!0){await e.addShape("polygon",new i,t)}async function u(e,t=!0){await e.addShape("triangle",new s,t)}async function c(e,t=!0){await d(e,t),await u(e,t)}})(),r})())); |
@@ -1,1 +0,1 @@ | ||
/*! tsParticles Polygon Shape v3.0.3 by Matteo Bruni */ | ||
/*! tsParticles Polygon Shape v3.1.0 by Matteo Bruni */ |
@@ -14,7 +14,8 @@ (function (factory) { | ||
const PolygonDrawerBase_js_1 = require("./PolygonDrawerBase.js"); | ||
const sidesCenterFactor = 3.5, yFactor = 2.66, sidesFactor = 3; | ||
class PolygonDrawer extends PolygonDrawerBase_js_1.PolygonDrawerBase { | ||
getCenter(particle, radius) { | ||
return { | ||
x: -radius / (particle.sides / 3.5), | ||
y: -radius / (2.66 / 3.5), | ||
x: -radius / (particle.sides / sidesCenterFactor), | ||
y: -radius / (yFactor / sidesCenterFactor), | ||
}; | ||
@@ -29,3 +30,3 @@ } | ||
}, | ||
length: (radius * 2.66) / (sides / 3), | ||
length: (radius * yFactor) / (sides / sidesFactor), | ||
}; | ||
@@ -32,0 +33,0 @@ } |
@@ -14,5 +14,6 @@ (function (factory) { | ||
const engine_1 = require("@tsparticles/engine"); | ||
const piDeg = 180, origin = { x: 0, y: 0 }, defaultSides = 5, sidesOffset = 2; | ||
class PolygonDrawerBase { | ||
draw(data) { | ||
const { context, particle, radius } = data, start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides, interiorAngle = Math.PI - (Math.PI * interiorAngleDegrees) / 180; | ||
const { context, particle, radius } = data, start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (piDeg * (decimalSides - sidesOffset)) / decimalSides, interiorAngle = Math.PI - (0, engine_1.degToRad)(interiorAngleDegrees); | ||
if (!context) { | ||
@@ -23,6 +24,6 @@ return; | ||
context.translate(start.x, start.y); | ||
context.moveTo(0, 0); | ||
context.moveTo(origin.x, origin.y); | ||
for (let i = 0; i < sideCount; i++) { | ||
context.lineTo(side.length, 0); | ||
context.translate(side.length, 0); | ||
context.lineTo(side.length, origin.y); | ||
context.translate(side.length, origin.y); | ||
context.rotate(interiorAngle); | ||
@@ -33,3 +34,3 @@ } | ||
const polygon = particle.shapeData; | ||
return Math.round((0, engine_1.getRangeValue)(polygon?.sides ?? 5)); | ||
return Math.round((0, engine_1.getRangeValue)(polygon?.sides ?? defaultSides)); | ||
} | ||
@@ -36,0 +37,0 @@ } |
@@ -14,2 +14,3 @@ (function (factory) { | ||
const PolygonDrawerBase_js_1 = require("./PolygonDrawerBase.js"); | ||
const yFactor = 1.66, sides = 3, double = 2; | ||
class TriangleDrawer extends PolygonDrawerBase_js_1.PolygonDrawerBase { | ||
@@ -19,9 +20,10 @@ getCenter(particle, radius) { | ||
x: -radius, | ||
y: radius / 1.66, | ||
y: radius / yFactor, | ||
}; | ||
} | ||
getSidesCount() { | ||
return 3; | ||
return sides; | ||
} | ||
getSidesData(particle, radius) { | ||
const diameter = radius * double; | ||
return { | ||
@@ -32,3 +34,3 @@ count: { | ||
}, | ||
length: radius * 2, | ||
length: diameter, | ||
}; | ||
@@ -35,0 +37,0 @@ } |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
308928
671
Updated@tsparticles/engine@^3.1.0