UNPKG

s2maps-gpu

Version:

S2 Maps GPU - An open source, high-performance, and GPU-accelerated map engine for rendering large-scale, interactive maps.

34 lines (33 loc) 1.57 kB
import VectorWorker from './vectorWorker.js'; import type { LineDefinition, LineWorkerLayer } from 'style/style.spec.js'; import type { TileRequest } from '../worker.spec.js'; import type { LineFeature, LineWorker as LineWorkerSpec, VTFeature } from './process.spec.js'; /** Worker for processing line data */ export default class LineWorker extends VectorWorker implements LineWorkerSpec { #private; featureStore: Map<string, LineFeature[]>; /** * Setup the worker layer to process future line data * @param lineLayer - input style layer guide * @returns the worker layer to process future line vector data */ setupLayer(lineLayer: LineDefinition): LineWorkerLayer; /** * Build a line feature * @param tile - the tile request * @param extent - the tile extent * @param feature - the vector tile feature * @param lineLayer - the line worker layer * @param mapID - the map id to ship the data back to * @param sourceName - the name of the source the data belongs to * @returns true if the feature was built */ buildFeature(tile: TileRequest, extent: number, feature: VTFeature, lineLayer: LineWorkerLayer, mapID: string, sourceName: string): boolean; /** * Flush a tile-request's result line data to the render thread * @param mapID - id of the map to ship the data back to * @param tile - tile request * @param sourceName - name of the source the data belongs to */ flush(mapID: string, tile: TileRequest, sourceName: string): Promise<void>; }