Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs =================================================================== diff -u -r480 -r484 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 480) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 484) @@ -1,5 +1,9 @@ using System.Collections.Generic; using Deltares.DamEngine.Io.XmlInput; +using Deltares.Geometry; +using Deltares.Geotechnics.GeotechnicalGeometry; +using Deltares.Geotechnics.SurfaceLines; +using SurfaceLine = Deltares.DamEngine.Io.XmlInput.SurfaceLine; namespace Deltares.Dam.Data.DamEngineIo { @@ -23,9 +27,38 @@ damProjectData.WaterBoard.Dikes.Add(new Dike()); Dike dike = damProjectData.WaterBoard.Dikes[0]; TransferLocations(input, dike); + TransferSurfaceLines(input, dike); return damProjectData; } + private static void TransferSurfaceLines(Input input, Dike dike) + { + for (int i = 0; i < input.SurfaceLines.Length; i++) + { + var surfaceLine = new SurfaceLine2(); + var inputSurfaceLine = input.SurfaceLines[i]; + surfaceLine.CharacteristicPoints.Geometry = surfaceLine.Geometry; + AddPointsToSurfaceLine(inputSurfaceLine, surfaceLine); + dike.SurfaceLines2.Add(surfaceLine); + } + } + + private static void AddPointsToSurfaceLine(SurfaceLine inputSurfaceLine, SurfaceLine2 surfaceLine) + { + surfaceLine.Geometry = new LocalizedGeometryPointString(); + for (int j = 0; j < inputSurfaceLine.Points.Length; j++) + { + var inputPoint = inputSurfaceLine.Points[j]; + var geometryPoint = new GeometryPoint() + { + X = inputPoint.X, + Y = 0.0, + Z = inputPoint.Z + }; + surfaceLine.AddCharacteristicPoint(geometryPoint, ConversionHelper.ConvertToDamPointType(inputPoint.PointType)); + } + } + private static void TransferLocations(Input input, Dike dike) { for (int i = 0; i < input.Locations.Length; i++)