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;
}
}
}