import { Box3, Vector2, Vector3 } from 'three'; import { StructureNode } from '../plugin-types'; /** * 射线法判断点是否在多边形内 */ export declare function pointInPolygon(px: number, py: number, polygon: Vector2[]): boolean; /** * 判断两线段是否相交 */ export declare function segmentsIntersect(ax1: number, ay1: number, ax2: number, ay2: number, bx1: number, by1: number, bx2: number, by2: number): boolean; /** * 判断多边形与矩形是否相交或包含 */ export declare function polygonIntersectsRect(polygon: Vector2[], minX: number, minY: number, maxX: number, maxY: number): boolean; /** * 将 structure 中的 bbox 数组转为 Box3。 * 约定与 `selectByBox` 一致:`[minX, minY, minZ, maxX, maxY, maxZ]`,至少 6 个数。 */ export declare function bboxArrayToBox3(bbox: number[] | undefined): Box3 | null; /** * 从 OID 节点映射中按 Box3 范围筛选构件 */ export declare function selectByBoxFromOidMap(oidNodeMap: Map, box: Box3): number[]; /** * 从 OID 节点映射中按多边形(平面投影)范围筛选构件 */ export declare function selectByPolygonFromOidMap(oidNodeMap: Map, polygon: Vector3[], axis?: "xy" | "xz" | "yz"): number[]; //# sourceMappingURL=spatial-query.d.ts.map