@equinor/videx-wellog
Version:
Visualisation components for wellbore log data
22 lines (21 loc) • 1.02 kB
TypeScript
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;
}