From d724cc0bf6ff6d351319e6fb00f5184a04e16ac0 Mon Sep 17 00:00:00 2001 From: Josh Kingsley Date: Mon, 24 Nov 2025 15:46:22 +0200 Subject: chore: improve dev tasks --- packages/web/src/math/Rect.ts | 104 ------------------------------------------ 1 file changed, 104 deletions(-) delete mode 100644 packages/web/src/math/Rect.ts (limited to 'packages/web/src/math/Rect.ts') diff --git a/packages/web/src/math/Rect.ts b/packages/web/src/math/Rect.ts deleted file mode 100644 index f52a2f7..0000000 --- a/packages/web/src/math/Rect.ts +++ /dev/null @@ -1,104 +0,0 @@ -import Coord from "./Coord"; - -/** A rectangle on a grid whose origin is in the top left. */ -export default class Rect { - private readonly _topLeft: Coord; - private readonly _width: number; - private readonly _height: number; - - constructor( - topLeftX: number, - topLeftY: number, - width: number, - height: number, - ) { - this._topLeft = new Coord(topLeftX, topLeftY); - this._width = width; - this._height = height; - } - - /** Width of this rectangle. */ - get width(): number { - return this._width; - } - - /** Height of this rectangle. */ - get height(): number { - return this._height; - } - - /** Coord of the top-left point of this rectangle. */ - get topLeft(): Coord { - return this._topLeft; - } - - /** Coord of the bottom-right point of this rectangle. */ - get bottomRight(): Coord { - return new Coord( - this._topLeft.x + this._width, - this._topLeft.y + this._height, - ); - } - - get center(): Coord { - return new Coord( - this.topLeft.x + (this.bottomRight.x - this.topLeft.x) / 2, - this.topLeft.y + (this.bottomRight.y - this.topLeft.y) / 2, - ); - } - - /** Determine if this rectangle contains the point at `coord`. */ - containsCoord(coord: Coord): boolean { - return ( - this.topLeft.x <= coord.x && - coord.x <= this.bottomRight.x && - this.topLeft.y <= coord.y && - coord.y <= this.bottomRight.y - ); - } - - verticallyContainsCoord(coord: Coord): boolean { - return this.topLeft.y <= coord.y && coord.y <= this.bottomRight.y; - } - - horizontallyContainsCoord(coord: Coord): boolean { - return this.topLeft.x <= coord.x && coord.x <= this.bottomRight.x; - } - - extend(other: Rect): Rect { - const topLeftX = Math.min( - this.topLeft.x, - this.bottomRight.x, - other.topLeft.x, - other.bottomRight.x, - ); - - const topLeftY = Math.min( - this.topLeft.y, - this.bottomRight.y, - other.topLeft.y, - other.bottomRight.y, - ); - - const bottomRightX = Math.max( - this.topLeft.x, - this.bottomRight.x, - other.topLeft.x, - other.bottomRight.x, - ); - - const bottomRightY = Math.max( - this.topLeft.y, - this.bottomRight.y, - other.topLeft.y, - other.bottomRight.y, - ); - - return new Rect( - topLeftX, - topLeftY, - bottomRightX - topLeftX, - bottomRightY - topLeftY, - ); - } -} -- cgit v1.2.3