An error occurred while loading the file. Please try again.
-
Mathias Chouet authored79f70324
import { ParamCalculability } from "../param/param-definition";
import { RectangularStructureParams } from "./rectangular_structure_params";
import { Structure } from "./structure";
/**
* Classe mère pour toutes les structures ayant une base rectangulaire (vannes, seuils)
*/
export abstract class RectangularStructure extends Structure {
constructor(prms: RectangularStructureParams, dbg: boolean = false) {
super(prms, dbg);
this.prms.CdGR.visible = false;
this.prms.CdWR.visible = false;
this.prms.CdWSL.visible = false;
}
/**
* paramètres castés au bon type
*/
get prms(): RectangularStructureParams {
return this._prms as RectangularStructureParams;
}
/**
* Calcul de l'aire d'écoulement sur le seuil ou dans l'orifice
*/
public calcA(): number {
return Math.min(Math.max(this.prms.h1.v, this.prms.h2.v), this.W) * this.prms.L.v;
}
/**
* paramétrage de la calculabilité des paramètres
*/
protected setParametersCalculability() {
super.setParametersCalculability();
this.prms.L.calculability = ParamCalculability.DICHO;
this.prms.CdGR.calculability = ParamCalculability.DICHO;
this.prms.CdWR.calculability = ParamCalculability.DICHO;
}
}