using System.ComponentModel; using Deltares.Geotechnics; using Deltares.Standard; using Deltares.Standard.Attributes; using Deltares.Standard.Units; namespace Deltares.DeltaModel { /// /// Block revetment region for dike locations. /// public class BlockRevetmentRegion : IVisibleEnabled { private BlockRevetmentRegionWaterSystemType blockRevetmentRegionWaterSystemType = BlockRevetmentRegionWaterSystemType.Anders; private double stormDuration = 126000; private double waterDensity = 1000; /// /// The (Hydra-Ring) region which the block revetment region is mapped to. /// [ReadOnly(true)] [Category("Region")] [PropertyOrder(1, 1)] public Region Region { get; set; } /// /// The water system type of the block revetment region. /// [Category("Region")] [PropertyOrder(1, 2)] public BlockRevetmentRegionWaterSystemType BlockRevetmentRegionWaterSystemType { get { return blockRevetmentRegionWaterSystemType; } set { blockRevetmentRegionWaterSystemType = value; } } /// /// The water density of the block revetment region (Kg/m3). /// [Format("F2")] [Unit(UnitType.Density)] [Category("Region")] [PropertyOrder(1, 3)] public double WaterDensity { get { return waterDensity; } set { waterDensity = value; } } /// /// The water system dependent storm duration. /// [Unit(UnitType.Time)] [Format("F3")] [Category("Region")] [PropertyOrder(1, 4)] public double StormDuration { get { return stormDuration; } set { stormDuration = value; } } public bool IsVisible(string property) { return true; } public bool IsEnabled(string property) { if (property == "StormDuration") { return BlockRevetmentRegionWaterSystemType == BlockRevetmentRegionWaterSystemType.Anders; } return true; } } }