// Copyright (C) Stichting Deltares 2018. 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. namespace Ringtoets.MacroStabilityInwards.KernelWrapper.Calculators.UpliftVan.Input { /// /// The Uplift Van slip plane constraints that are used to perform a calculation. /// public class UpliftVanSlipPlaneConstraints { /// /// Creates a new instance of . /// /// The slip plane minimum depth. /// The slip plane minimum length. /// Indicator whether zones should be created. /// The following values are set: /// /// is set to true; /// is set to ; /// is set to . /// /// public UpliftVanSlipPlaneConstraints(double slipPlaneMinimumDepth, double slipPlaneMinimumLength, bool createZones) : this(slipPlaneMinimumDepth, slipPlaneMinimumLength, double.NaN, double.NaN, createZones, true) {} /// /// Creates a new instance of . /// /// The slip plane minimum depth. /// The slip plane minimum length. /// The left zone boundary. /// The right zone boundary. /// will be set to true and /// will be set to false. public UpliftVanSlipPlaneConstraints(double slipPlaneMinimumDepth, double slipPlaneMinimumLength, double zoneBoundaryLeft, double zoneBoundaryRight) : this(slipPlaneMinimumDepth, slipPlaneMinimumLength, zoneBoundaryLeft, zoneBoundaryRight, true, false) {} private UpliftVanSlipPlaneConstraints(double slipPlaneMinimumDepth, double slipPlaneMinimumLength, double zoneBoundaryLeft, double zoneBoundaryRight, bool createZones, bool automaticForbiddenZones) { CreateZones = createZones; AutomaticForbiddenZones = automaticForbiddenZones; ZoneBoundaryLeft = zoneBoundaryLeft; ZoneBoundaryRight = zoneBoundaryRight; SlipPlaneMinimumDepth = slipPlaneMinimumDepth; SlipPlaneMinimumLength = slipPlaneMinimumLength; } /// /// Gets whether zones should be created. /// public bool CreateZones { get; } /// /// Gets whether forbidden zones are automatically determined or not. /// public bool AutomaticForbiddenZones { get; } /// /// Gets the left zone boundary. /// [m] /// public double ZoneBoundaryLeft { get; } /// /// Gets the right zone boundary. /// [m] /// public double ZoneBoundaryRight { get; } /// /// Gets the minimum depth of the slip plane. /// [m] /// public double SlipPlaneMinimumDepth { get; } /// /// Gets the minimum length of the slip plane. /// [m] /// public double SlipPlaneMinimumLength { get; } } }