import { Extent } from "../Extent"; import { Handler } from "../webgl/Handler"; import type { WebGLBufferExt } from "../webgl/Handler"; import { Vector } from "../layer/Vector"; import { Node } from "../quadTree/Node"; import { Vec3 } from "../math/Vec3"; import { Vec4 } from "../math/Vec4"; import type { CoordinatesType, Geometry } from "./Geometry"; declare class GeometryHandler { static __counter__: number; protected __id: number; protected _layer: Vector; protected _handler: Handler | null; protected _geometries: Geometry[]; protected _updatedGeometryArr: Geometry[]; protected _updatedGeometry: Record; protected _removeGeometryExtentArr: Extent[]; protected _removeGeometryExtents: Record; protected _polyVerticesHighMerc: number[]; protected _polyVerticesLowMerc: number[]; protected _polyColors: number[]; protected _polyPickingColors: number[]; protected _polyIndexes: number[]; protected _lineVerticesHighMerc: number[]; protected _lineVerticesLowMerc: number[]; protected _lineOrders: number[]; protected _lineIndexes: number[]; protected _lineColors: number[]; protected _linePickingColors: number[]; protected _lineThickness: number[]; protected _lineStrokes: number[]; protected _lineStrokeColors: number[]; _polyVerticesHighBufferMerc: WebGLBufferExt | null; _polyVerticesLowBufferMerc: WebGLBufferExt | null; _polyColorsBuffer: WebGLBufferExt | null; _polyPickingColorsBuffer: WebGLBufferExt | null; _polyIndexesBuffer: WebGLBufferExt | null; _lineVerticesHighBufferMerc: WebGLBufferExt | null; _lineVerticesLowBufferMerc: WebGLBufferExt | null; _lineColorsBuffer: WebGLBufferExt | null; _linePickingColorsBuffer: WebGLBufferExt | null; _lineThicknessBuffer: WebGLBufferExt | null; _lineStrokesBuffer: WebGLBufferExt | null; _lineStrokeColorsBuffer: WebGLBufferExt | null; _lineOrdersBuffer: WebGLBufferExt | null; _lineIndexesBuffer: WebGLBufferExt | null; protected _buffersUpdateCallbacks: Function[]; protected _changedBuffers: boolean[]; constructor(layer: Vector); static appendLineData(pathArr: CoordinatesType[][], isClosed: boolean, color: Vec4, pickingColor: Vec3, thickness: number, strokeColor: Vec4, strokeSize: number, outVerticesHigh: number[], outVerticesLow: number[], outOrders: number[], outIndexes: number[], outColors: number[], outPickingColors: number[], outThickness: number[], outStrokeColors: number[], outStrokes: number[], outVerticesHigh2: number[], outVerticesLow2: number[]): void; assignHandler(handler: Handler): void; /** * @public * @param {Geometry} geometry - Geometry object. */ add(geometry: Geometry): void; remove(geometry: Geometry): void; protected _refreshRecursevely(geometry: Geometry, treeNode: Node): void; protected _refreshRecursevelyExt(extent: Extent, treeNode: Node): void; protected _refreshPlanetNode(treeNode: Node): void; protected _updatePlanet(): void; protected refresh(): void; update(): void; setGeometryVisibility(geometry: Geometry): void; setPolyColorArr(geometry: Geometry, color: Vec4): void; setLineStrokeColorArr(geometry: Geometry, color: Vec4): void; setLineColorArr(geometry: Geometry, color: Vec4): void; setLineStrokeArr(geometry: Geometry, width: number): void; setLineThicknessArr(geometry: Geometry, width: number): void; bringToFront(geometry: Geometry): void; createPolyVerticesBuffer(): void; createPolyIndexesBuffer(): void; createPolyColorsBuffer(): void; createPolyPickingColorsBuffer(): void; createLineVerticesBuffer(): void; createLineIndexesBuffer(): void; createLineOrdersBuffer(): void; createLineColorsBuffer(): void; createLinePickingColorsBuffer(): void; createLineThicknessBuffer(): void; createLineStrokesBuffer(): void; createLineStrokeColorsBuffer(): void; clear(): void; _deleteBuffers(): void; } export { GeometryHandler };