Index: Core/Components/src/Core.Components.DotSpatial/Converter/MapDataFactory.cs =================================================================== diff -u -ra3c8c0cb4384de51a18d77cc7bea487f97ba21e1 -r295f682376c0fdfe225ce196a5d654964a3c81bd --- Core/Components/src/Core.Components.DotSpatial/Converter/MapDataFactory.cs (.../MapDataFactory.cs) (revision a3c8c0cb4384de51a18d77cc7bea487f97ba21e1) +++ Core/Components/src/Core.Components.DotSpatial/Converter/MapDataFactory.cs (.../MapDataFactory.cs) (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -42,6 +42,7 @@ new MapDataCollectionConverter(), new MapPointDataConverter(), new MapLineDataConverter(), + new MapMultiLineDataConverter(), new MapPolygonDataConverter() }; Index: Core/Components/src/Core.Components.DotSpatial/Converter/MapMultiLineDataConverter.cs =================================================================== diff -u --- Core/Components/src/Core.Components.DotSpatial/Converter/MapMultiLineDataConverter.cs (revision 0) +++ Core/Components/src/Core.Components.DotSpatial/Converter/MapMultiLineDataConverter.cs (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -0,0 +1,54 @@ +// 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 Lesser 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser 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.Collections.Generic; +using System.Linq; +using Core.Common.Base.Geometry; +using Core.Components.Gis.Data; +using DotSpatial.Data; +using DotSpatial.Topology; + +namespace Core.Components.DotSpatial.Converter +{ + /// + /// The converter that converts into a containing multiple . + /// + public class MapMultiLineDataConverter : MapDataConverter + { + protected override IList Convert(MapMultiLineData data) + { + var featureSet = new FeatureSet(FeatureType.Line); + + foreach (IEnumerable line in data.Lines) + { + var coordinates = line.Select(p => new Coordinate(p.X, p.Y)); + var lineString = new LineString(coordinates); + + featureSet.Features.Add(lineString); + } + + return new List + { + featureSet + }; + } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.DotSpatial/Core.Components.DotSpatial.csproj =================================================================== diff -u -r33c64ea2cd6b287bf5954e63a548d89dadb7f153 -r295f682376c0fdfe225ce196a5d654964a3c81bd --- Core/Components/src/Core.Components.DotSpatial/Core.Components.DotSpatial.csproj (.../Core.Components.DotSpatial.csproj) (revision 33c64ea2cd6b287bf5954e63a548d89dadb7f153) +++ Core/Components/src/Core.Components.DotSpatial/Core.Components.DotSpatial.csproj (.../Core.Components.DotSpatial.csproj) (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -64,6 +64,7 @@ + Index: Core/Components/src/Core.Components.Gis/Core.Components.Gis.csproj =================================================================== diff -u -r33c64ea2cd6b287bf5954e63a548d89dadb7f153 -r295f682376c0fdfe225ce196a5d654964a3c81bd --- Core/Components/src/Core.Components.Gis/Core.Components.Gis.csproj (.../Core.Components.Gis.csproj) (revision 33c64ea2cd6b287bf5954e63a548d89dadb7f153) +++ Core/Components/src/Core.Components.Gis/Core.Components.Gis.csproj (.../Core.Components.Gis.csproj) (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -44,6 +44,7 @@ + Index: Core/Components/src/Core.Components.Gis/Data/MapLineData.cs =================================================================== diff -u -r33c64ea2cd6b287bf5954e63a548d89dadb7f153 -r295f682376c0fdfe225ce196a5d654964a3c81bd --- Core/Components/src/Core.Components.Gis/Data/MapLineData.cs (.../MapLineData.cs) (revision 33c64ea2cd6b287bf5954e63a548d89dadb7f153) +++ Core/Components/src/Core.Components.Gis/Data/MapLineData.cs (.../MapLineData.cs) (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -33,7 +33,7 @@ /// /// Creates a new instance of . /// - /// A of as (X,Y) points. + /// A of which describes a line in 2D space. /// Thrown when is null. public MapLineData(IEnumerable points) : base(points) { Index: Core/Components/src/Core.Components.Gis/Data/MapMultiLineData.cs =================================================================== diff -u --- Core/Components/src/Core.Components.Gis/Data/MapMultiLineData.cs (revision 0) +++ Core/Components/src/Core.Components.Gis/Data/MapMultiLineData.cs (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -0,0 +1,54 @@ +// 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 Lesser 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser 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 System.Collections.Generic; +using System.Linq; +using Core.Common.Base.Geometry; + +namespace Core.Components.Gis.Data +{ + /// + /// This class represents data in 2D space which is visible as a line. + /// + public class MapMultiLineData : MapData + { + /// + /// Creates a new instance of . + /// + /// A of as (X,Y) lines. + /// Thrown when is null. + public MapMultiLineData(IEnumerable> lines) + { + if (lines == null) + { + var message = String.Format("A point collection is required when creating a subclass of {0}.", typeof(PointBasedMapData)); + throw new ArgumentNullException("lines", message); + } + Lines = lines.ToArray(); + } + + /// + /// Gets all the lines in the multi line data + /// + public IEnumerable[] Lines { get; private set; } + } +} \ No newline at end of file Index: Core/Components/src/Core.Components.Gis/Data/MapPointData.cs =================================================================== diff -u -r33c64ea2cd6b287bf5954e63a548d89dadb7f153 -r295f682376c0fdfe225ce196a5d654964a3c81bd --- Core/Components/src/Core.Components.Gis/Data/MapPointData.cs (.../MapPointData.cs) (revision 33c64ea2cd6b287bf5954e63a548d89dadb7f153) +++ Core/Components/src/Core.Components.Gis/Data/MapPointData.cs (.../MapPointData.cs) (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -33,7 +33,7 @@ /// /// Create a new instance of . /// - /// A of as (X,Y) coordinates. + /// A of which describes points in 2D space. /// Thrown when is null. public MapPointData(IEnumerable points) : base(points) {} } Index: Core/Components/src/Core.Components.Gis/Data/MapPolygonData.cs =================================================================== diff -u -r33c64ea2cd6b287bf5954e63a548d89dadb7f153 -r295f682376c0fdfe225ce196a5d654964a3c81bd --- Core/Components/src/Core.Components.Gis/Data/MapPolygonData.cs (.../MapPolygonData.cs) (revision 33c64ea2cd6b287bf5954e63a548d89dadb7f153) +++ Core/Components/src/Core.Components.Gis/Data/MapPolygonData.cs (.../MapPolygonData.cs) (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -33,7 +33,7 @@ /// /// Creates a new instance of . /// - /// A of as (X,Y) points. + /// A of which describes a closed area in 2D space. /// Thrown when is null. public MapPolygonData(IEnumerable points) : base(points) {} } Index: Core/Components/src/Core.Components.Gis/Data/PointBasedMapData.cs =================================================================== diff -u -r33c64ea2cd6b287bf5954e63a548d89dadb7f153 -r295f682376c0fdfe225ce196a5d654964a3c81bd --- Core/Components/src/Core.Components.Gis/Data/PointBasedMapData.cs (.../PointBasedMapData.cs) (revision 33c64ea2cd6b287bf5954e63a548d89dadb7f153) +++ Core/Components/src/Core.Components.Gis/Data/PointBasedMapData.cs (.../PointBasedMapData.cs) (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -34,7 +34,7 @@ /// /// Create a new instance of . /// - /// A of as (X,Y) coordinates. + /// A of which describe locations in 2D space. /// Thrown when is null. protected PointBasedMapData(IEnumerable points) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs =================================================================== diff -u -rf98cc7191a717793f69485dad2923cd34f6d48de -r295f682376c0fdfe225ce196a5d654964a3c81bd --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision f98cc7191a717793f69485dad2923cd34f6d48de) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 295f682376c0fdfe225ce196a5d654964a3c81bd) @@ -58,12 +58,12 @@ /// /// Gets the available within the scope of the piping failure mechanism. /// - public IEnumerable SurfaceLines { get; private set; } + public ICollection SurfaceLines { get; private set; } /// /// Gets the available profiles within the scope of the piping failure mechanism. /// - public IEnumerable SoilProfiles { get; private set; } + public ICollection SoilProfiles { get; private set; } /// /// Gets the boundary conditions applying to the piping failure mechanism.