UNPKG

@webviz/subsurface-viewer

Version:

3D visualization component for subsurface reservoir data

73 lines (72 loc) 2.33 kB
import type { Color, UpdateParameters } from "@deck.gl/core"; import { Layer } from "@deck.gl/core"; import type { RenderPass, UniformValue } from "@luma.gl/core"; import { Model } from "@luma.gl/engine"; import type { Point3D } from "../../utils"; import type { ExtendedLayerProps } from "../utils/layerTools"; declare enum TEXT_ANCHOR { start = 0, middle = 1, end = 2 } declare enum ALIGNMENT_BASELINE { top = 1, center = 0, bottom = -1 } type LabelData = { label: string; pos: Point3D; anchor?: TEXT_ANCHOR; alignment?: ALIGNMENT_BASELINE; }; declare enum ViewSide { Left = 0, Right = 1, Bottom = 2, Top = 3 } export interface Axes2DLayerProps extends ExtendedLayerProps { /** Minimal horizontal pixel size margin. May be larger if this number is to small for the label. */ minimalMarginH: number; /** Minimal vertical pixel size margin. May be larger if this number is to small for the label. */ minimalMarginV: number; /** @deprecated Use "minimalMarginH" */ marginH: number; /** @deprecated Use "minimalMarginV" */ marginV: number; formatLabelFunc?: (x: number) => string; labelColor?: Color; labelFontSizePt?: number; axisColor?: Color; backgroundColor?: Color; isLeftRuler: boolean; isRightRuler: boolean; isBottomRuler: boolean; isTopRuler: boolean; } export default class Axes2DLayer extends Layer<Axes2DLayerProps> { shouldUpdateState({ props, oldProps, context, changeFlags, }: UpdateParameters<Layer<Axes2DLayerProps>>): boolean; updateState(): void; initializeState(): void; makeLabel(n: number, ndecimals: number): string; GetTickLinesAndLabels(min: number, max: number, viewSide: ViewSide): [number[], LabelData[]]; GetBackgroundTriangleLinesHorizontal(x_min_w: number, x_max_w: number, isTop: boolean): number[]; GetBackgroundTriangleLinesVertical(y_min_w: number, y_max_w: number, isLeft: boolean): number[]; makeLabelsData(tick_lines: number[], tick_labels: string[]): LabelData[]; draw(opts: { context: { renderPass: RenderPass; }; }): void; _getModels(fontTexture: UniformValue): { labelModels: Model[]; lineModel: Model; backgroundModel: Model; }; } export {};