Refactoring points

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
This commit is contained in:
Mark Tolmacs 2024-09-20 21:32:32 +02:00
parent 8ca4cf3260
commit b4cb314090
No known key found for this signature in database
40 changed files with 746 additions and 783 deletions

View file

@ -1,4 +1,4 @@
import type { GlobalPoint, LocalPoint, Vector } from "./types";
import type { GlobalPoint, LocalPoint, Vector, ViewportPoint } from "./types";
/**
* Create a vector from the x and y coordiante elements.
@ -23,10 +23,9 @@ export function vector(
* @param origin The origin point in a given coordiante system
* @returns The created vector from the point and the origin
*/
export function vectorFromPoint<Point extends GlobalPoint | LocalPoint>(
p: Point,
origin: Point = [0, 0] as Point,
): Vector {
export function vectorFromPoint<
Point extends GlobalPoint | LocalPoint | ViewportPoint,
>(p: Point, origin: Point = [0, 0] as Point): Vector {
return vector(p[0] - origin[0], p[1] - origin[1]);
}