Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismView.cs =================================================================== diff -u -rb909f6664a8d22063cb0516befb25f8935c12478 -ra927058f93a70b14989884a77f3b46a62e12532d --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismView.cs (.../PipingFailureMechanismView.cs) (revision b909f6664a8d22063cb0516befb25f8935c12478) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismView.cs (.../PipingFailureMechanismView.cs) (revision a927058f93a70b14989884a77f3b46a62e12532d) @@ -22,17 +22,22 @@ using System.Collections.Generic; using System.Linq; using System.Windows.Forms; + using Core.Common.Base; using Core.Common.Base.Geometry; using Core.Components.DotSpatial.Forms; using Core.Components.Gis; using Core.Components.Gis.Data; using Core.Plugins.DotSpatial.Forms; + using Ringtoets.Piping.Forms.PresentationObjects; namespace Ringtoets.Piping.Forms.Views { - public partial class PipingFailureMechanismView : UserControl, IMapView, IObserver + /// + /// This class is a view showing map data for a piping failure mechanism. + /// + public partial class PipingFailureMechanismView : UserControl, IMapView, IObserver { private readonly BaseMap map; private PipingFailureMechanismContext data; @@ -66,6 +71,22 @@ } } + public IMap Map + { + get + { + return map; + } + } + + public void UpdateObserver() + { + if (data != null) + { + SetDataToMap(); + } + } + private void AttachToData() { if (data != null) @@ -92,14 +113,6 @@ } } - public IMap Map - { - get - { - return map; - } - } - private void SetDataToMap() { var mapDataList = new List(); @@ -116,6 +129,11 @@ mapDataList.Add(GetHydraulicBoundaryLocationsMapData()); } + if (HasSections()) + { + mapDataList.Add(GetSectionsMapData()); + } + if (HasSurfaceLines()) { mapDataList.Add(GetSurfaceLinesMapData()); @@ -143,6 +161,12 @@ return new MapMultiLineData(surfaceLines); } + private MapData GetSectionsMapData() + { + IEnumerable> sectionLines = data.WrappedData.Sections.Select(sl => sl.Points); + return new MapMultiLineData(sectionLines); + } + private bool HasReferenceLinePoints() { return data.Parent.ReferenceLine != null && data.Parent.ReferenceLine.Points.Any(); @@ -158,12 +182,9 @@ return data.WrappedData.SurfaceLines.Any(); } - public void UpdateObserver() + private bool HasSections() { - if (data != null) - { - SetDataToMap(); - } + return data.WrappedData.Sections.Any(); } } } \ No newline at end of file