UNPKG

@dominicstop/utils

Version:

Yet another event emitter written in typescript.

35 lines 1.56 kB
import { Rect, Vector2D } from "../geometry"; import { AnyParticle } from "./AnyParticle"; import { SomeParticleForce } from "./SomeParticleForce"; import { ParticleMetadataMap, SomePhysicsEngine } from "./SomePhysicsEngine"; import { SomeSystemForce } from "./SomeSystemForce"; export declare class PhysicsEngine<SomeParticle extends AnyParticle> implements SomePhysicsEngine<SomeParticle> { particles: Array<SomeParticle>; particleMetadataMap: ParticleMetadataMap; particleForces: Array<SomeParticleForce>; systemForces: Array<SomeSystemForce>; worldBounds: Rect | null; gravity: Vector2D; restitutionCoefficient: number; collisionIterations: number; dampingFactor: number; constructor(); addParticle(particle: SomeParticle): void; removeParticle(particleOrId: SomeParticle | string): boolean; getParticleById(id: string): SomeParticle | undefined; addForce(force: SomeParticleForce | SomeSystemForce): void; removeForce(force: SomeParticleForce | SomeSystemForce): boolean; update(deltaTime: number): void; resolveCollisions(): void; handleBoundaryConditions(particle: SomeParticle): void; clear(): void; getTotalKineticEnergy(): number; logState(): void; getParticleCount(): number; setGravity(gravity: Vector2D): void; setWorldBounds(bounds: Rect | null): void; setRestitutionCoefficient(restitution: number): void; setCollisionIterations(iterations: number): void; checkIfAllParticlesAtRest(): boolean; } //# sourceMappingURL=PhysicsEngine.d.ts.map