Commit 4851e96c authored by Grand Francois's avatar Grand Francois
Browse files

- ajout à l'enum ComputeNodeType des valeurs des différents types de section...

- ajout à l'enum ComputeNodeType des valeurs des différents types de section pour le régime uniforme
- utilisation de ces valeurs dans les classes de paramètres
Showing with 77 additions and 17 deletions
+77 -17
...@@ -364,9 +364,11 @@ export interface IParamsEquation { ...@@ -364,9 +364,11 @@ export interface IParamsEquation {
* type de noeud de calcul * type de noeud de calcul
*/ */
export enum ComputeNodeType { export enum ComputeNodeType {
CondDistri, RegimeUniforme, LechaptCalmon, CondDistri, LechaptCalmon,
SectionParametree, // paramètres communs à toutes les sections paramétrées SectionParametree, // paramètres communs à toutes les sections paramétrées
SectionTrapeze, SectionRectangle, SectionCercle, SectionPuissance, SectionTrapeze, SectionRectangle, SectionCercle, SectionPuissance,
RegimeUniforme, // paramètres communs à toutes les sections paramétrées
RegimeUniformeTrapeze, RegimeUniformeRectangle, RegimeUniformeCercle, RegimeUniformePuissance,
Test Test
} }
......
...@@ -6,6 +6,7 @@ import { ParamsSectionTrapez, cSnTrapez } from "./section/section_trapez"; ...@@ -6,6 +6,7 @@ import { ParamsSectionTrapez, cSnTrapez } from "./section/section_trapez";
import { ParamsSectionRectang, cSnRectang } from "./section/section_rectang"; import { ParamsSectionRectang, cSnRectang } from "./section/section_rectang";
import { ParamsSectionCirc, cSnCirc } from "./section/section_circulaire"; import { ParamsSectionCirc, cSnCirc } from "./section/section_circulaire";
import { ParamsSectionPuiss, cSnPuiss } from "./section/section_puissance"; import { ParamsSectionPuiss, cSnPuiss } from "./section/section_puissance";
import { RegimeUniforme } from "./regime_uniforme";
export class ComputeNodeParameters { export class ComputeNodeParameters {
private static _instance: ComputeNodeParameters; private static _instance: ComputeNodeParameters;
...@@ -62,6 +63,49 @@ export class ComputeNodeParameters { ...@@ -62,6 +63,49 @@ export class ComputeNodeParameters {
return cn; return cn;
} }
case ComputeNodeType.RegimeUniformeTrapeze:
{
let cn = new ParamsSectionTrapez(undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
ComputeNodeType.RegimeUniformeTrapeze,
ComputeNodeType.RegimeUniforme);
let n = new cSnTrapez(undefined, cn);
let ru = new RegimeUniforme(n); // pour initialiser la calculabilité des paramètres
return cn;
}
case ComputeNodeType.RegimeUniformeRectangle:
{
let cn = new ParamsSectionRectang(undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined,
ComputeNodeType.RegimeUniforme);
let n = new cSnRectang(undefined, cn);
let ru = new RegimeUniforme(n); // pour initialiser la calculabilité des paramètres
return cn;
}
case ComputeNodeType.RegimeUniformeCercle:
{
let cn = new ParamsSectionCirc(undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined,
ComputeNodeType.RegimeUniformeCercle,
ComputeNodeType.RegimeUniforme);
let n = new cSnCirc(undefined, cn);
let ru = new RegimeUniforme(n); // pour initialiser la calculabilité des paramètres
return cn;
}
case ComputeNodeType.RegimeUniformePuissance:
{
let cn = new ParamsSectionPuiss(undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
ComputeNodeType.RegimeUniformePuissance,
ComputeNodeType.RegimeUniforme);
let n = new cSnPuiss(undefined, cn);
let ru = new RegimeUniforme(n); // pour initialiser la calculabilité des paramètres
return cn;
}
default: default:
throw "ComputeNodeParameters.getComputeNodeParameters() : noeud de calcul '" + ComputeNodeType[type] + "' non pris en charge"; throw "ComputeNodeParameters.getComputeNodeParameters() : noeud de calcul '" + ComputeNodeType[type] + "' non pris en charge";
} }
......
...@@ -6,9 +6,12 @@ import { ErrorMessage, ErrorCode } from '../util/error'; ...@@ -6,9 +6,12 @@ import { ErrorMessage, ErrorCode } from '../util/error';
export class ParamsSectionCirc extends ParamsSection { export class ParamsSectionCirc extends ParamsSection {
private _D: ParamDefinition; // Diamètre du cercle private _D: ParamDefinition; // Diamètre du cercle
constructor(rD: number, rY: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number, rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined) { constructor(rD: number, rY: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
super(rY, undefined, rKs, rQ, rIf, rPrec, rYB, rYCL); rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
this._D = new ParamDefinition(ComputeNodeType.SectionCercle, 'D', ParamDomainValue.POS, rD); nodeType: ComputeNodeType = ComputeNodeType.SectionCercle,
defaultNodeType: ComputeNodeType = ComputeNodeType.SectionParametree) {
super(rY, undefined, rKs, rQ, rIf, rPrec, rYB, rYCL, rDx, rLong, defaultNodeType);
this._D = new ParamDefinition(nodeType, 'D', ParamDomainValue.POS, rD);
} }
/** /**
......
...@@ -8,9 +8,12 @@ import { cLog } from "./log"; ...@@ -8,9 +8,12 @@ import { cLog } from "./log";
export class ParamsSectionPuiss extends ParamsSection { export class ParamsSectionPuiss extends ParamsSection {
private _k: ParamDefinition; // Coefficient de forme compris entre 0 et 1 private _k: ParamDefinition; // Coefficient de forme compris entre 0 et 1
constructor(rk: number, rY: number, rLargeurBerge: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number, rYCL: number = 0, rDx: number = 0, rLong: number = 0) { constructor(rk: number, rY: number, rLargeurBerge: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
super(rY, rLargeurBerge, rKs, rQ, rIf, rPrec, rYB, rYCL); rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
this._k = new ParamDefinition(ComputeNodeType.SectionPuissance, 'k', new ParamDomain(ParamDomainValue.INTERVAL, 0, 1), rk); nodeType: ComputeNodeType = ComputeNodeType.SectionPuissance,
defaultNodeType: ComputeNodeType = ComputeNodeType.SectionParametree) {
super(rY, rLargeurBerge, rKs, rQ, rIf, rPrec, rYB, rYCL, rDx, rLong, defaultNodeType);
this._k = new ParamDefinition(nodeType, 'k', new ParamDomain(ParamDomainValue.INTERVAL, 0, 1), rk);
} }
/** /**
......
import { acSection, ParamsSection } from "./section_type"; import { acSection, ParamsSection } from "./section_type";
import { ComputeNodeType } from "../param";
import { cLog } from "./log"; import { cLog } from "./log";
export class ParamsSectionRectang extends ParamsSection { export class ParamsSectionRectang extends ParamsSection {
constructor(rY: number, rLargeurFond: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number, rYCL: number = 0, rDx: number = 0, rLong: number = 0) { constructor(rY: number, rLargeurFond: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
defaultNodeType: ComputeNodeType = ComputeNodeType.SectionParametree) {
super(rY, super(rY,
rLargeurFond, // LargeurBerge=LargeurFond rLargeurFond, // LargeurBerge=LargeurFond
rKs, rQ, rIf, rPrec, rYB, rYCL); rKs, rQ, rIf, rPrec, rYB, rYCL, rDx, rLong, defaultNodeType);
// this.LargeurBerge.symbolAlias = 'LargeurFond'; // this.LargeurBerge.symbolAlias = 'LargeurFond';
} }
} }
......
...@@ -7,10 +7,13 @@ export class ParamsSectionTrapez extends ParamsSection { ...@@ -7,10 +7,13 @@ export class ParamsSectionTrapez extends ParamsSection {
private _LargeurFond: ParamDefinition; // Largeur au fond private _LargeurFond: ParamDefinition; // Largeur au fond
private _Fruit: ParamDefinition; // Fruit des berges private _Fruit: ParamDefinition; // Fruit des berges
constructor(rLargeurFond: number, rFruit: number, rY: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number, rYCL: number = 0, rDx: number = 0, rLong: number = 0) { constructor(rLargeurFond: number, rFruit: number, rY: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
super(rY, undefined, rKs, rQ, rIf, rPrec, rYB, rYCL); rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
this._LargeurFond = new ParamDefinition(ComputeNodeType.SectionTrapeze, 'LargeurFond', ParamDomainValue.POS_NULL, rLargeurFond); nodeType: ComputeNodeType = ComputeNodeType.SectionTrapeze,
this._Fruit = new ParamDefinition(ComputeNodeType.SectionTrapeze, 'Fruit', ParamDomainValue.POS_NULL, rFruit); defaultNodeType: ComputeNodeType = ComputeNodeType.SectionParametree) {
super(rY, undefined, rKs, rQ, rIf, rPrec, rYB, rYCL, rDx, rLong, defaultNodeType);
this._LargeurFond = new ParamDefinition(nodeType, 'LargeurFond', ParamDomainValue.POS_NULL, rLargeurFond);
this._Fruit = new ParamDefinition(nodeType, 'Fruit', ParamDomainValue.POS_NULL, rFruit);
} }
/** /**
......
...@@ -103,10 +103,12 @@ export abstract class ParamsSection extends cParamsCanal { ...@@ -103,10 +103,12 @@ export abstract class ParamsSection extends cParamsCanal {
private _Y: ParamDefinition; // Tirant d'eau private _Y: ParamDefinition; // Tirant d'eau
private _LargeurBerge: ParamDefinition; // largeur au débordement private _LargeurBerge: ParamDefinition; // largeur au débordement
constructor(rY: number, rLargeurBerge: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number, rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined) { constructor(rY: number, rLargeurBerge: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
super(ComputeNodeType.SectionParametree, rKs, rQ, rIf, rPrec, rYB, rYCL, rDx, rLong); rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
this._Y = new ParamDefinition(ComputeNodeType.SectionParametree, 'Y', ParamDomainValue.POS_NULL, rY); nodeType: ComputeNodeType = ComputeNodeType.SectionParametree) {
this._LargeurBerge = new ParamDefinition(ComputeNodeType.SectionParametree, 'LargeurBerge', ParamDomainValue.POS_NULL, rLargeurBerge); super(nodeType, rKs, rQ, rIf, rPrec, rYB, rYCL, rDx, rLong);
this._Y = new ParamDefinition(nodeType, 'Y', ParamDomainValue.POS_NULL, rY);
this._LargeurBerge = new ParamDefinition(nodeType, 'LargeurBerge', ParamDomainValue.POS_NULL, rLargeurBerge);
} }
/** /**
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment