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