@deck.gl/layers
Version:
deck.gl core layers
98 lines • 3.64 kB
TypeScript
import { Layer } from '@deck.gl/core';
import { Model } from '@luma.gl/engine';
import PathTesselator from "./path-tesselator.js";
import type { LayerProps, LayerDataSource, Color, Accessor, AccessorFunction, Unit, UpdateParameters, GetPickingInfoParams, PickingInfo, DefaultProps } from '@deck.gl/core';
import type { PathGeometry } from "./path.js";
type _PathLayerProps<DataT> = {
data: LayerDataSource<DataT>;
/** The units of the line width, one of `'meters'`, `'common'`, and `'pixels'`
* @default 'meters'
*/
widthUnits?: Unit;
/**
* Path width multiplier.
* @default 1
*/
widthScale?: number;
/**
* The minimum path width in pixels. This prop can be used to prevent the path from getting too thin when zoomed out.
* @default 0
*/
widthMinPixels?: number;
/**
* The maximum path width in pixels. This prop can be used to prevent the path from getting too thick when zoomed in.
* @default Number.MAX_SAFE_INTEGER
*/
widthMaxPixels?: number;
/**
* Type of joint. If `true`, draw round joints. Otherwise draw miter joints.
* @default false
*/
jointRounded?: boolean;
/**
* Type of caps. If `true`, draw round caps. Otherwise draw square caps.
* @default false
*/
capRounded?: boolean;
/**
* The maximum extent of a joint in ratio to the stroke width. Only works if `jointRounded` is `false`.
* @default 4
*/
miterLimit?: number;
/**
* If `true`, extrude the path in screen space (width always faces the camera).
* If `false`, the width always faces up (z).
* @default false
*/
billboard?: boolean;
/**
* (Experimental) If `'loop'` or `'open'`, will skip normalizing the coordinates returned by `getPath` and instead assume all paths are to be loops or open paths.
* When normalization is disabled, paths must be specified in the format of flat array. Open paths must contain at least 2 vertices and closed paths must contain at least 3 vertices.
* @default null
*/
_pathType?: null | 'loop' | 'open';
/**
* Path geometry accessor.
*/
getPath?: AccessorFunction<DataT, PathGeometry>;
/**
* Path color accessor.
* @default [0, 0, 0, 255]
*/
getColor?: Accessor<DataT, Color | Color[]>;
/**
* Path width accessor.
* @default 1
*/
getWidth?: Accessor<DataT, number | number[]>;
/**
* @deprecated Use `jointRounded` and `capRounded` instead
*/
rounded?: boolean;
};
export type PathLayerProps<DataT = unknown> = _PathLayerProps<DataT> & LayerProps;
/** Render lists of coordinate points as extruded polylines with mitering. */
export default class PathLayer<DataT = any, ExtraPropsT extends {} = {}> extends Layer<ExtraPropsT & Required<_PathLayerProps<DataT>>> {
static defaultProps: DefaultProps<PathLayerProps<unknown>>;
static layerName: string;
state: {
model?: Model;
pathTesselator: PathTesselator;
};
getShaders(): any;
get wrapLongitude(): boolean;
getBounds(): [number[], number[]] | null;
initializeState(): void;
updateState(params: UpdateParameters<this>): void;
getPickingInfo(params: GetPickingInfoParams): PickingInfo;
/** Override base Layer method */
disablePickingIndex(objectIndex: number): void;
draw({ uniforms }: {
uniforms: any;
}): void;
protected _getModel(): Model;
protected calculatePositions(attribute: any): void;
protected calculateSegmentTypes(attribute: any): void;
}
export {};
//# sourceMappingURL=path-layer.d.ts.map