UNPKG

@equinor/videx-wellog

Version:

Visualisation components for wellbore log data

65 lines (64 loc) 1.96 kB
import SvgTrack from '../svg-track'; import { LabelBounds } from './common'; import { DualScaleTrackOptions } from './interfaces'; import { Scale, D3Selection, Domain } from '../../common/interfaces'; import { InterpolatedScaleHandler } from '../../scale-handlers'; import { OnMountEvent, OnRescaleEvent, OnUpdateEvent } from '../interfaces'; /** * A scale track that supports interpolation between two * scale domains. Requires container to supply a scale handler * in the onMount event. * * The dual scale has a master/slave mode, which can be toggled * to change its behaviour (switch between domains), using the * scale-handler's setMode-function. */ export default class DualScaleTrack extends SvgTrack<DualScaleTrackOptions> { xscale: Scale; viewMode: number; scaleHandler: InterpolatedScaleHandler; ticks: number[]; labelBounds: LabelBounds; constructor(id: string | number, options?: DualScaleTrackOptions); clearData(): void; /** * Allow triggering of update event without parameters */ refresh(): void; /** * Override of onMount from base class */ onMount(trackEvent: OnMountEvent): void; /** * Override of onRescale from base class */ onRescale(trackEvent: OnRescaleEvent): void; /** * Override of onUpdate from base class */ onUpdate(trackEvent: OnUpdateEvent): void; /** * Create scale tick intervals according to mode */ createTicks(): void; /** * Create scale ruler ticks base on current mode and render */ createRuler(g: D3Selection): void; /** * Create ticks for inverse mode */ createMeasures(g: D3Selection): void; /** * Plot the scale track */ plot(): void; /** * Getter for determining if the track is in master mode or not */ get isMaster(): boolean; /** * Getter for scale extent according to mode */ get extent(): Domain; }