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 {
* type de noeud de calcul
*/
export enum ComputeNodeType {
CondDistri, RegimeUniforme, LechaptCalmon,
CondDistri, LechaptCalmon,
SectionParametree, // paramètres communs à toutes les sections paramétrées
SectionTrapeze, SectionRectangle, SectionCercle, SectionPuissance,
RegimeUniforme, // paramètres communs à toutes les sections paramétrées
RegimeUniformeTrapeze, RegimeUniformeRectangle, RegimeUniformeCercle, RegimeUniformePuissance,
Test
}
......
......@@ -6,6 +6,7 @@ import { ParamsSectionTrapez, cSnTrapez } from "./section/section_trapez";
import { ParamsSectionRectang, cSnRectang } from "./section/section_rectang";
import { ParamsSectionCirc, cSnCirc } from "./section/section_circulaire";
import { ParamsSectionPuiss, cSnPuiss } from "./section/section_puissance";
import { RegimeUniforme } from "./regime_uniforme";
export class ComputeNodeParameters {
private static _instance: ComputeNodeParameters;
......@@ -62,6 +63,49 @@ export class ComputeNodeParameters {
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:
throw "ComputeNodeParameters.getComputeNodeParameters() : noeud de calcul '" + ComputeNodeType[type] + "' non pris en charge";
}
......
......@@ -6,9 +6,12 @@ import { ErrorMessage, ErrorCode } from '../util/error';
export class ParamsSectionCirc extends ParamsSection {
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) {
super(rY, undefined, rKs, rQ, rIf, rPrec, rYB, rYCL);
this._D = new ParamDefinition(ComputeNodeType.SectionCercle, 'D', ParamDomainValue.POS, rD);
constructor(rD: number, rY: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
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";
export class ParamsSectionPuiss extends ParamsSection {
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) {
super(rY, rLargeurBerge, rKs, rQ, rIf, rPrec, rYB, rYCL);
this._k = new ParamDefinition(ComputeNodeType.SectionPuissance, 'k', new ParamDomain(ParamDomainValue.INTERVAL, 0, 1), rk);
constructor(rk: number, rY: number, rLargeurBerge: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
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 { ComputeNodeType } from "../param";
import { cLog } from "./log";
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,
rLargeurFond, // LargeurBerge=LargeurFond
rKs, rQ, rIf, rPrec, rYB, rYCL);
rKs, rQ, rIf, rPrec, rYB, rYCL, rDx, rLong, defaultNodeType);
// this.LargeurBerge.symbolAlias = 'LargeurFond';
}
}
......
......@@ -7,10 +7,13 @@ export class ParamsSectionTrapez extends ParamsSection {
private _LargeurFond: ParamDefinition; // Largeur au fond
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) {
super(rY, undefined, rKs, rQ, rIf, rPrec, rYB, rYCL);
this._LargeurFond = new ParamDefinition(ComputeNodeType.SectionTrapeze, 'LargeurFond', ParamDomainValue.POS_NULL, rLargeurFond);
this._Fruit = new ParamDefinition(ComputeNodeType.SectionTrapeze, 'Fruit', ParamDomainValue.POS_NULL, rFruit);
constructor(rLargeurFond: number, rFruit: number, rY: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
nodeType: ComputeNodeType = ComputeNodeType.SectionTrapeze,
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 {
private _Y: ParamDefinition; // Tirant d'eau
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) {
super(ComputeNodeType.SectionParametree, rKs, rQ, rIf, rPrec, rYB, rYCL, rDx, rLong);
this._Y = new ParamDefinition(ComputeNodeType.SectionParametree, 'Y', ParamDomainValue.POS_NULL, rY);
this._LargeurBerge = new ParamDefinition(ComputeNodeType.SectionParametree, 'LargeurBerge', ParamDomainValue.POS_NULL, rLargeurBerge);
constructor(rY: number, rLargeurBerge: number, rKs: number, rQ: number, rIf: number, rPrec: number, rYB: number,
rYCL: number = undefined, rDx: number = undefined, rLong: number = undefined,
nodeType: ComputeNodeType = ComputeNodeType.SectionParametree) {
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