UNPKG

@itwin/core-frontend

Version:
47 lines 2.9 kB
import { Transform } from "@itwin/core-geometry"; import { FeatureSymbolizedRenderer } from "../../../../tile/internal"; /** Interface defining minimal implementation needed to create an ArcGIS geometry renderer, * that will ultimately be called by an [[ArcGisFeatureReader]] implementation. * @internal */ export interface FeatureGeometryRenderer { transform: Transform | undefined; hasSymbologyRenderer(): this is FeatureSymbolizedRenderer; renderPath(geometryLengths: number[], geometryCoords: number[], fill: boolean, stride: number, relativeCoords: boolean): Promise<void>; renderPoint(geometryLengths: number[], geometryCoords: number[], stride: number, relativeCoords: boolean): Promise<void>; } /** Internal implementation of [[FeatureGeometryRenderer]] * @internal */ export declare abstract class FeatureGeometryBaseRenderer implements FeatureGeometryRenderer { private _transform; constructor(world2PixelTransform?: Transform); abstract hasSymbologyRenderer(): this is FeatureSymbolizedRenderer; get transform(): Transform | undefined; protected abstract beginPath(): void; protected abstract closePath(): void; protected abstract lineTo(x: number, y: number): void; protected abstract moveTo(x: number, y: number): void; protected abstract stroke(): Promise<void>; protected abstract fill(): Promise<void>; protected abstract drawPoint(x: number, y: number): void; protected abstract finishPoints(): Promise<void>; /** * Render a path on the renderer's context. * Note: Inputs are designed based on the PBF format, to avoid any data transformation. * @param geometryLengths Array be used to determine the start and end of each sub-path / rings. (i.e. [5,5] = two rings of 5 vertices) * @param geometryCoords Array that linearly encodes the vertices of each sub-path of a polyline / ring of a polygon * @param fill Indicates if the path should be filled or not. * @param stride Dimension of each vertices (i.e. 2 or 3. 3 could be X,Y,Z, X,YM) Currently 3rd dimension is ignored. */ renderPath(geometryLengths: number[], geometryCoords: number[], fill: boolean, stride: number, relativeCoords: boolean): Promise<void>; /** * Render a point on the renderer's context. * Note: Inputs are designed based on the PBF format, to avoid any data transformation. * @param geometryLengths Array be used to determine the start and end of each multi-point array, empty for single point. * @param geometryCoords Array that linearly encodes vertices. * @param stride Dimension of each vertices (i.e. 2 or 3. 3 could be X,Y,Z, X,YM) Currently 3rd dimension is ignored. */ renderPoint(geometryLengths: number[], geometryCoords: number[], stride: number, relativeCoords: boolean): Promise<void>; } //# sourceMappingURL=FeatureGeometryRenderer.d.ts.map