// Copyright (C) Stichting Deltares 2016. 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 Ringtoets.Common.IO.Readers; namespace Ringtoets.GrassCoverErosionInwards.IO.Readers { /// /// Class that represents a grass cover erosion inwards calculation that is read via /// . /// public class ReadGrassCoverErosionInwardsCalculation : IReadConfigurationItem { /// /// Creates a new instance of . /// /// The container of the properties for the /// . /// Thrown when /// is null. public ReadGrassCoverErosionInwardsCalculation(ConstructionProperties constructionProperties) { if (constructionProperties == null) { throw new ArgumentNullException(nameof(constructionProperties)); } Name = constructionProperties.Name; HydraulicBoundaryLocation = constructionProperties.HydraulicBoundaryLocation; DikeProfile = constructionProperties.DikeProfile; Orientation = constructionProperties.Orientation; DikeHeight = constructionProperties.DikeHeight; DikeHeightCalculationType = constructionProperties.DikeHeightCalculationType; UseBreakWater = constructionProperties.UseBreakWater; BreakWaterType = constructionProperties.BreakWaterType; BreakWaterHeight = constructionProperties.BreakWaterHeight; UseForeshore = constructionProperties.UseForeshore; CriticalFlowRateMean = constructionProperties.CriticalFlowRateMean; CriticalFlowRateStandardDeviation = constructionProperties.CriticalFlowRateStandardDeviation; } /// /// Gets the name of the hydraulic boundary location of the read grass cover erosion /// inwards calculation. /// public string HydraulicBoundaryLocation { get; } /// /// Gets the name of the dike profile of the read grass cover erosion inwards calculation. /// public string DikeProfile { get; } /// /// Gets the orientation of the grass cover erosion inwards calculation. /// public double? Orientation { get; } /// /// Gets the dike height of the grass cover erosion inwards calculation. /// public double? DikeHeight { get; } /// /// Gets the value for how the dike height should be calculated for the grass cover /// erosion inwards calculation. /// public ReadDikeHeightCalculationType? DikeHeightCalculationType { get; } /// /// Gets the value indicating if the break water for the grass cover erosion inwards /// calculation should be used. /// public bool? UseBreakWater { get; } /// /// Gets the type of break water for the grass cover erosion inwards calculation. /// public ReadBreakWaterType? BreakWaterType { get; } /// /// Gets the height of the break water for the grass cover erosion inwards calculation. /// public double? BreakWaterHeight { get; } /// /// Gets the value indicating if the foreshore for the grass cover erosion inwards /// calculation should be used. /// public bool? UseForeshore { get; } /// /// Gets the mean of the critical flow distribution for the grass cover erosion /// inwards calculation. /// public double? CriticalFlowRateMean { get; } /// /// Gets the standard deviation of the critical flow distribution for the grass /// cover erosion inwards calculation. /// public double? CriticalFlowRateStandardDeviation { get; } public string Name { get; } /// /// Class holding the various construction parameters for . /// public class ConstructionProperties { /// /// Gets or sets the value for . /// public string Name { get; set; } /// /// Gets or sets the value for . /// public string HydraulicBoundaryLocation { get; set; } /// /// Gets or sets the value for . /// public string DikeProfile { get; set; } /// /// Gets or sets the value for . /// public double? Orientation { get; set; } /// /// Gets or sets the value for . /// public double? DikeHeight { get; set; } /// /// Gets or sets the value for . /// public ReadDikeHeightCalculationType? DikeHeightCalculationType { get; set; } /// /// Gets or sets the value for . /// public bool? UseBreakWater { get; set; } /// /// Gets or sets the value for . /// public ReadBreakWaterType? BreakWaterType { get; set; } /// /// Gets or sets the value for . /// public double? BreakWaterHeight { get; set; } /// /// Gets or sets the value for . /// public bool? UseForeshore { get; set; } /// /// Gets or sets the value for . /// public double? CriticalFlowRateMean { get; set; } /// /// Gets or sets the value for . /// public double? CriticalFlowRateStandardDeviation { get; set; } } } }