UNPKG

@openglobus/og

Version:

[openglobus](https://www.openglobus.org/) is a javascript/typescript library designed to display interactive 3d maps and planets with map tiles, imagery and vector data, markers, and 3D objects. It uses the WebGL technology, open source, and completely fr

87 lines (86 loc) 4.08 kB
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<number, boolean>; protected _removeGeometryExtentArr: Extent[]; protected _removeGeometryExtents: Record<number, boolean>; 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 };