/* -------------------------- */ /* scalesPlugin 8*/ /* -------------------------- */ var scalesPlugin = function scalesPlugin() { var multiplier = 1000 var xsfdomain = { "m1": [-1000, 4, 1000], "m2": [-1000, 4, 1000], "n1": [-1000, 2, 1000], "n2": [-1000, 2, 1000], "n3": [-1000, 2, 1000], "a": [-1000, 1,1000], "b": [-1000, 1, 1000], "v0": [-1, 0, 1], "v1": [-1000, 0, 1000], "tx": [-10, 40, 90], "ty": [-10, 30, 60] , "rot": [0, 90, 360], "rad": [24, 128, 512], "segs": [24,360,720] , "pta": [0,20,512], "ptb": [0,20,512], "cf": [0, 500, 1000]} var xsfrange = { "m1": [-1000, 4, 1000], "m2": [-1000, 4, 1000], "n1": [-1000, 2, 1000], "n2": [-1000, 2, 1000], "n3": [-1000, 2, 1000], "a": [-1000, 1,1000], "b": [-1000, 1, 1000], "v0": [-1,0,1], "v1": [-1000,0,1000], "tx": [-10,40,90], "ty": [-10,30,60] , "rot": [0, 90, 360], "rad": [24, 128, 512], "segs": [24,360,720] , "pta": [0,80,1000], "ptb": [0,80,1000], "cf": [0,500, 1000] } var params = {} var scales = {} var format = d3.format(".4n") for (let k in xsfdomain) { //set scales scales[k] = d3.scaleLinear() .domain([xsfdomain[k][0], xsfdomain[k][1], xsfdomain[k][2]]) .range([xsfrange[k][0], xsfrange[k][1], xsfrange[k][2]]) } __mapper({'scales': scales}) // update scales var scalesPlugin = function scalesPlugin() {} scalesPlugin.render = function(params) { for (var p in params) { // m in { ... } let k = p, v = params[p] // k:m, v:12 if ((k !== null) && (scales[k] !== undefined)) { let control = d3.select("#" + k) control.select("input").property("value", scales[k](v)); control.select("span").text(format(v)); } } } scalesPlugin.scales = function() { return scales } scalesPlugin.xsfdomain = function() { return xsfdomain } scalesPlugin.xsfrange = function() { return xsfrange } return scalesPlugin } ;