added boundValue to bluemath.js

This commit is contained in:
bluesaxman 2022-02-08 10:18:26 -07:00
parent aa34ceeae4
commit 1d9f4377b1

View File

@ -125,3 +125,28 @@ class bound {
return valueArray.map((value,index) => Math.min(Math.max(value,this.min[index]),this.max[index]));
}
}
class boundValue {
constructor (bounds=new bound(),value=0) {
this.bounds = bounds instanceof bound ? bounds : new bound();
this.value = !isNaN(value) ? value : 0;
}
setValue(value=0) {
value = !isNaN(value) ? value : 0;
return this.value = this.bounds.clamp([value])[0];
}
getValue() {
return this.bounds.clamp([this.value])[0];
}
getValuePercent() {
return this.bounds.normalize([this.value])[0];
}
modValue(mod=0) {
mod = !isNaN(mod) ? mod : 0;
return this.setValue(this.value+mod);
}
}