From d97943f360b8b97377fdd722e4f409ced119449e Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Fri, 11 Jan 2019 10:51:14 +0100 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20syst=C3=A8me=20de=20d=C3=A9?= =?UTF-8?q?bogage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit la fonction debug() accepte un nombre de paramètres variables on peut définir la valur de dbg lorsqu'on crée une calculette --- src/base.ts | 6 ++++-- src/compute-node.ts | 5 +++-- src/nub.ts | 2 +- src/nub_factory.ts | 31 ++++++++++++++++--------------- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/base.ts b/src/base.ts index 068ce95c..183cd2b7 100644 --- a/src/base.ts +++ b/src/base.ts @@ -23,9 +23,11 @@ export class Debug { * Affiche un message dans la console si le flag this.DBG est à true * @param s Message à afficher dans la console */ - public debug(s: any) { + public debug(...args: any[]) { // tslint:disable-next-line:no-console - if (this._DBG) { console.log(s); } + if (this._DBG) { + console.log(...args); + } } get DBG() { return this._DBG; } diff --git a/src/compute-node.ts b/src/compute-node.ts index 023de3bb..d7364f71 100644 --- a/src/compute-node.ts +++ b/src/compute-node.ts @@ -44,6 +44,7 @@ export abstract class ComputeNode extends JalhydObject implements IDebug { super(); this._debug = new Debug(dbg); this._prms = prms; + this.debug("PARAMS", prms); if (!this._prms.calculabilityDefined) { this._prms.resetParametersCalculability(); } @@ -78,8 +79,8 @@ export abstract class ComputeNode extends JalhydObject implements IDebug { } // interface IDebug - public debug(s: any) { - this._debug.debug(s); + public debug(...args: any[]) { + this._debug.debug(...args); } public get DBG(): boolean { diff --git a/src/nub.ts b/src/nub.ts index 99e2c66a..654ef1a6 100644 --- a/src/nub.ts +++ b/src/nub.ts @@ -37,7 +37,7 @@ export abstract class Nub extends ComputeNode implements IReferencedNub { public abstract Equation(sVarCalc: string): Result; /** - * Calcul d'une équation quelque soit l'inconnue à calculer + * Calcul d'une équation quelle que soit l'inconnue à calculer * @param sVarCalc nom de la variable à calculer * @param rInit valeur initiale de la variable à calculer dans le cas de la dichotomie * @param rPrec précision de calcul diff --git a/src/nub_factory.ts b/src/nub_factory.ts index e8a5458f..f2f80c47 100644 --- a/src/nub_factory.ts +++ b/src/nub_factory.ts @@ -52,8 +52,8 @@ export class NubFactory { /** * créé un Nub et l'ajoute à la session */ - public createSessionNub(p: Props | {}): SessionNub { - const res = this.newSessionNub(p); + public createSessionNub(p: Props | {}, dbg: boolean = false): SessionNub { + const res = this.newSessionNub(p, dbg); this._session.push(res); return res; } @@ -157,9 +157,9 @@ export class NubFactory { throw new Error(`NubFactory.deleteSessionNub() : le SessionNub (uid ${sn.uid}) à supprimer n'a pas été trouvé`); } - private newSessionNub(p: Props | {}): SessionNub { + private newSessionNub(p: Props | {}, dbg: boolean = false): SessionNub { const params = p instanceof Props ? p : new Props(p); - const nub = this.createNub(params); + const nub = this.createNub(params, dbg); return new SessionNub(nub, params); } @@ -242,8 +242,9 @@ export class NubFactory { * @param calcType type de Nub * @param nodeType sous type de Nub * @param params paramètres supplémentaires spécifiques + * @param dbg activer débogage */ - private createNub(params: Props): Nub { + private createNub(params: Props, dbg: boolean = false): Nub { const calcType: CalculatorType = params.getPropValue("calcType"); const nodeType: ComputeNodeType = params.getPropValue("nodeType"); @@ -257,7 +258,7 @@ export class NubFactory { 1e-6, // Viscosité dynamique Nu ); - return new ConduiteDistrib(prms); + return new ConduiteDistrib(prms, dbg); } case CalculatorType.LechaptCalmon: @@ -270,15 +271,15 @@ export class NubFactory { 2, // paramètre M du matériau 5.33// paramètre N du matériau ); - return new LechaptCalmon(prms); + return new LechaptCalmon(prms, dbg); } case CalculatorType.SectionParametree: - return new SectionParametree(this.createSection(nodeType)); + return new SectionParametree(this.createSection(nodeType), dbg); case CalculatorType.RegimeUniforme: const sect: acSection = this.createSection(nodeType); - const ru = new RegimeUniforme(sect); + const ru = new RegimeUniforme(sect, dbg); return ru; case CalculatorType.CourbeRemous: @@ -290,7 +291,7 @@ export class NubFactory { 5, // Dx=Pas d'espace MethodeResolution.EulerExplicite ); - return new CourbeRemous(prms); + return new CourbeRemous(prms, dbg); } case CalculatorType.PabDimensions: @@ -301,7 +302,7 @@ export class NubFactory { 0.5, // Tirant d'eau Y 2 // Volume V ); - return new PabDimension(prms); + return new PabDimension(prms, dbg); } case CalculatorType.PabPuissance: @@ -312,7 +313,7 @@ export class NubFactory { 0.5, // Volume V (m3) 588.6 // Puissance dissipée PV (W/m3) ); - return new PabPuissance(prms); + return new PabPuissance(prms, dbg); } case CalculatorType.Structure: @@ -326,7 +327,7 @@ export class NubFactory { 102, // Z1 101.5 // Z2 ); - return new ParallelStructure(prms); + return new ParallelStructure(prms, dbg); } case CalculatorType.Dever: @@ -336,7 +337,7 @@ export class NubFactory { 10, // BR : largeur du cours d'eau 99 // ZR : cote du lit du cours d'eau ); - return new Dever(prms); + return new Dever(prms, dbg); } case CalculatorType.Cloisons: @@ -349,7 +350,7 @@ export class NubFactory { 1, // Largeur des bassins (m) 1, // Profondeur moyenne (m) 0.5 // Hauteur de chute (m) - ) + ), dbg ); } -- GitLab