import { Vector2 } from "three"; export function computeArea(data: any, type: "zone" | "rooms" | "aisle"): any { if (type === "zone") { const points3D = data.map((p: any) => new Vector2(p[0], p[2])); let area = 0; for (let i = 0; i < points3D.length - 1; i++) { const current = points3D[i]; const next = points3D[i + 1]; area += current.x * next.y - next.x * current.y; } return Math.abs(area) / 2; } if (type === "rooms") { const points2D = data.coordinates.map( (coordinate: any) => new Vector2(coordinate.position.x, coordinate.position.z) ); let area = 0; for (let i = 0; i < points2D.length - 1; i++) { const current = points2D[i]; const next = points2D[i + 1]; area += current.x * next.y - next.x * current.y; } return Math.abs(area) / 2; } }