1 | import type { ICoordinates } from "../../Core/Interfaces/ICoordinates";
|
2 | import type { Container } from "../../Core/Container";
|
3 | import type { Particle } from "../../Core/Particle";
|
4 | import type { IRgb } from "../../Core/Interfaces/Colors";
|
5 | import type { IAbsorber } from "./Options/Interfaces/IAbsorber";
|
6 | import type { Absorbers } from "./Absorbers";
|
7 | import { Vector } from "../../Core/Particle/Vector";
|
8 | declare type OrbitingParticle = Particle & {
|
9 | orbit?: Vector;
|
10 | needsNewPosition?: boolean;
|
11 | };
|
12 | export declare class AbsorberInstance {
|
13 | private readonly absorbers;
|
14 | private readonly container;
|
15 | mass: number;
|
16 | opacity: number;
|
17 | size: number;
|
18 | color: IRgb;
|
19 | limit?: number;
|
20 | readonly name?: string;
|
21 | position: Vector;
|
22 | private dragging;
|
23 | private readonly initialPosition?;
|
24 | private readonly options;
|
25 | constructor(absorbers: Absorbers, container: Container, options: IAbsorber, position?: ICoordinates);
|
26 | attract(particle: OrbitingParticle): void;
|
27 | resize(): void;
|
28 | draw(context: CanvasRenderingContext2D): void;
|
29 | private calcPosition;
|
30 | private updateParticlePosition;
|
31 | }
|
32 | export {};
|