From 3c51a1994f41b625823c4f15e92396b5498ce23c Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 24 Dec 2019 13:53:16 +0100 Subject: Move renderer into "runtime" subdirectory --- src/renderer/math/point.ts | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 src/renderer/math/point.ts (limited to 'src/renderer/math/point.ts') diff --git a/src/renderer/math/point.ts b/src/renderer/math/point.ts deleted file mode 100644 index 0865b8f..0000000 --- a/src/renderer/math/point.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Collidable } from './collision'; -import { Line, Movement, normal } from './line'; - -import { vec2 } from 'gl-matrix'; - -export class Point implements Collidable { - constructor(public readonly p: vec2) {} - - public collide(out: vec2, move: Movement, r: number): boolean { - const moveLine = move.toLineSegment(); - - if (moveLine.projectPointDistance(this.p) < 0) - return false; - - const d = moveLine.distancePoint(this.p) / r; - if (Math.abs(d) >= 1) - return false; - - const e = Math.sqrt(1 - d * d); - - const t = moveLine.getNormal(vec2.create()); - vec2.scale(t, t, d); - vec2.scaleAndAdd(t, t, moveLine.v, e); - - const tr = vec2.scale(vec2.create(), t, r); - - const refMove = move.translate(tr); - - if (vec2.sqrDist(this.p, move.src) > r * r && !refMove.passes(this.p)) - return false; - - normal(t, t); - - const tang = new Line(this.p, t); - tang.projectPoint(out, refMove.dest); - vec2.sub(out, out, tr); - - return true; - } -} -- cgit v1.2.3