UNPKG

three-pathfinding-3d

Version:

A 3D pathfinding library for Three.js, supporting navigation meshes (navmeshes) and various pathfinding algorithms.

50 lines (49 loc) 1.06 kB
import type { Vector3 } from "three"; /** * Defines a node (or polygon) within a group. */ type Node = { id: number; /** * IDs of neighboring nodes. */ neighbours: number[]; vertexIds: number[]; centroid: Vector3; /** * Array of portals, each defined by two vertex IDs. */ portals: number[][]; closed: boolean; cost: number; group: number; }; type Polygon = { group: number; neighbours: Set<Polygon>; vertexIds: number[]; polyIndex: number; }; /** * Defines a zone of interconnected groups on a navigation mesh. */ type Zone = { groups: Group[]; vertices: Vector3[]; }; type NavMesh = { polygons: Polygon[]; vertices: Vector3[]; }; type GroupItem = { centroid: Vector3; id: number; neighbours: number[]; portals: number[][]; vertexIds: number[]; }; /** * Defines a group within a navigation mesh. */ type Group = GroupItem[]; export type { Node, Polygon, Zone, Group, NavMesh, GroupItem };