UNPKG

@equinor/videx-wellog

Version:

Visualisation components for wellbore log data

22 lines (21 loc) 1.02 kB
import { Selection } from 'd3-selection'; import Track from './track'; import { TrackOptions, OnMountEvent, OnUpdateEvent, OnRescaleEvent } from './interfaces'; /** Base track for WebGL2 rendering. */ export default abstract class WebGL2Track<TOptions extends TrackOptions> extends Track<TOptions> { canvas: Selection<HTMLCanvasElement, unknown, null, undefined>; gl: WebGL2RenderingContext; program: WebGLProgram | null; domainLocation: WebGLUniformLocation | null; protected abstract vertexShaderSource: string; protected abstract fragmentShaderSource: string; /** Override to add canvas element for WebGL2 rendering. */ onMount(trackEvent: OnMountEvent): void; /** Override to scale canvas element on resize. */ onUpdate(trackEvent: OnUpdateEvent): void; onRescale(trackEvent: OnRescaleEvent): void; /** Override of onDataLoaded from base class. */ onDataLoaded(data?: any): void; protected abstract processData(data?: any): void; private redrawContext; }