import { ParamDefinition, ParamFamily } from "../param/param-definition"; import { ParamDomainValue } from "../param/param-domain"; import { ParallelStructureParams } from "../structure/parallel_structure_params"; /** * Common parameters of hydraulic structure equations */ export class CloisonsParams extends ParallelStructureParams { /** Largeur des bassins (m) */ public BB: ParamDefinition; /** Longueur des bassins (m) */ public LB: ParamDefinition; /** Profondeur moyenne (m) */ public PB: ParamDefinition; /** Hauteur de chute (m) */ public DH: ParamDefinition; /** Cote radier mi-bassin (m) */ public ZRMB: ParamDefinition; /** Cote radier amont paroi (m) */ public ZRAM: ParamDefinition; /** Débit d'attrait (m3/s) */ public QA: ParamDefinition; /** * Paramètres communs à toutes les équations de structure * @param rQ Débit total (m3/s) * @param rZ1 Cote de l'eau amont (m) * @param rLB Longueur des bassins (m) * @param rBB Largeur des bassins (m) * @param rPB Profondeur moyenne (m) * @param rDH Hauteur de chute (m) */ constructor(rQ: number, rZ1: number, rLB: number, rBB: number, rPB: number, rDH: number) { super(rQ, rZ1, rZ1 - rDH); this.LB = new ParamDefinition(this, "LB", ParamDomainValue.POS, rLB, ParamFamily.LENGTHS); this.addParamDefinition(this.LB); this.BB = new ParamDefinition(this, "BB", ParamDomainValue.POS, rBB, ParamFamily.WIDTHS); this.addParamDefinition(this.BB); this.PB = new ParamDefinition(this, "PB", ParamDomainValue.POS, rPB, ParamFamily.HEIGHTS); this.addParamDefinition(this.PB); this.DH = new ParamDefinition(this, "DH", ParamDomainValue.POS, rDH, ParamFamily.BASINFALLS); this.addParamDefinition(this.DH); this.ZRMB = new ParamDefinition(this, "ZRMB", ParamDomainValue.ANY, 0, ParamFamily.ELEVATIONS); this.addParamDefinition(this.ZRMB); this.ZRAM = new ParamDefinition(this, "ZRAM", ParamDomainValue.ANY, 0, ParamFamily.ELEVATIONS); this.addParamDefinition(this.ZRAM); this.QA = new ParamDefinition(this, "QA", ParamDomainValue.ANY, 0); this.addParamDefinition(this.QA); this.Z2.visible = false; this.ZRAM.visible = false; this.ZRMB.visible = false; this.QA.visible = false; } }