using Deltares.Geometry; using Deltares.Standard; using Deltares.Standard.Attributes; using Deltares.Standard.EventPublisher; using Deltares.Standard.Units; using Deltares.Standard.Validation; namespace Deltares.Stability { /// /// Earthquake data class /// public class Earthquake : GeometryObject, IVisibleEnabled { private double freeWaterFact = 0; private double horQuakeFact = 0; private double verQuakeFact = 0; public Earthquake() { Name = "Earthquake"; } /// /// Horizontal earthquake factor - Unit string is - [g] /// [Unit(UnitType.None)] [Minimum(0)] [Maximum(10)] [PropertyOrder(1)] [Label("Horizontal earthquake factor")] [Format("F3")] public double HorQuakeFact { get { return horQuakeFact; } set { if (value != horQuakeFact) { DataEventPublisher.BeforeChange(this, "HorQuakeFact"); horQuakeFact = value; DataEventPublisher.AfterChange(this, "HorQuakeFact"); } } } /// /// Vertical earthquake factor - Unit string is - [g] /// [Unit(UnitType.None)] [Minimum(-10)] [Maximum(10)] [PropertyOrder(2)] [Label("Vertical earthquake factor")] [Format("F3")] public double VerQuakeFact { get { return verQuakeFact; } set { if (value != verQuakeFact) { DataEventPublisher.BeforeChange(this, "VerQuakeFact"); verQuakeFact = value; DataEventPublisher.AfterChange(this, "VerQuakeFact"); } } } /// /// Free water factor /// [Unit(UnitType.None)] [Minimum(0)] [Maximum(1)] [PropertyOrder(3)] [Label("Free water factor")] [Format("F3")] public double FreeWaterFact { get { return freeWaterFact; } set { if (value != freeWaterFact) { DataEventPublisher.BeforeChange(this, "FreeWaterFact"); freeWaterFact = value; DataEventPublisher.AfterChange(this, "FreeWaterFact"); } } } public override string ToString() { return "Earthquake"; } public bool IsVisible(string property) { switch (property) { case "Name": return false; default: return true; } } public bool IsEnabled(string property) { return true; } } }