// 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.Data; using Core.Common.Base.Geometry; namespace Ringtoets.DuneErosion.Forms.Views { /// /// Class that holds all the information of a dune location and calculations. /// public class AggregatedDuneLocation { /// /// Creates a new instance of . /// /// The id of the dune location. /// The name of the dune location. /// The location of the dune location /// The coastal area id of the dune location. /// The offset of the dune location. /// The d50 of the dune location. /// The result of the water level calculation /// for the mechanism specific factorized signaling norm. /// The result of the water level calculation /// for the mechanism specific signaling norm. /// The result of the water level calculation /// for the mechanism specific lower limit norm. /// The result of the water level calculation /// for the lower limit norm. /// The result of the water level calculation /// for the factorized lower limit norm. /// The result of the wave height calculation /// for the mechanism specific factorized signaling norm. /// The result of the wave height calculation /// for the mechanism specific signaling norm. /// The result of the wave height calculation /// for the mechanism specific lower limit norm. /// The result of the wave height calculation /// for the lower limit norm. /// The result of the wave height calculation /// for the factorized lower limit norm. /// The result of the wave period calculation /// for the mechanism specific factorized signaling norm. /// The result of the wave period calculation /// for the mechanism specific signaling norm. /// The result of the wave period calculation /// for the mechanism specific lower limit norm. /// The result of the wave period calculation /// for the lower limit norm. /// The result of the wave period calculation /// for the factorized lower limit norm. /// Thrown when or /// is null. public AggregatedDuneLocation(long id, string name, Point2D location, int coastalAreaId, RoundedDouble offset, RoundedDouble d50, RoundedDouble waterLevelForMechanismSpecificFactorizedSignalingNorm, RoundedDouble waterLevelForMechanismSpecificSignalingNorm, RoundedDouble waterLevelForMechanismSpecificLowerLimitNorm, RoundedDouble waterLevelForLowerLimitNorm, RoundedDouble waterLevelForFactorizedLowerLimitNorm, RoundedDouble waveHeightForMechanismSpecificFactorizedSignalingNorm, RoundedDouble waveHeightForMechanismSpecificSignalingNorm, RoundedDouble waveHeightForMechanismSpecificLowerLimitNorm, RoundedDouble waveHeightForLowerLimitNorm, RoundedDouble waveHeightForFactorizedLowerLimitNorm, RoundedDouble wavePeriodForMechanismSpecificFactorizedSignalingNorm, RoundedDouble wavePeriodForMechanismSpecificSignalingNorm, RoundedDouble wavePeriodForMechanismSpecificLowerLimitNorm, RoundedDouble wavePeriodForLowerLimitNorm, RoundedDouble wavePeriodForFactorizedLowerLimitNorm) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (location == null) { throw new ArgumentNullException(nameof(location)); } Id = id; Name = name; Location = location; CoastalAreaId = coastalAreaId; Offset = offset; D50 = d50; WaterLevelForMechanismSpecificFactorizedSignalingNorm = waterLevelForMechanismSpecificFactorizedSignalingNorm; WaterLevelForMechanismSpecificSignalingNorm = waterLevelForMechanismSpecificSignalingNorm; WaterLevelForMechanismSpecificLowerLimitNorm = waterLevelForMechanismSpecificLowerLimitNorm; WaterLevelForLowerLimitNorm = waterLevelForLowerLimitNorm; WaterLevelForFactorizedLowerLimitNorm = waterLevelForFactorizedLowerLimitNorm; WaveHeightForMechanismSpecificFactorizedSignalingNorm = waveHeightForMechanismSpecificFactorizedSignalingNorm; WaveHeightForMechanismSpecificSignalingNorm = waveHeightForMechanismSpecificSignalingNorm; WaveHeightForMechanismSpecificLowerLimitNorm = waveHeightForMechanismSpecificLowerLimitNorm; WaveHeightForLowerLimitNorm = waveHeightForLowerLimitNorm; WaveHeightForFactorizedLowerLimitNorm = waveHeightForFactorizedLowerLimitNorm; WavePeriodForMechanismSpecificFactorizedSignalingNorm = wavePeriodForMechanismSpecificFactorizedSignalingNorm; WavePeriodForMechanismSpecificSignalingNorm = wavePeriodForMechanismSpecificSignalingNorm; WavePeriodForMechanismSpecificLowerLimitNorm = wavePeriodForMechanismSpecificLowerLimitNorm; WavePeriodForLowerLimitNorm = wavePeriodForLowerLimitNorm; WavePeriodForFactorizedLowerLimitNorm = wavePeriodForFactorizedLowerLimitNorm; } /// /// Gets the id of the dune location. /// public long Id { get; } /// /// Gets the name of the dune location. /// public string Name { get; } /// /// Gets the location of the dune location. /// public Point2D Location { get; } /// /// Gets the coastal area id of the dune location. /// public int CoastalAreaId { get; } /// /// Gets the offset of the dune location. /// public RoundedDouble Offset { get; } /// /// Gets the d50 of the dune location. /// public RoundedDouble D50 { get; } /// /// Gets the result of the water level for the mechanism specific factorized signaling norm. /// public RoundedDouble WaterLevelForMechanismSpecificFactorizedSignalingNorm { get; } /// /// Gets the result of the water level for the mechanism specific signaling norm. /// public RoundedDouble WaterLevelForMechanismSpecificSignalingNorm { get; } /// /// Gets the result of the water level for the mechanism specific lower limit norm. /// public RoundedDouble WaterLevelForMechanismSpecificLowerLimitNorm { get; } /// /// Gets the result of the water level for the lower limit norm. /// public RoundedDouble WaterLevelForLowerLimitNorm { get; } /// /// Gets the result of the water level for the factorized lower limit norm. /// public RoundedDouble WaterLevelForFactorizedLowerLimitNorm { get; } /// /// Gets the result of the wave height for the mechanism specific factorized signaling norm. /// public RoundedDouble WaveHeightForMechanismSpecificFactorizedSignalingNorm { get; } /// /// Gets the result of the wave height for the mechanism specific signaling norm. /// public RoundedDouble WaveHeightForMechanismSpecificSignalingNorm { get; } /// /// Gets the result of the wave height for the mechanism specific lower limit norm. /// public RoundedDouble WaveHeightForMechanismSpecificLowerLimitNorm { get; } /// /// Gets the result of the wave height for the lower limit norm. /// public RoundedDouble WaveHeightForLowerLimitNorm { get; } /// /// Gets the result of the wave height for the factorized lower limit norm. /// public RoundedDouble WaveHeightForFactorizedLowerLimitNorm { get; } /// /// Gets the result of the wave period for the mechanism specific factorized signaling norm. /// public RoundedDouble WavePeriodForMechanismSpecificFactorizedSignalingNorm { get; } /// /// Gets the result of the wave period for the mechanism specific signaling norm. /// public RoundedDouble WavePeriodForMechanismSpecificSignalingNorm { get; } /// /// Gets the result of the wave period for the mechanism specific lower limit norm. /// public RoundedDouble WavePeriodForMechanismSpecificLowerLimitNorm { get; } /// /// Gets the result of the wave period for the lower limit norm. /// public RoundedDouble WavePeriodForLowerLimitNorm { get; } /// /// Gets the result of the wave period for the factorized lower limit norm. /// public RoundedDouble WavePeriodForFactorizedLowerLimitNorm { get; } } }