// Copyright (C) Stichting Deltares 2017. All rights reserved. // // This file is part of Ringtoets. // // Ringtoets is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using System; using Core.Common.Base; using Ringtoets.Common.Data.Calculation; namespace Ringtoets.MacroStabilityInwards.Data { /// /// Simple class containing the results of a macro stability inwards calculation. /// public class MacroStabilityInwardsOutput : Observable, ICalculationOutput { /// /// Creates a new instance of . /// /// The container of the properties for the /// . /// Thrown when the /// is null. public MacroStabilityInwardsOutput(ConstructionProperties properties) { if (properties == null) { throw new ArgumentNullException(nameof(properties)); } FactorOfStability = properties.FactorOfStability; ZValue = properties.ZValue; ForbiddenZonesXEntryMin = properties.ForbiddenZonesXEntryMin; ForbiddenZonesXEntryMax = properties.ForbiddenZonesXEntryMax; ForbiddenZonesAutomaticallyCalculated = properties.ForbiddenZonesAutomaticallyCalculated; GridAutomaticallyCalculated = properties.GridAutomaticallyCalculated; } #region properties /// /// Gets the factor of stability of the upliftVan calculation. /// public double FactorOfStability { get; } /// /// Gets the z value. /// public double ZValue { get; } /// /// Gets the forbidden zones x entry min. /// public double ForbiddenZonesXEntryMin { get; } /// /// Gets the forbidden zones x entry max. /// public double ForbiddenZonesXEntryMax { get; } /// /// Gets whether the forbidden zones are automatically calculated. /// public bool ForbiddenZonesAutomaticallyCalculated { get; } /// /// Gets whether the grid is automatically calculated. /// public bool GridAutomaticallyCalculated { get; } #endregion /// /// Container for properties for constructing a . /// s public class ConstructionProperties { /// /// Creates a new instance of . /// public ConstructionProperties() { FactorOfStability = double.NaN; ZValue = double.NaN; ForbiddenZonesXEntryMin = double.NaN; ForbiddenZonesXEntryMax = double.NaN; } /// /// Gets or sets the factor of stability of the upliftVan calculation. /// public double FactorOfStability { internal get; set; } /// /// Gets or sets the z value. /// public double ZValue { internal get; set; } /// /// Gets or sets the forbidden zones x entry min. /// public double ForbiddenZonesXEntryMin { internal get; set; } /// /// Gets or sets the forbidden zones x entry max. /// public double ForbiddenZonesXEntryMax { internal get; set; } /// /// Gets or sets whether the forbidden zones are automatically calculated. /// public bool ForbiddenZonesAutomaticallyCalculated { internal get; set; } /// /// Gets or sets whether the grid is automatically calculated. /// public bool GridAutomaticallyCalculated { internal get; set; } } } }