@tsparticles/engine 4.0.0-alpha.5 → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/164.min.js +1 -0
- package/README.md +41 -7
- package/browser/Core/Canvas.js +250 -143
- package/browser/Core/Container.js +80 -74
- package/browser/Core/Engine.js +44 -67
- package/browser/Core/Particle.js +202 -173
- package/browser/Core/Particles.js +187 -138
- package/browser/Core/Retina.js +5 -0
- package/browser/Core/Utils/Constants.js +2 -2
- package/browser/Core/Utils/EventListeners.js +67 -63
- package/browser/Core/Utils/Ranges.js +29 -10
- package/browser/Core/Utils/SpatialHashGrid.js +102 -0
- package/browser/Core/Utils/Vectors.js +17 -18
- package/browser/Enums/Types/EasingType.js +18 -3
- package/browser/Options/Classes/AnimatableColor.js +1 -0
- package/browser/Options/Classes/AnimationOptions.js +8 -0
- package/browser/Options/Classes/Background/Background.js +6 -0
- package/browser/Options/Classes/ColorAnimation.js +12 -1
- package/browser/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/browser/Options/Classes/HslAnimation.js +4 -5
- package/browser/Options/Classes/Options.js +63 -4
- package/browser/Options/Classes/OptionsColor.js +1 -0
- package/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/browser/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/browser/Options/Classes/Particles/Fill.js +28 -0
- package/browser/Options/Classes/Particles/Move/Move.js +17 -3
- package/browser/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/browser/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/browser/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/browser/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/browser/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/browser/Options/Classes/Particles/Move/Spin.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/browser/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/browser/Options/Classes/Particles/ParticlesOptions.js +25 -5
- package/browser/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/browser/Options/Classes/Particles/Size/Size.js +1 -0
- package/browser/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/browser/Options/Classes/Particles/Stroke.js +3 -0
- package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/browser/Options/Classes/ResizeEvent.js +2 -0
- package/browser/Options/Classes/ValueWithRandom.js +3 -4
- package/browser/Utils/CanvasUtils.js +43 -62
- package/browser/Utils/ColorUtils.js +30 -19
- package/browser/Utils/EventDispatcher.js +1 -0
- package/browser/Utils/MathUtils.js +12 -7
- package/browser/Utils/Utils.js +109 -31
- package/browser/exports.js +1 -2
- package/cjs/Core/Canvas.js +250 -143
- package/cjs/Core/Container.js +80 -74
- package/cjs/Core/Engine.js +44 -67
- package/cjs/Core/Particle.js +202 -173
- package/cjs/Core/Particles.js +187 -138
- package/cjs/Core/Retina.js +5 -0
- package/cjs/Core/Utils/Constants.js +2 -2
- package/cjs/Core/Utils/EventListeners.js +67 -63
- package/cjs/Core/Utils/Ranges.js +29 -10
- package/cjs/Core/Utils/SpatialHashGrid.js +102 -0
- package/cjs/Core/Utils/Vectors.js +17 -18
- package/cjs/Enums/Types/EasingType.js +18 -3
- package/cjs/Options/Classes/AnimatableColor.js +1 -0
- package/cjs/Options/Classes/AnimationOptions.js +8 -0
- package/cjs/Options/Classes/Background/Background.js +6 -0
- package/cjs/Options/Classes/ColorAnimation.js +12 -1
- package/cjs/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/cjs/Options/Classes/HslAnimation.js +4 -5
- package/cjs/Options/Classes/Options.js +63 -4
- package/cjs/Options/Classes/OptionsColor.js +1 -0
- package/cjs/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/cjs/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/cjs/Options/Classes/Particles/Fill.js +28 -0
- package/cjs/Options/Classes/Particles/Move/Move.js +17 -3
- package/cjs/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/cjs/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/cjs/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/cjs/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/cjs/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/cjs/Options/Classes/Particles/Move/Spin.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/cjs/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/cjs/Options/Classes/Particles/ParticlesOptions.js +25 -5
- package/cjs/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/cjs/Options/Classes/Particles/Size/Size.js +1 -0
- package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/cjs/Options/Classes/Particles/Stroke.js +3 -0
- package/cjs/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/cjs/Options/Classes/ResizeEvent.js +2 -0
- package/cjs/Options/Classes/ValueWithRandom.js +3 -4
- package/cjs/Utils/CanvasUtils.js +43 -62
- package/cjs/Utils/ColorUtils.js +30 -19
- package/cjs/Utils/EventDispatcher.js +1 -0
- package/cjs/Utils/MathUtils.js +12 -7
- package/cjs/Utils/Utils.js +109 -31
- package/cjs/exports.js +1 -2
- package/dist_browser_Core_Container_js.js +12 -12
- package/esm/Core/Canvas.js +250 -143
- package/esm/Core/Container.js +80 -74
- package/esm/Core/Engine.js +44 -67
- package/esm/Core/Particle.js +202 -173
- package/esm/Core/Particles.js +187 -138
- package/esm/Core/Retina.js +5 -0
- package/esm/Core/Utils/Constants.js +2 -2
- package/esm/Core/Utils/EventListeners.js +67 -63
- package/esm/Core/Utils/Ranges.js +29 -10
- package/esm/Core/Utils/SpatialHashGrid.js +102 -0
- package/esm/Core/Utils/Vectors.js +17 -18
- package/esm/Enums/Types/EasingType.js +18 -3
- package/esm/Options/Classes/AnimatableColor.js +1 -0
- package/esm/Options/Classes/AnimationOptions.js +8 -0
- package/esm/Options/Classes/Background/Background.js +6 -0
- package/esm/Options/Classes/ColorAnimation.js +12 -1
- package/esm/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/esm/Options/Classes/HslAnimation.js +4 -5
- package/esm/Options/Classes/Options.js +63 -4
- package/esm/Options/Classes/OptionsColor.js +1 -0
- package/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/esm/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/esm/Options/Classes/Particles/Fill.js +28 -0
- package/esm/Options/Classes/Particles/Move/Move.js +17 -3
- package/esm/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/esm/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/esm/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/esm/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/esm/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/esm/Options/Classes/Particles/Move/Spin.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/esm/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/esm/Options/Classes/Particles/ParticlesOptions.js +25 -5
- package/esm/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/esm/Options/Classes/Particles/Size/Size.js +1 -0
- package/esm/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/esm/Options/Classes/Particles/Stroke.js +3 -0
- package/esm/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/esm/Options/Classes/ResizeEvent.js +2 -0
- package/esm/Options/Classes/ValueWithRandom.js +3 -4
- package/esm/Utils/CanvasUtils.js +43 -62
- package/esm/Utils/ColorUtils.js +30 -19
- package/esm/Utils/EventDispatcher.js +1 -0
- package/esm/Utils/MathUtils.js +12 -7
- package/esm/Utils/Utils.js +109 -31
- package/esm/exports.js +1 -2
- package/package.json +1 -1
- package/report.html +3 -3
- package/scripts/install.js +4 -20
- package/tsparticles.engine.js +93 -91
- package/tsparticles.engine.min.js +2 -2
- package/types/Core/Canvas.d.ts +17 -4
- package/types/Core/Container.d.ts +3 -7
- package/types/Core/Engine.d.ts +13 -20
- package/types/Core/Interfaces/IColorManager.d.ts +0 -1
- package/types/Core/Interfaces/IContainerPlugin.d.ts +6 -1
- package/types/Core/Interfaces/IPalette.d.ts +7 -0
- package/types/Core/Interfaces/IParticleOpacityData.d.ts +1 -0
- package/types/Core/Interfaces/IParticleValueAnimation.d.ts +3 -3
- package/types/Core/Interfaces/IShapeDrawData.d.ts +8 -0
- package/types/Core/Interfaces/IShapeDrawer.d.ts +0 -1
- package/types/Core/Interfaces/IShapeValues.d.ts +0 -1
- package/types/Core/Particle.d.ts +4 -7
- package/types/Core/Particles.d.ts +15 -7
- package/types/Core/Utils/Constants.d.ts +2 -2
- package/types/Core/Utils/Ranges.d.ts +4 -1
- package/types/Core/Utils/SpatialHashGrid.d.ts +25 -0
- package/types/Core/Utils/Vectors.d.ts +8 -10
- package/types/Enums/Types/EasingType.d.ts +20 -5
- package/types/Options/Classes/ColorAnimation.d.ts +3 -1
- package/types/Options/Classes/HslAnimation.d.ts +3 -4
- package/types/Options/Classes/Options.d.ts +2 -0
- package/types/Options/Classes/Particles/Effect/Effect.d.ts +0 -1
- package/types/Options/Classes/Particles/Fill.d.ts +12 -0
- package/types/Options/Classes/Particles/Move/Move.d.ts +0 -2
- package/types/Options/Classes/Particles/ParticlesOptions.d.ts +2 -2
- package/types/Options/Classes/Particles/Shape/Shape.d.ts +0 -1
- package/types/Options/Classes/ValueWithRandom.d.ts +0 -1
- package/types/Options/Interfaces/IColorAnimation.d.ts +2 -0
- package/types/Options/Interfaces/IOptions.d.ts +1 -0
- package/types/Options/Interfaces/Particles/Effect/IEffect.d.ts +0 -1
- package/types/Options/Interfaces/Particles/IFill.d.ts +9 -0
- package/types/Options/Interfaces/Particles/IParticlesOptions.d.ts +2 -2
- package/types/Options/Interfaces/Particles/IStroke.d.ts +2 -2
- package/types/Options/Interfaces/Particles/Move/IMove.d.ts +0 -2
- package/types/Options/Interfaces/Particles/Shape/IShape.d.ts +0 -1
- package/types/Types/EngineInitializers.d.ts +6 -3
- package/types/Utils/CanvasUtils.d.ts +6 -14
- package/types/Utils/ColorUtils.d.ts +3 -2
- package/types/Utils/MathUtils.d.ts +2 -0
- package/types/Utils/Utils.d.ts +8 -1
- package/types/export-types.d.ts +3 -5
- package/types/exports.d.ts +1 -2
- package/umd/Core/Canvas.js +248 -141
- package/umd/Core/Container.js +80 -74
- package/umd/Core/Engine.js +43 -66
- package/umd/Core/Particle.js +203 -174
- package/umd/Core/Particles.js +187 -138
- package/umd/Core/Retina.js +5 -0
- package/umd/Core/Utils/Constants.js +3 -3
- package/umd/Core/Utils/EventListeners.js +67 -63
- package/umd/Core/Utils/Ranges.js +28 -9
- package/umd/Core/Utils/SpatialHashGrid.js +116 -0
- package/umd/Core/Utils/Vectors.js +17 -18
- package/umd/Enums/Types/EasingType.js +18 -3
- package/umd/Options/Classes/AnimatableColor.js +1 -0
- package/umd/Options/Classes/AnimationOptions.js +8 -0
- package/umd/Options/Classes/Background/Background.js +6 -0
- package/umd/Options/Classes/ColorAnimation.js +12 -1
- package/umd/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/umd/Options/Classes/HslAnimation.js +5 -6
- package/umd/Options/Classes/Options.js +63 -4
- package/umd/Options/Classes/OptionsColor.js +1 -0
- package/umd/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/umd/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/umd/Options/Classes/Particles/Fill.js +42 -0
- package/umd/Options/Classes/Particles/Move/Move.js +18 -4
- package/umd/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/umd/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/umd/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/umd/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/umd/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/umd/Options/Classes/Particles/Move/Spin.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/umd/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/umd/Options/Classes/Particles/ParticlesOptions.js +26 -6
- package/umd/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/umd/Options/Classes/Particles/Size/Size.js +1 -0
- package/umd/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/umd/Options/Classes/Particles/Stroke.js +3 -0
- package/umd/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/umd/Options/Classes/ResizeEvent.js +2 -0
- package/umd/Options/Classes/ValueWithRandom.js +3 -4
- package/umd/Utils/CanvasUtils.js +43 -66
- package/umd/Utils/ColorUtils.js +30 -18
- package/umd/Utils/EventDispatcher.js +1 -0
- package/umd/Utils/MathUtils.js +14 -7
- package/umd/Utils/Utils.js +111 -32
- package/umd/exports.js +2 -3
- package/794.min.js +0 -2
- package/794.min.js.LICENSE.txt +0 -1
- package/browser/Core/Utils/Point.js +0 -6
- package/browser/Core/Utils/QuadTree.js +0 -59
- package/browser/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/cjs/Core/Utils/Point.js +0 -6
- package/cjs/Core/Utils/QuadTree.js +0 -59
- package/cjs/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/esm/Core/Interfaces/IMovePathGenerator.js +0 -1
- package/esm/Core/Interfaces/IParticleMover.js +0 -1
- package/esm/Core/Utils/Point.js +0 -6
- package/esm/Core/Utils/QuadTree.js +0 -59
- package/esm/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/esm/Options/Interfaces/Particles/Move/IMoveAttract.js +0 -1
- package/tsparticles.engine.min.js.LICENSE.txt +0 -1
- package/types/Core/Interfaces/IMovePathGenerator.d.ts +0 -10
- package/types/Core/Interfaces/IParticleMover.d.ts +0 -7
- package/types/Core/Utils/Point.d.ts +0 -7
- package/types/Core/Utils/QuadTree.d.ts +0 -18
- package/types/Options/Classes/Particles/Move/MoveAttract.d.ts +0 -12
- package/types/Options/Interfaces/Particles/Move/IMoveAttract.d.ts +0 -7
- package/umd/Core/Utils/Point.js +0 -20
- package/umd/Core/Utils/QuadTree.js +0 -73
- package/umd/Options/Classes/Particles/Move/MoveAttract.js +0 -47
- package/umd/Options/Interfaces/Particles/Move/IMoveAttract.js +0 -12
- /package/browser/Core/Interfaces/{IMovePathGenerator.js → IPalette.js} +0 -0
- /package/browser/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js} +0 -0
- /package/{browser/Options/Interfaces/Particles/Move/IMoveAttract.js → cjs/Core/Interfaces/IPalette.js} +0 -0
- /package/cjs/{Core/Interfaces/IMovePathGenerator.js → Options/Interfaces/Particles/IFill.js} +0 -0
- /package/{cjs/Core/Interfaces/IParticleMover.js → esm/Core/Interfaces/IPalette.js} +0 -0
- /package/{cjs/Options/Interfaces/Particles/Move/IMoveAttract.js → esm/Options/Interfaces/Particles/IFill.js} +0 -0
- /package/umd/Core/Interfaces/{IMovePathGenerator.js → IPalette.js} +0 -0
- /package/umd/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js} +0 -0
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Circle, Rectangle } from "./Ranges.js";
|
|
2
|
-
import { double, half, subdivideCount } from "./Constants.js";
|
|
3
|
-
import { getDistance } from "../../Utils/MathUtils.js";
|
|
4
|
-
export class QuadTree {
|
|
5
|
-
constructor(rectangle, capacity) {
|
|
6
|
-
this.rectangle = rectangle;
|
|
7
|
-
this.capacity = capacity;
|
|
8
|
-
this._subdivide = () => {
|
|
9
|
-
const { x, y } = this.rectangle.position, { width, height } = this.rectangle.size, { capacity } = this;
|
|
10
|
-
for (let i = 0; i < subdivideCount; i++) {
|
|
11
|
-
const fixedIndex = i % double;
|
|
12
|
-
this._subs.push(new QuadTree(new Rectangle(x + width * half * fixedIndex, y + height * half * (Math.round(i * half) - fixedIndex), width * half, height * half), capacity));
|
|
13
|
-
}
|
|
14
|
-
this._divided = true;
|
|
15
|
-
};
|
|
16
|
-
this._points = [];
|
|
17
|
-
this._divided = false;
|
|
18
|
-
this._subs = [];
|
|
19
|
-
}
|
|
20
|
-
insert(point) {
|
|
21
|
-
if (!this.rectangle.contains(point.position)) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
if (this._points.length < this.capacity) {
|
|
25
|
-
this._points.push(point);
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
if (!this._divided) {
|
|
29
|
-
this._subdivide();
|
|
30
|
-
}
|
|
31
|
-
return this._subs.some(sub => sub.insert(point));
|
|
32
|
-
}
|
|
33
|
-
query(range, check) {
|
|
34
|
-
const res = [];
|
|
35
|
-
if (!range.intersects(this.rectangle)) {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
for (const p of this._points) {
|
|
39
|
-
if (!range.contains(p.position) &&
|
|
40
|
-
getDistance(range.position, p.position) > p.particle.getRadius() &&
|
|
41
|
-
(!check || check(p.particle))) {
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
res.push(p.particle);
|
|
45
|
-
}
|
|
46
|
-
if (this._divided) {
|
|
47
|
-
for (const sub of this._subs) {
|
|
48
|
-
res.push(...sub.query(range, check));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return res;
|
|
52
|
-
}
|
|
53
|
-
queryCircle(position, radius, check) {
|
|
54
|
-
return this.query(new Circle(position.x, position.y, radius), check);
|
|
55
|
-
}
|
|
56
|
-
queryRectangle(position, size, check) {
|
|
57
|
-
return this.query(new Rectangle(position.x, position.y, size.width, size.height), check);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { isNull } from "../../../../Utils/TypeUtils.js";
|
|
2
|
-
import { setRangeValue } from "../../../../Utils/MathUtils.js";
|
|
3
|
-
export class MoveAttract {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.distance = 200;
|
|
6
|
-
this.enable = false;
|
|
7
|
-
this.rotate = {
|
|
8
|
-
x: 3000,
|
|
9
|
-
y: 3000,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
load(data) {
|
|
13
|
-
if (isNull(data)) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
if (data.distance !== undefined) {
|
|
17
|
-
this.distance = setRangeValue(data.distance);
|
|
18
|
-
}
|
|
19
|
-
if (data.enable !== undefined) {
|
|
20
|
-
this.enable = data.enable;
|
|
21
|
-
}
|
|
22
|
-
if (data.rotate) {
|
|
23
|
-
const rotateX = data.rotate.x;
|
|
24
|
-
if (rotateX !== undefined) {
|
|
25
|
-
this.rotate.x = rotateX;
|
|
26
|
-
}
|
|
27
|
-
const rotateY = data.rotate.y;
|
|
28
|
-
if (rotateY !== undefined) {
|
|
29
|
-
this.rotate.y = rotateY;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tsParticles Engine v4.0.0-alpha.5 by Matteo Bruni */
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Container } from "../Container.js";
|
|
2
|
-
import type { IDelta } from "./IDelta.js";
|
|
3
|
-
import type { Particle } from "../Particle.js";
|
|
4
|
-
import type { Vector } from "../Utils/Vectors.js";
|
|
5
|
-
export interface IMovePathGenerator {
|
|
6
|
-
generate: (particle: Particle, delta: IDelta) => Vector;
|
|
7
|
-
init: (container: Container) => void;
|
|
8
|
-
reset: (particle: Particle) => void;
|
|
9
|
-
update: () => void;
|
|
10
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ICoordinates } from "../Interfaces/ICoordinates.js";
|
|
2
|
-
import type { Particle } from "../Particle.js";
|
|
3
|
-
export declare class Point {
|
|
4
|
-
readonly particle: Particle;
|
|
5
|
-
readonly position: ICoordinates;
|
|
6
|
-
constructor(position: ICoordinates, particle: Particle);
|
|
7
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type BaseRange, Rectangle } from "./Ranges.js";
|
|
2
|
-
import type { ICoordinates } from "../Interfaces/ICoordinates.js";
|
|
3
|
-
import type { IDimension } from "../Interfaces/IDimension.js";
|
|
4
|
-
import type { Particle } from "../Particle.js";
|
|
5
|
-
import type { Point } from "./Point.js";
|
|
6
|
-
export declare class QuadTree {
|
|
7
|
-
readonly rectangle: Rectangle;
|
|
8
|
-
readonly capacity: number;
|
|
9
|
-
private _divided;
|
|
10
|
-
private readonly _points;
|
|
11
|
-
private readonly _subs;
|
|
12
|
-
constructor(rectangle: Rectangle, capacity: number);
|
|
13
|
-
insert(point: Point): boolean;
|
|
14
|
-
query(range: BaseRange, check?: (particle: Particle) => boolean): Particle[];
|
|
15
|
-
queryCircle(position: ICoordinates, radius: number, check?: (particle: Particle) => boolean): Particle[];
|
|
16
|
-
queryRectangle(position: ICoordinates, size: IDimension, check?: (particle: Particle) => boolean): Particle[];
|
|
17
|
-
private readonly _subdivide;
|
|
18
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ICoordinates } from "../../../../Core/Interfaces/ICoordinates.js";
|
|
2
|
-
import type { IMoveAttract } from "../../../Interfaces/Particles/Move/IMoveAttract.js";
|
|
3
|
-
import type { IOptionLoader } from "../../../Interfaces/IOptionLoader.js";
|
|
4
|
-
import type { RangeValue } from "../../../../Types/RangeValue.js";
|
|
5
|
-
import type { RecursivePartial } from "../../../../Types/RecursivePartial.js";
|
|
6
|
-
export declare class MoveAttract implements IMoveAttract, IOptionLoader<IMoveAttract> {
|
|
7
|
-
distance: RangeValue;
|
|
8
|
-
enable: boolean;
|
|
9
|
-
rotate: ICoordinates;
|
|
10
|
-
constructor();
|
|
11
|
-
load(data?: RecursivePartial<IMoveAttract>): void;
|
|
12
|
-
}
|
package/umd/Core/Utils/Point.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Point = void 0;
|
|
13
|
-
class Point {
|
|
14
|
-
constructor(position, particle) {
|
|
15
|
-
this.position = position;
|
|
16
|
-
this.particle = particle;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.Point = Point;
|
|
20
|
-
});
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./Ranges.js", "./Constants.js", "../../Utils/MathUtils.js"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.QuadTree = void 0;
|
|
13
|
-
const Ranges_js_1 = require("./Ranges.js");
|
|
14
|
-
const Constants_js_1 = require("./Constants.js");
|
|
15
|
-
const MathUtils_js_1 = require("../../Utils/MathUtils.js");
|
|
16
|
-
class QuadTree {
|
|
17
|
-
constructor(rectangle, capacity) {
|
|
18
|
-
this.rectangle = rectangle;
|
|
19
|
-
this.capacity = capacity;
|
|
20
|
-
this._subdivide = () => {
|
|
21
|
-
const { x, y } = this.rectangle.position, { width, height } = this.rectangle.size, { capacity } = this;
|
|
22
|
-
for (let i = 0; i < Constants_js_1.subdivideCount; i++) {
|
|
23
|
-
const fixedIndex = i % Constants_js_1.double;
|
|
24
|
-
this._subs.push(new QuadTree(new Ranges_js_1.Rectangle(x + width * Constants_js_1.half * fixedIndex, y + height * Constants_js_1.half * (Math.round(i * Constants_js_1.half) - fixedIndex), width * Constants_js_1.half, height * Constants_js_1.half), capacity));
|
|
25
|
-
}
|
|
26
|
-
this._divided = true;
|
|
27
|
-
};
|
|
28
|
-
this._points = [];
|
|
29
|
-
this._divided = false;
|
|
30
|
-
this._subs = [];
|
|
31
|
-
}
|
|
32
|
-
insert(point) {
|
|
33
|
-
if (!this.rectangle.contains(point.position)) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
if (this._points.length < this.capacity) {
|
|
37
|
-
this._points.push(point);
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
if (!this._divided) {
|
|
41
|
-
this._subdivide();
|
|
42
|
-
}
|
|
43
|
-
return this._subs.some(sub => sub.insert(point));
|
|
44
|
-
}
|
|
45
|
-
query(range, check) {
|
|
46
|
-
const res = [];
|
|
47
|
-
if (!range.intersects(this.rectangle)) {
|
|
48
|
-
return [];
|
|
49
|
-
}
|
|
50
|
-
for (const p of this._points) {
|
|
51
|
-
if (!range.contains(p.position) &&
|
|
52
|
-
(0, MathUtils_js_1.getDistance)(range.position, p.position) > p.particle.getRadius() &&
|
|
53
|
-
(!check || check(p.particle))) {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
res.push(p.particle);
|
|
57
|
-
}
|
|
58
|
-
if (this._divided) {
|
|
59
|
-
for (const sub of this._subs) {
|
|
60
|
-
res.push(...sub.query(range, check));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return res;
|
|
64
|
-
}
|
|
65
|
-
queryCircle(position, radius, check) {
|
|
66
|
-
return this.query(new Ranges_js_1.Circle(position.x, position.y, radius), check);
|
|
67
|
-
}
|
|
68
|
-
queryRectangle(position, size, check) {
|
|
69
|
-
return this.query(new Ranges_js_1.Rectangle(position.x, position.y, size.width, size.height), check);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
exports.QuadTree = QuadTree;
|
|
73
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "../../../../Utils/TypeUtils.js", "../../../../Utils/MathUtils.js"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MoveAttract = void 0;
|
|
13
|
-
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
14
|
-
const MathUtils_js_1 = require("../../../../Utils/MathUtils.js");
|
|
15
|
-
class MoveAttract {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.distance = 200;
|
|
18
|
-
this.enable = false;
|
|
19
|
-
this.rotate = {
|
|
20
|
-
x: 3000,
|
|
21
|
-
y: 3000,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
load(data) {
|
|
25
|
-
if ((0, TypeUtils_js_1.isNull)(data)) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (data.distance !== undefined) {
|
|
29
|
-
this.distance = (0, MathUtils_js_1.setRangeValue)(data.distance);
|
|
30
|
-
}
|
|
31
|
-
if (data.enable !== undefined) {
|
|
32
|
-
this.enable = data.enable;
|
|
33
|
-
}
|
|
34
|
-
if (data.rotate) {
|
|
35
|
-
const rotateX = data.rotate.x;
|
|
36
|
-
if (rotateX !== undefined) {
|
|
37
|
-
this.rotate.x = rotateX;
|
|
38
|
-
}
|
|
39
|
-
const rotateY = data.rotate.y;
|
|
40
|
-
if (rotateY !== undefined) {
|
|
41
|
-
this.rotate.y = rotateY;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.MoveAttract = MoveAttract;
|
|
47
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
});
|
|
File without changes
|
/package/browser/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js}
RENAMED
|
File without changes
|
|
File without changes
|
/package/cjs/{Core/Interfaces/IMovePathGenerator.js → Options/Interfaces/Particles/IFill.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|