From 26656c58c4083a26fef79b0e99e1141a3c907a50 Mon Sep 17 00:00:00 2001 From: "francois.grand" <francois.grand@irstea.fr> Date: Fri, 13 Apr 2018 10:25:39 +0200 Subject: [PATCH] =?UTF-8?q?=20#46=20classe=20ParamValues=20:=20setter=20si?= =?UTF-8?q?ngleValue=20modifi=C3=A9=20pour=20avoir=20la=20possibilit=C3=A9?= =?UTF-8?q?=20de=20mettre=20=C3=A0=20jour=20de=20mani=C3=A8re=20optionnell?= =?UTF-8?q?e=20le=20mode=20de=20g=C3=A9n=C3=A9ration=20des=20valeurs=20(n?= =?UTF-8?q?=C3=A9cessaire=20pour=20CalcSerie())?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dichotomie.ts | 2 +- src/nub.ts | 2 +- src/param/param-base.ts | 6 +++--- src/param/param-values.ts | 23 ++++++++++++----------- src/structure/parallel_structure.ts | 2 +- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/dichotomie.ts b/src/dichotomie.ts index 568fdc97..62876caf 100644 --- a/src/dichotomie.ts +++ b/src/dichotomie.ts @@ -147,7 +147,7 @@ export class Dichotomie extends Debug { } private set vX(vCalc: number) { - this._paramX.v = vCalc; + this._paramX.setValue(vCalc, false); } /** diff --git a/src/nub.ts b/src/nub.ts index 4decb596..67e8a9c3 100644 --- a/src/nub.ts +++ b/src/nub.ts @@ -55,7 +55,7 @@ export abstract class Nub extends ComputeNode { return this._result; } const sAnalyticalPrm: string = this.getFirstAnalyticalParameter().symbol; - computedVar.v = resSolve.vCalc; + computedVar.setValue(resSolve.vCalc, false); const res: Result = this.Equation(sAnalyticalPrm); res.vCalc = resSolve.vCalc; this._result = res; diff --git a/src/param/param-base.ts b/src/param/param-base.ts index b5ee3c26..ada74c3f 100644 --- a/src/param/param-base.ts +++ b/src/param/param-base.ts @@ -31,7 +31,7 @@ export class BaseParam extends JalhydObject { this._symbol = symb; this._paramValues = new ParamValues(); - this._paramValues.singleValue = val; + this._paramValues.setSingleValue(val); if (d instanceof ParamDomain) { this._domain = d; @@ -76,9 +76,9 @@ export class BaseParam extends JalhydObject { return this._paramValues.singleValue; } - public setValue(val: number) { + public setValue(val: number, updateValueMode = true) { this.checkValue(val); - this._paramValues.singleValue = val; + this._paramValues.setSingleValue(val, updateValueMode); // console.log("setting param " + this._symbol + " id=" + this._id + " to " + val); // A VIRER } diff --git a/src/param/param-values.ts b/src/param/param-values.ts index 62d132ba..c8302327 100644 --- a/src/param/param-values.ts +++ b/src/param/param-values.ts @@ -211,23 +211,23 @@ export class ParamValues { constructor() { this._singleValue = new DefinedNumber(); - this.valueMode = ParamValueMode.CALCUL; + this._valueMode = ParamValueMode.CALCUL; } public setValues(o: number | any, max?: number, step?: number) { if (typeof (o) === "number") { if (max == undefined) { - this.valueMode = ParamValueMode.SINGLE; + this._valueMode = ParamValueMode.SINGLE; this._singleValue.value = o as number; } else { - this.valueMode = ParamValueMode.MINMAX; + this._valueMode = ParamValueMode.MINMAX; this._minValue = o as number; this._maxValue = max; this._stepValue = step; } } else if (Array.isArray(o)) { - this.valueMode = ParamValueMode.LISTE; + this._valueMode = ParamValueMode.LISTE; this._valueList = o; } else @@ -286,9 +286,10 @@ export class ParamValues { return this._singleValue.uncheckedValue; } - public set singleValue(v: number) { + public setSingleValue(v: number, updateValueMode = true) { this._singleValue.value = v; - this.valueMode = ParamValueMode.SINGLE; + if (updateValueMode) + this._valueMode = ParamValueMode.SINGLE; } public get isDefined() { @@ -301,7 +302,7 @@ export class ParamValues { public set min(v: number) { this._minValue = v; - this.valueMode = ParamValueMode.MINMAX; + this._valueMode = ParamValueMode.MINMAX; } public get max() { @@ -310,7 +311,7 @@ export class ParamValues { public set max(v: number) { this._maxValue = v; - this.valueMode = ParamValueMode.MINMAX; + this._valueMode = ParamValueMode.MINMAX; } public get stepRefValue(): Pair { @@ -325,7 +326,7 @@ export class ParamValues { public set step(v: number) { this._stepValue = v; - this.valueMode = ParamValueMode.MINMAX; + this._valueMode = ParamValueMode.MINMAX; } public get valueList() { @@ -335,7 +336,7 @@ export class ParamValues { public set valueList(l: number[]) { this._valueList = l; - this.valueMode = ParamValueMode.LISTE; + this._valueMode = ParamValueMode.LISTE; } /** @@ -383,7 +384,7 @@ export class ParamValues { * copie des membres */ public copyMembers(n: ParamValues) { - n._valueMode = this.valueMode; + n._valueMode = this._valueMode; n._singleValue = new DefinedNumber(this._singleValue.value); n._minValue = this._minValue; n._maxValue = this._maxValue; diff --git a/src/structure/parallel_structure.ts b/src/structure/parallel_structure.ts index b9117695..b946c985 100644 --- a/src/structure/parallel_structure.ts +++ b/src/structure/parallel_structure.ts @@ -189,7 +189,7 @@ export class ParallelStructure extends Nub { */ private CalcStructPrm(sVC: IStructureVarCalc, rInit?: number, rPrec: number = 0.001): Result { // Le débit restant sur la structure en calcul est : - this.structures[sVC.index].prms.Q.v = this.prms.Q.v - this.CalcQ(sVC.index).vCalc; + this.structures[sVC.index].prms.Q.setValue(this.prms.Q.v - this.CalcQ(sVC.index).vCalc, false); // Calcul du paramètre de la structure en calcul return this.structures[sVC.index].Calc(sVC.prm, rInit, rPrec); -- GitLab