Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Data/WaveConditionsInput.cs
===================================================================
diff -u -r14c7697f5bec8544f673df9a0205abffa0c145b9 -rc0cbfb8da75e870ea078c4bbbf48a2f04e8f7d0a
--- Ringtoets/Revetment/src/Ringtoets.Revetment.Data/WaveConditionsInput.cs (.../WaveConditionsInput.cs) (revision 14c7697f5bec8544f673df9a0205abffa0c145b9)
+++ Ringtoets/Revetment/src/Ringtoets.Revetment.Data/WaveConditionsInput.cs (.../WaveConditionsInput.cs) (revision c0cbfb8da75e870ea078c4bbbf48a2f04e8f7d0a)
@@ -61,6 +61,11 @@
}
///
+ /// Gets or sets the hydraulic boundary location from which to use the assessment level.
+ ///
+ public HydraulicBoundaryLocation HydraulicBoundaryLocation { get; set; }
+
+ ///
/// Gets or sets the dike profile.
///
public DikeProfile DikeProfile
@@ -77,11 +82,6 @@
}
///
- /// Gets or sets the hydraulic boundary location from which to use the assessment level.
- ///
- public HydraulicBoundaryLocation HydraulicBoundaryLocation { get; set; }
-
- ///
/// Gets or sets if needs to be taken into account.
///
public bool UseBreakWater { get; set; }
@@ -261,17 +261,27 @@
private IEnumerable DetermineWaterLevels()
{
var waterLevels = new List();
- var upperBoundary = new RoundedDouble(2, Math.Min(DetermineUpperWaterLevel(), Math.Min(UpperBoundaryRevetment, UpperBoundaryWaterLevels)));
- var lowerBoundary = new RoundedDouble(2, Math.Max(LowerBoundaryRevetment, LowerBoundaryWaterLevels));
- if (double.IsNaN(upperBoundary) ||
- double.IsNaN(lowerBoundary) ||
- Math.Abs(lowerBoundary - upperBoundary) < 1e-6 ||
- Math.Abs(StepSize) < 1e-6)
+ var upperBoundary = new RoundedDouble(2, Math.Min(DetermineUpperWaterLevel(),
+ Math.Min(UpperBoundaryRevetment,
+ !double.IsNaN(UpperBoundaryWaterLevels)
+ ? UpperBoundaryWaterLevels
+ : double.MaxValue)));
+
+ var lowerBoundary = new RoundedDouble(2, Math.Max(LowerBoundaryRevetment,
+ !double.IsNaN(LowerBoundaryWaterLevels)
+ ? LowerBoundaryWaterLevels
+ : double.MinValue));
+
+ if (double.IsNaN(upperBoundary)
+ || double.IsNaN(lowerBoundary)
+ || double.IsNaN(stepSize))
{
return waterLevels;
}
+ waterLevels.Add(lowerBoundary);
+
RoundedDouble currentWaterLevel = new RoundedDouble(2, Math.Floor(lowerBoundary/stepSize)*stepSize + stepSize);
while (currentWaterLevel < upperBoundary)
@@ -280,12 +290,6 @@
currentWaterLevel = (currentWaterLevel + stepSize).ToPrecision(currentWaterLevel.NumberOfDecimalPlaces);
}
- if (!waterLevels.Any())
- {
- return waterLevels;
- }
-
- waterLevels.Insert(0, lowerBoundary);
waterLevels.Add(upperBoundary);
return waterLevels;