UNPKG

@patricksurry/g3

Version:

A flexible Javascript framework for building steam gauge instrument panels that display live external metrics from flight (or other) simulators like XPlane or MS FS2020

46 lines (41 loc) 1.7 kB
import * as d3 from 'd3'; import * as g3 from '../g3.js'; export function ammeter() { return g3.gauge() .metric('alternatorLoad').unit('proportion') .fake(g3.forceSeries(-0.1, 1.25)) .measure(d3.scaleLinear().domain([-0.1, 1.2]).range([-45, 45])) .append( g3.gaugeFace(), g3.gaugeLabel('ALT. LOAD').size(15).y(-30), g3.put().y(50).append( g3.axisLine(), g3.axisTicks().step(0.1).size(5).inset(-5), g3.axisTicks().step(0.5).start(0).size(10).inset(-10), g3.axisTicks([1.0]).size(10).inset(-10).class('g3-danger-stroke'), g3.axisLabels().start(0).step(0.5).inset(-20).size(15).format(v => v.toFixed(1)), g3.axisLabels({'-0.2': 'D', 1.3: 'C'}).size(15).inset(0), g3.indicatePointer().shape('rondel'), ) ); } export function voltmeter() { return g3.gauge() .metric('alternatorVolts').unit('V') .fake(g3.forceSeries(0, 30)) .measure(d3.scaleLinear().domain([0,30]).range([-45,45])) .append( g3.gaugeFace(), g3.gaugeLabel('VOLTS').size(15).y(-35), g3.gaugeLabel('DC').size(15).y(-20), g3.put().y(50).append( g3.axisLine(), g3.axisTicks().step(1).inset(-5).size(5), g3.axisTicks().step(5).inset(-8).size(8), g3.axisTicks().step(10).inset(-10).size(10), g3.axisLabels([10,20]).size(15).inset(-20), g3.axisLabels([0,30]).size(15).inset(10), g3.indicatePointer().shape('rondel'), ) ); }