Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PipingCalculationConfigurationHelper.cs
===================================================================
diff -u -r7ae9100ff4e61169edcefaeb01b72d492431742f -r022f34b88de641b0b3b263b8eef61f57980f7891
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PipingCalculationConfigurationHelper.cs (.../PipingCalculationConfigurationHelper.cs) (revision 7ae9100ff4e61169edcefaeb01b72d492431742f)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PipingCalculationConfigurationHelper.cs (.../PipingCalculationConfigurationHelper.cs) (revision 022f34b88de641b0b3b263b8eef61f57980f7891)
@@ -26,7 +26,9 @@
using Core.Common.Base.Geometry;
using log4net;
using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.Hydraulics;
using Ringtoets.Common.Forms.Helpers;
+using Ringtoets.Common.Forms.UITypeEditors;
using Ringtoets.Piping.Data;
using Ringtoets.Piping.Forms.Properties;
using Ringtoets.Piping.Primitives;
@@ -111,6 +113,24 @@
.ToList();
}
+ ///
+ /// Gets the sorted selectable hydraulic boundary locations from .
+ ///
+ /// The available hydraulic boudnary locations.
+ /// The reference point to which the distance needs to be
+ /// calculated in .
+ /// An ordered list of selectable hydraulic boundary locations.
+ public static IEnumerable GetSelectableHydraulicBoundaryLocations(
+ IEnumerable hydraulicBoundaryLocations, RingtoetsPipingSurfaceLine surfaceLine)
+ {
+ Point2D referencePoint = surfaceLine != null
+ ? surfaceLine.ReferenceLineIntersectionWorldPoint
+ : null;
+ return hydraulicBoundaryLocations.Select(hbl => new SelectableHydraulicBoundaryLocation(hbl, referencePoint))
+ .OrderBy(hbl => hbl.Distance)
+ .ThenBy(hbl => hbl.HydraulicBoundaryLocation.Id);
+ }
+
private static CalculationGroup CreateCalculationGroup(RingtoetsPipingSurfaceLine surfaceLine, IEnumerable soilModels, GeneralPipingInput generalInput)
{
var calculationGroup = new CalculationGroup(surfaceLine.Name, true);