jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
55 lines • 2.13 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PabChute = void 0;
const internal_modules_1 = require("../internal_modules");
const internal_modules_2 = require("../internal_modules");
const internal_modules_3 = require("../internal_modules");
const internal_modules_4 = require("../internal_modules");
const internal_modules_5 = require("../internal_modules");
class PabChute extends internal_modules_2.Nub {
constructor(prms, dbg = false) {
super(prms, dbg);
this.setCalculatorType(internal_modules_1.CalculatorType.PabChute);
this._defaultCalculatedParam = prms.DH;
this.resetDefaultCalculatedParam();
}
/**
* paramètres castés au bon type
*/
get prms() {
return this._prms;
}
Equation(sVarCalc) {
let v;
if (!["Z1", "Z2"].includes(sVarCalc) && this.prms.Z1.v <= this.prms.Z2.v) {
const m = new internal_modules_4.Message(internal_modules_4.MessageCode.ERROR_ELEVATION_ZI_LOWER_THAN_Z2);
m.extraVar.Z1 = this.prms.Z1.v;
m.extraVar.Z2 = this.prms.Z2.v;
return new internal_modules_5.Result(m);
}
switch (sVarCalc) {
case "Z1":
v = this.prms.Z2.v + this.prms.DH.v;
break;
case "Z2":
v = this.prms.Z1.v - this.prms.DH.v;
break;
case "DH":
v = this.prms.Z1.v - this.prms.Z2.v;
break;
default:
throw new Error("PabChute.Equation() : invalid variable name " + sVarCalc);
}
return new internal_modules_5.Result(v, this);
}
/**
* paramétrage de la calculabilité des paramètres
*/
setParametersCalculability() {
this.prms.Z1.calculability = internal_modules_3.ParamCalculability.EQUATION;
this.prms.Z2.calculability = internal_modules_3.ParamCalculability.EQUATION;
this.prms.DH.calculability = internal_modules_3.ParamCalculability.EQUATION;
}
}
exports.PabChute = PabChute;
//# sourceMappingURL=pab_chute.js.map