Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 17x 17x 17x 14x 14x 14x 14x 8x 8x 8x 8x | import { Vector2 } from "three" import { CodeMapNode } from "../../../codeCharta.model" import Rectangle from "./rectangle" export default abstract class BoundingBox { height = 0 width = 0 mapNode: CodeMapNode protected metricValue: number protected FIXED_MARGIN = 0.5 constructor(mapNode: CodeMapNode) { this.mapNode = mapNode } getNode() { return this.mapNode } abstract calculateDimension(metricName: string): void abstract layout(margin: number, origin: Vector2): CodeMapNode[] protected createMarginatedRectangle(origin: Vector2) { const newOrigin = new Vector2(origin.x + this.FIXED_MARGIN, origin.y + this.FIXED_MARGIN) const width = this.width - 2 * this.FIXED_MARGIN const height = this.height - 2 * this.FIXED_MARGIN return new Rectangle(newOrigin, width, height) } } |