Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs =================================================================== diff -u -r4989 -r5013 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs (.../PlLinesToWaternetConverterTests.cs) (revision 4989) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/PlLinesToWaternetConverterTests.cs (.../PlLinesToWaternetConverterTests.cs) (revision 5013) @@ -369,6 +369,10 @@ soilProfile.Surfaces.Add(aquifer7A); soilProfile.Surfaces.Add(aquifer7B); soilProfile.Surfaces.Add(aquifer7C); + soilProfile.Geometry.Surfaces.Add(new GeometrySurface()); + soilProfile.Geometry.SurfaceLine.CalcPoints.Add(new Point2D(leftCoordinate, 20)); + soilProfile.Geometry.SurfaceLine.CalcPoints.Add(new Point2D(rightCoordinate, 20)); + soilProfile.Geometry.SurfaceLine.SyncPoints(); PlLines plLines = CreateAllPlLines(); @@ -526,6 +530,7 @@ soilProfile.Surfaces.Add(soilLayerAquiferInBetweenRight); soilProfile.Surfaces.Add(soilLayerInBetween); soilProfile.Surfaces.Add(soilLayerAquiferBottom); + soilProfile.Geometry.Surfaces.Add(new GeometrySurface()); // Call bool isInBetweenLayerPresent = PlLinesToWaternetConverter.AreInBetweenAquiferClustersPresent(soilProfile, out int count); @@ -587,6 +592,7 @@ soilProfile.Surfaces.Add(soilLayerAquiferInBetween); soilProfile.Surfaces.Add(soilLayerInBetween); soilProfile.Surfaces.Add(soilLayerAquiferBottom); + soilProfile.Geometry.Surfaces.Add(new GeometrySurface()); // Call bool isInBetweenLayerPresent = PlLinesToWaternetConverter.AreInBetweenAquiferClustersPresent(soilProfile, out int count); @@ -679,6 +685,7 @@ soilProfile.Surfaces.Add(soilLayerAquiferInBetweenRight); soilProfile.Surfaces.Add(soilLayerInBetween); soilProfile.Surfaces.Add(soilLayerAquiferBottom); + soilProfile.Geometry.Surfaces.Add(new GeometrySurface()); // Call bool isInBetweenLayerPresent = PlLinesToWaternetConverter.AreInBetweenAquiferClustersPresent(soilProfile, out int count); @@ -771,6 +778,7 @@ soilProfile.Surfaces.Add(soilLayerAquiferInBetweenRight); soilProfile.Surfaces.Add(soilLayerInBetween); soilProfile.Surfaces.Add(soilLayerAquiferBottom); + soilProfile.Geometry.Surfaces.Add(new GeometrySurface()); // Call bool isInBetweenLayerPresent = PlLinesToWaternetConverter.AreInBetweenAquiferClustersPresent(soilProfile, out int count); @@ -888,6 +896,7 @@ soilProfile.Surfaces.Add(soilLayerAquiferInBetweenRight); soilProfile.Surfaces.Add(soilLayerInBetween); soilProfile.Surfaces.Add(soilLayerAquiferBottom); + soilProfile.Geometry.Surfaces.Add(new GeometrySurface()); // Call bool isInBetweenLayerPresent = PlLinesToWaternetConverter.AreInBetweenAquiferClustersPresent(soilProfile, out int count); @@ -1006,6 +1015,7 @@ soilProfile.Surfaces.Add(soilLayerAquiferInBetweenRight); soilProfile.Surfaces.Add(soilLayerInBetween); soilProfile.Surfaces.Add(soilLayerAquiferBottom); + soilProfile.Geometry.Surfaces.Add(new GeometrySurface()); // Call bool isInBetweenLayerPresent = PlLinesToWaternetConverter.AreInBetweenAquiferClustersPresent(soilProfile, out int count); @@ -1253,7 +1263,7 @@ { BottomLevel = -30.0 }; - + var layer = new SoilLayer1D { Name = "L1a", @@ -1399,6 +1409,7 @@ soilProfileFullAdjoin.Surfaces.Add(soilUpperLayer); soilProfileFullAdjoin.Surfaces.Add(soilBottomLayerAquiferPartLeft); soilProfileFullAdjoin.Surfaces.Add(soilBottomLayerAquiferPartRight); + soilProfileFullAdjoin.Geometry.Surfaces.Add(new GeometrySurface()); yield return new TestCaseData(soilProfileFullAdjoin, new[] { @@ -1426,6 +1437,7 @@ }; soilProfileOneBottomAquiferLayer.Surfaces.Add(soilUpperLayer); soilProfileOneBottomAquiferLayer.Surfaces.Add(soilBottomLayerAquifer); + soilProfileOneBottomAquiferLayer.Geometry.Surfaces.Add(new GeometrySurface()); yield return new TestCaseData(soilProfileOneBottomAquiferLayer, new[] { Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs =================================================================== diff -u -r5011 -r5013 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 5011) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 5013) @@ -852,7 +852,7 @@ SoilProfile2DLayer2DSurfaceOuterPoint[] outerLoop = inputLayer.Surface.OuterLoop; var isStartPoint = true; var curve = new GeometryCurve(); - Point2D firstPoint = new Point2D(); + var firstPoint = new Point2D(); for (var j = 0; j < outerLoop.Length; j++) { var point = new Point2D(outerLoop[j].X, outerLoop[j].Z); Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs =================================================================== diff -u -r4687 -r5013 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs (.../SoilProfile2D.cs) (revision 4687) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs (.../SoilProfile2D.cs) (revision 5013) @@ -86,42 +86,6 @@ const double diff = 0.001; if (Geometry.Surfaces.Count == 0) { - // TODO: This codeblock in the if-statement does not belong here. It should be handled in FillDamFromXmlInput.TransferSoilProfiles2D() - // I added the code to FillDamFromXmlInput.AddLayers2D(), which is called in above mentioned method, so I think this can be removed - foreach (SoilLayer2D soilLayer2D in Surfaces) - { - var loop = new GeometryLoop(); - var isStartPoint = true; - var curve = new GeometryCurve(); - foreach (Point2D outerLoopCalcPoint in soilLayer2D.GeometrySurface.OuterLoop.CalcPoints) - { - Geometry.Points.Add(outerLoopCalcPoint); - loop.CalcPoints.Add(outerLoopCalcPoint); - Geometry.Surfaces.Add(soilLayer2D.GeometrySurface); - if (isStartPoint) - { - curve.HeadPoint = outerLoopCalcPoint; - } - else - { - curve.EndPoint = outerLoopCalcPoint; - loop.CurveList.Add(curve); - curve = new GeometryCurve(); - curve.HeadPoint = outerLoopCalcPoint; - } - - isStartPoint = false; - } - - curve.EndPoint = loop.CurveList.First().HeadPoint; - Geometry.Curves.Add(curve); - loop.CurveList.Add(curve); - Geometry.Loops.Add(loop); - var surface = new GeometrySurface(); - surface.OuterLoop = loop; - Geometry.Surfaces.Add(surface); - } - Geometry.Right = Geometry.MaxGeometryPointsX; Geometry.Left = Geometry.MinGeometryPointsX; }