bugfix in rounding

This commit is contained in:
Chris 2023-09-10 14:35:21 +10:00
parent 07691e80c3
commit 3edc7a9c2d

View File

@ -2,7 +2,7 @@ import { api } from "./api.js"
function getNumberDefaults(inputData, defaultStep) { function getNumberDefaults(inputData, defaultStep) {
let defaultVal = inputData[1]["default"]; let defaultVal = inputData[1]["default"];
let { min, max, step } = inputData[1]; let { min, max, step, rounding, precision } = inputData[1];
if (defaultVal == undefined) defaultVal = 0; if (defaultVal == undefined) defaultVal = 0;
if (min == undefined) min = 0; if (min == undefined) min = 0;
@ -10,11 +10,11 @@ function getNumberDefaults(inputData, defaultStep) {
if (step == undefined) step = defaultStep; if (step == undefined) step = defaultStep;
// precision is the number of decimal places to show. // precision is the number of decimal places to show.
// by default, display the the smallest number of decimal places such that changes of size step are visible. // by default, display the the smallest number of decimal places such that changes of size step are visible.
let precision = Math.max(-Math.floor(Math.log10(step)),0) if (precision == undefined) precision = Math.max(-Math.floor(Math.log10(step)),0)
// by default, round the value to those decimal places shown. // by default, round the value to those decimal places shown.
let round = Math.round(1000000*Math.pow(0.1,precision))/1000000; if (rounding == undefined) rounding = Math.round(1000000*Math.pow(0.1,precision))/1000000;
return { val: defaultVal, config: { min, max, step: 10.0 * step, round, precision } }; return { val: defaultVal, config: { min, max, step: 10.0 * step, rounding, precision } };
} }
export function addValueControlWidget(node, targetWidget, defaultValue = "randomize", values) { export function addValueControlWidget(node, targetWidget, defaultValue = "randomize", values) {