@deck.gl-community/layers
Version:
Add-on layers for deck.gl
77 lines • 4.18 kB
TypeScript
import { CompositeLayer } from '@deck.gl/core';
import { Vector3 } from '@math.gl/core';
import { PathDirection } from "./create-path-markers.js";
import { GeometryLayer } from "./geometry-layer.js";
import type { MarkerPlacementsAccessor, PathDirectionAccessor, PathMarker } from "./create-path-markers.js";
import type { Accessor, Color, DefaultProps, GetPickingInfoParams, Layer, LayerDataSource, LayerProps, Position, UpdateParameters } from '@deck.gl/core';
import type { ArcLayerProps, LineLayerProps, PathLayerProps } from '@deck.gl/layers';
export { PathDirection };
export type { MarkerPlacementsAccessor, MarkerPlacementsAccessorContext, PathDirectionAccessor, PathGeometry, PathMarker } from "./create-path-markers.js";
/** Properties supported by {@link DependencyArrowLayer}. */
export type DependencyArrowLayerProps<DataT = unknown> = LayerProps & _DependencyArrowLayerProps<DataT>;
type _DependencyArrowLayerProps<DataT = unknown> = {
/** Dependency data rendered by the layer. */
data: LayerDataSource<DataT>;
/** Dependency routing mode. @defaultValue 'path' */
mode?: 'path' | 'line' | 'arc';
/** Accessor returning nested or flat dependency path coordinates. */
getPath?: PathLayerProps<DataT>['getPath'];
/** Accessor returning dependency line color. */
getColor?: LineLayerProps<DataT>['getColor'];
/** Accessor returning dependency line width. */
getWidth?: LineLayerProps<DataT>['getWidth'];
/** Units used by dependency line width. */
widthUnits?: LineLayerProps<DataT>['widthUnits'];
/** Scale applied to dependency line width. */
widthScale?: LineLayerProps<DataT>['widthScale'];
/** Minimum rendered dependency line width in pixels. */
widthMinPixels?: LineLayerProps<DataT>['widthMinPixels'];
/** Maximum rendered dependency line width in pixels. */
widthMaxPixels?: LineLayerProps<DataT>['widthMaxPixels'];
/** Arc segment count used when `mode` is `'arc'`. */
arcNumSegments?: ArcLayerProps<DataT>['numSegments'];
/** Accessor returning arc height when `mode` is `'arc'`. */
getArcHeight?: ArcLayerProps<DataT>['getHeight'];
/** Accessor returning arc tilt when `mode` is `'arc'`. */
getArcTilt?: ArcLayerProps<DataT>['getTilt'];
/** Accessor returning marker direction flags. @defaultValue PathDirection.FORWARD */
getDirection?: PathDirectionAccessor<DataT>;
/** Marker color accessor; falls back to `getColor` when omitted. */
getMarkerColor?: Accessor<DataT, Color>;
/** Accessor returning marker ratios along the path, from 0 at start to 1 at end. */
getMarkerPlacements?: MarkerPlacementsAccessor<DataT>;
/** Marker size accessor in marker-local `[width, height]` units. */
getMarkerSize?: Accessor<DataT, [number, number]>;
/** Optional point used by callers to identify a highlighted dependency location. */
highlightPoint?: Position | Vector3 | null;
/** Optional source datum index used with `highlightPoint`. */
highlightIndex?: number;
/** Marker size multiplier. @defaultValue 10 */
markerSizeScale?: number;
};
/** Renders paths, lines, or arcs with directional dependency markers. */
export declare class DependencyArrowLayer<DataT = any, ExtraPropsT = Record<string, unknown>> extends CompositeLayer<ExtraPropsT & Required<_DependencyArrowLayerProps<DataT>>> {
static layerName: string;
static defaultProps: DefaultProps<_DependencyArrowLayerProps<unknown>>;
state: {
markers: PathMarker<DataT>[];
};
updateState({ props, oldProps, changeFlags }: UpdateParameters<this>): void;
getPickingInfo({ info }: GetPickingInfoParams): {
color: Uint8Array | null;
layer: Layer | null;
sourceLayer?: Layer | null;
viewport?: import("@deck.gl/core").Viewport;
index: number;
picked: boolean;
object?: any;
x: number;
y: number;
pixel?: [number, number];
coordinate?: number[];
devicePixel?: [number, number];
pixelRatio: number;
};
renderLayers(): (Layer<{}> | GeometryLayer<PathMarker<DataT>>)[];
}
//# sourceMappingURL=dependency-arrow-layer.d.ts.map