Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineSlopeAdapterTest.cs =================================================================== diff -u -r4627 -r5565 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineSlopeAdapterTest.cs (.../SurfaceLineSlopeAdapterTest.cs) (revision 4627) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineSlopeAdapterTest.cs (.../SurfaceLineSlopeAdapterTest.cs) (revision 5565) @@ -1082,7 +1082,7 @@ }; Assert.That(adaptedSurfaceLine.HasAnnotation(CharacteristicPointType.ShoulderBaseInside), Is.False); Assert.That(adaptedSurfaceLine.HasAnnotation(CharacteristicPointType.ShoulderTopInside), Is.False); - Assert.That(adaptedSurfaceLine.Geometry.GetPointAt(expectedNewPoint.X, expectedNewPoint.Z), Is.Not.Null); + Assert.That(adaptedSurfaceLine.Geometry.DeterminePointAt(expectedNewPoint.X, expectedNewPoint.Z), Is.Not.Null); Assert.That(expectedPointDikeToeAtPolder.LocationEquals(adaptedSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder)), Is.True); Assert.That(expectedPointDitchDikeSide.LocationEquals(adaptedSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DitchDikeSide)), Is.True); Assert.That(expectedPointBottomDitchDikeSide.LocationEquals(adaptedSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.BottomDitchDikeSide)), Is.True); @@ -1194,7 +1194,7 @@ }; Assert.That(adaptedSurfaceLine.HasAnnotation(CharacteristicPointType.ShoulderBaseInside), Is.False); Assert.That(adaptedSurfaceLine.HasAnnotation(CharacteristicPointType.ShoulderTopInside), Is.False); - Assert.That(adaptedSurfaceLine.Geometry.GetPointAt(expectedNewPoint.X, expectedNewPoint.Z), Is.Not.Null); + Assert.That(adaptedSurfaceLine.Geometry.DeterminePointAt(expectedNewPoint.X, expectedNewPoint.Z), Is.Not.Null); Assert.That(expectedPointDikeToeAtPolder.LocationEquals(adaptedSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder)), Is.True); Assert.That(expectedPointDitchDikeSide.LocationEquals(adaptedSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DitchDikeSide)), Is.True); Assert.That(expectedPointBottomDitchDikeSide.LocationEquals(adaptedSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.BottomDitchDikeSide)), Is.True); Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2DSurfaceLineHelper.cs =================================================================== diff -u -r5529 -r5565 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2DSurfaceLineHelper.cs (.../SoilProfile2DSurfaceLineHelper.cs) (revision 5529) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2DSurfaceLineHelper.cs (.../SoilProfile2DSurfaceLineHelper.cs) (revision 5565) @@ -80,7 +80,7 @@ SoilProfile2D clonedProfile = soilProfile2D.Clone(); GeometryPointString clonedSurfaceLine = surfaceLine.Clone(); - RoundCoordinates(clonedSurfaceLine, clonedProfile); + RoundCoordinates(clonedSurfaceLine, clonedProfile.Geometry); shift = GeometryObject.RoundValue(shift); if (Math.Abs(shift) >= GeometryConstants.Accuracy) { @@ -132,18 +132,18 @@ return true; } - private static void RoundCoordinates(GeometryPointString surfaceLine, SoilProfile2D soilProfile2D) + private static void RoundCoordinates(GeometryPointString surfaceLine, GeometryData geometry) { const double accuracy = 1e-7; - foreach (Point2D point in soilProfile2D.Geometry.Points) + foreach (Point2D point in geometry.Points) { point.X = Point2D.RoundValue(point.X, accuracy); point.Z = Point2D.RoundValue(point.Z, accuracy); } - soilProfile2D.Geometry.Right = GeometryObject.RoundValue(soilProfile2D.Geometry.Right, accuracy); - soilProfile2D.Geometry.Left = GeometryObject.RoundValue(soilProfile2D.Geometry.Left, accuracy); - soilProfile2D.Geometry.Bottom = GeometryObject.RoundValue(soilProfile2D.Geometry.Bottom, accuracy); + geometry.Right = GeometryObject.RoundValue(geometry.Right, accuracy); + geometry.Left = GeometryObject.RoundValue(geometry.Left, accuracy); + geometry.Bottom = GeometryObject.RoundValue(geometry.Bottom, accuracy); surfaceLine.RoundPointsCoordinates(accuracy); } private static void AddGeometryIntersectionsToSurfaceLine(GeometryData geometry, ref GeometryPointString clonedSurfaceLine) @@ -156,66 +156,66 @@ } foreach (Point2D point in pointList) { - if (clonedSurfaceLine.GetPointAt(point.X, point.Z) == null) + if (clonedSurfaceLine.DeterminePointAt(point.X, point.Z) == null) clonedSurfaceLine.CalcPoints.Add(point); } clonedSurfaceLine.SyncPoints(); clonedSurfaceLine.SortPointsByXAscending(); } - private static void BuildGeometryModel(GeometryPointString surfaceLine, SoilProfile2D soilProfile2D, ref SoilProfile2D result) + private static void BuildGeometryModel(GeometryPointString surfaceLine, SoilProfile2D soilProfile2D, ref SoilProfile2D resultSoilProfile2D) { SoilProfile2D clonedProfile2 = soilProfile2D.Clone(); - result.Geometry = clonedProfile2.Geometry; - if (result.Geometry.Curves == null || result.Geometry.Curves.Count < 3) + resultSoilProfile2D.Geometry = clonedProfile2.Geometry; + if (resultSoilProfile2D.Geometry.Curves == null || resultSoilProfile2D.Geometry.Curves.Count < 3) return; - result.Geometry.Rebox(); + resultSoilProfile2D.Geometry.Rebox(); if (surfaceLine == null || surfaceLine.Points.Count <= 2) return; - if (result.Geometry.NewlyEffectedCurves.Count > 0 || result.Geometry.NewlyEffectedPoints.Count > 0) + if (resultSoilProfile2D.Geometry.NewlyEffectedCurves.Count > 0 || resultSoilProfile2D.Geometry.NewlyEffectedPoints.Count > 0) { return; } - GeometryData geometry = result.Geometry; + GeometryData geometry = resultSoilProfile2D.Geometry; AdaptGeometryToSurfaceLineLimits(surfaceLine, ref geometry); AddLeadingSurfaceLineToGeometry(surfaceLine, ref geometry); - result.Geometry.NewlyEffectedPoints.AddRange((IEnumerable) result.Geometry.Points); - result.Geometry.NewlyEffectedCurves.AddRange((IEnumerable) result.Geometry.Curves); - result.Geometry.Surfaces.Clear(); - result.Geometry.Curves.Clear(); - result.Geometry.Points.Clear(); - result.Geometry.RegenerateGeometry(); - result.Geometry.DeleteLoosePoints(); - result.Geometry.DeleteLooseCurves(); + resultSoilProfile2D.Geometry.NewlyEffectedPoints.AddRange((IEnumerable) resultSoilProfile2D.Geometry.Points); + resultSoilProfile2D.Geometry.NewlyEffectedCurves.AddRange((IEnumerable) resultSoilProfile2D.Geometry.Curves); + resultSoilProfile2D.Geometry.Surfaces.Clear(); + resultSoilProfile2D.Geometry.Curves.Clear(); + resultSoilProfile2D.Geometry.Points.Clear(); + resultSoilProfile2D.Geometry.RegenerateGeometry(); + resultSoilProfile2D.Geometry.DeleteLoosePoints(); + resultSoilProfile2D.Geometry.DeleteLooseCurves(); } - private static void AdaptGeometryToSurfaceLineLimits(GeometryPointString surfaceLine, ref GeometryData result) + private static void AdaptGeometryToSurfaceLineLimits(GeometryPointString surfaceLine, ref GeometryData geometryData) { GeometryBounds geometryBounds = surfaceLine.GetGeometryBounds(); - if (result.Left > geometryBounds.Left) - GeometryHelper.ExtendGeometryLeft(result, geometryBounds.Left); - else if (result.Left < geometryBounds.Left) - GeometryHelper.CutGeometryLeft(result, geometryBounds.Left); - if (result.Right > geometryBounds.Right) + if (geometryData.Left > geometryBounds.Left) + GeometryHelper.ExtendGeometryLeft(geometryData, geometryBounds.Left); + else if (geometryData.Left < geometryBounds.Left) + GeometryHelper.CutGeometryLeft(geometryData, geometryBounds.Left); + if (geometryData.Right > geometryBounds.Right) { - GeometryHelper.CutGeometryRight(result, geometryBounds.Right); + GeometryHelper.CutGeometryRight(geometryData, geometryBounds.Right); } else { - if (result.Right < geometryBounds.Right) - GeometryHelper.ExtendGeometryRight(result, geometryBounds.Right); + if (geometryData.Right < geometryBounds.Right) + GeometryHelper.ExtendGeometryRight(geometryData, geometryBounds.Right); } } - private static void AddLeadingSurfaceLineToGeometry(GeometryPointString surfaceLine, ref GeometryData result) + private static void AddLeadingSurfaceLineToGeometry(GeometryPointString surfaceLine, ref GeometryData geometryData) { - result.NewlyEffectedCurves.Clear(); - result.NewlyEffectedPoints.Clear(); + geometryData.NewlyEffectedCurves.Clear(); + geometryData.NewlyEffectedPoints.Clear(); surfaceLine.SyncCalcPoints(); IList points = surfaceLine.CalcPoints; - GeometryData geometry = result; + GeometryData geometry = geometryData; Point2D currentPoint1 = points[0].Clone(); var existingPoint1 = geometry.GetPointAtLocation(currentPoint1); if (existingPoint1 == null) @@ -227,7 +227,7 @@ // When the first point of the surface line is above the geometry (leftpoits) add a curve to the geometry // from the last (= top) point of the left points to the first point of the surface line. GeometryCurve newLeftCurve = new GeometryCurve(leftPoints[^1], currentPoint1); - result.NewlyEffectedCurves.Add(newLeftCurve); + geometryData.NewlyEffectedCurves.Add(newLeftCurve); } } else @@ -249,7 +249,7 @@ if (rightPoints[^1].Z < currentPoint2.Z) { GeometryCurve newRightCurve = new GeometryCurve(rightPoints[^1], currentPoint2); - result.NewlyEffectedCurves.Add(newRightCurve); + geometryData.NewlyEffectedCurves.Add(newRightCurve); } } else @@ -262,9 +262,9 @@ currentPoint2 = existingPoint2; } GeometryCurve newCurve = new GeometryCurve(currentPoint1, currentPoint2); - if (GeometryHelper.DoesCurveExist(result, newCurve) == null) + if (GeometryHelper.DoesCurveExist(geometryData, newCurve) == null) { - result.NewlyEffectedCurves.Add(newCurve); + geometryData.NewlyEffectedCurves.Add(newCurve); } currentPoint1 = currentPoint2; index++; @@ -322,7 +322,7 @@ Soil = defaultSoil }; SoilLayer2D soilLayer2D2 = soilLayer2D1; - SoilLayer2D layerFromOldSurfaces = SoilProfile2D.GetOriginalLayerFromOldSurfaces(surface, (IEnumerable) oldSurfaces); + SoilLayer2D layerFromOldSurfaces = SoilProfile2D.DetermineOriginalLayerFromOldSurfaces(surface, (IEnumerable) oldSurfaces); if (layerFromOldSurfaces != null && layerFromOldSurfaces.Soil != null) { soilLayer2D2.Soil = layerFromOldSurfaces.Soil; @@ -336,7 +336,7 @@ bool isDefaultLayer = IsLayerAboveOriginalSurfaceLine(soilLayer2D2, soilProfile2D.Geometry.SurfaceLine); if (!isDefaultLayer) { - oldLayer = GetLayerIfSurfaceIsLeftOrRightOfOldSurfaces(surface, oldSurfaces); + oldLayer = DetermineLayerIfSurfaceIsLeftOrRightOfOldSurfaces(surface, oldSurfaces); isDefaultLayer = oldLayer == null; } if (!isDefaultLayer) @@ -368,16 +368,16 @@ return layer.GeometrySurface.OuterLoop.Points.All(point => !point.Z.IsLessThan(surfaceLine.GetZatX(point.X))); } - private static void ReconstructPreConsolidations(ref SoilProfile2D result, SoilProfile2D cloneProfile, double shift) + private static void ReconstructPreConsolidations(ref SoilProfile2D result, SoilProfile2D clonedProfile, double shift) { - foreach (PreConsolidationStress preconsolidationStress in cloneProfile.PreconsolidationStresses) + foreach (PreConsolidationStress preconsolidationStress in clonedProfile.PreconsolidationStresses) { preconsolidationStress.X += shift; result.PreconsolidationStresses.Add(preconsolidationStress); } } - private static SoilLayer2D GetLayerIfSurfaceIsLeftOrRightOfOldSurfaces(GeometrySurface surface, List oldSurfaces) + private static SoilLayer2D DetermineLayerIfSurfaceIsLeftOrRightOfOldSurfaces(GeometrySurface surface, List oldSurfaces) { double[] xMin = surface.OuterLoop.CalcPoints.Select(p => p.X).OrderBy(x => x).Distinct().ToArray(); double[] zMin = surface.OuterLoop.CalcPoints.Select(p => p.Z).OrderBy(z => z).Distinct().ToArray(); Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometrySurface.cs =================================================================== diff -u -r5493 -r5565 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometrySurface.cs (.../GeometrySurface.cs) (revision 5493) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometrySurface.cs (.../GeometrySurface.cs) (revision 5565) @@ -164,8 +164,8 @@ /// private GeometryPointString DetermineTopCurves() { - IEnumerable minXPoints = OuterLoop.GetPointsAtX(OuterLoop.GetMinX()); - IEnumerable maxXPoints = OuterLoop.GetPointsAtX(OuterLoop.GetMaxX()); + IEnumerable minXPoints = OuterLoop.DeterminePointsAtX(OuterLoop.GetMinX()); + IEnumerable maxXPoints = OuterLoop.DeterminePointsAtX(OuterLoop.GetMaxX()); //verticals at start are omitted Point2D startTopPoint = minXPoints.OrderByDescending(p => p.Z).First(); @@ -189,8 +189,8 @@ private GeometryPointString DetermineBottomCurves() { //create copy, leave original - IEnumerable minXPoints = OuterLoop.GetPointsAtX(OuterLoop.GetMinX()); - IEnumerable maxXPoints = OuterLoop.GetPointsAtX(OuterLoop.GetMaxX()); + IEnumerable minXPoints = OuterLoop.DeterminePointsAtX(OuterLoop.GetMinX()); + IEnumerable maxXPoints = OuterLoop.DeterminePointsAtX(OuterLoop.GetMaxX()); //verticals at start are omitted Point2D startBottomPoint = minXPoints.OrderBy(p => p.Z).First(); Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryPointString.cs =================================================================== diff -u -r5494 -r5565 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryPointString.cs (.../GeometryPointString.cs) (revision 5494) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryPointString.cs (.../GeometryPointString.cs) (revision 5565) @@ -385,7 +385,7 @@ /// /// The x. /// - public IEnumerable GetPointsAtX(double x) + public IEnumerable DeterminePointsAtX(double x) { return from Point2D point in calcPoints where point.X.AlmostEquals(x, GeometryPoint.Precision) @@ -398,7 +398,7 @@ /// The x. /// The z. /// - public Point2D GetPointAt(double x, double z) + public Point2D DeterminePointAt(double x, double z) { return calcPoints.FirstOrDefault( point => point.X.AlmostEquals(x, GeometryPoint.Precision) && @@ -411,7 +411,7 @@ /// The x. /// The z. /// - public GeometryPoint GetGeometryPointAt(double x, double z) + public GeometryPoint DetermineGeometryPointAt(double x, double z) { return Points.FirstOrDefault( point => point.X.AlmostEquals(x, GeometryPoint.Precision) && @@ -567,7 +567,7 @@ /// public RelativeXzPosition GetPosition(GeometryLoop geometryLoop, ExtraPolationMode extraPolationMode = ExtraPolationMode.Beyond) { - foreach (GeometryPoint point in geometryLoop.Points.Concat(GetLoopSegmentMiddlePoints(geometryLoop))) + foreach (GeometryPoint point in geometryLoop.Points.Concat(DetermineLoopSegmentMiddlePoints(geometryLoop))) { RelativeXzPosition position = PositionXzOfPointRelatedToExtrapolatedLine(point, extraPolationMode); if (position == RelativeXzPosition.BeyondGeometricLine) @@ -653,7 +653,7 @@ private RelativeXzPosition DeterminePositionWithRespectToExtrapolatedLine(GeometryPoint point, ExtraPolationMode extraPolationMode) { - double xToEvaluate = GetXToEvaluate(point, extraPolationMode); + double xToEvaluate = DetermineXToEvaluate(point, extraPolationMode); double zAtX = GetZatX(xToEvaluate); if (Math.Abs(point.Z - zAtX) < 0.001) { @@ -663,7 +663,7 @@ return point.Z <= zAtX ? RelativeXzPosition.BelowGeometricLine : RelativeXzPosition.AboveGeometricLine; } - private double GetXToEvaluate(GeometryPoint point, ExtraPolationMode extraPolationMode) + private double DetermineXToEvaluate(GeometryPoint point, ExtraPolationMode extraPolationMode) { double x = point.X; if (extraPolationMode == ExtraPolationMode.Horizontal) @@ -681,7 +681,7 @@ return x; } - private static IEnumerable GetLoopSegmentMiddlePoints(GeometryPointString geometryLoop) + private static IEnumerable DetermineLoopSegmentMiddlePoints(GeometryPointString geometryLoop) { var loopSegmentMiddlePoints = new List(); var index = 0; Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SurfaceLine2Extensions.cs =================================================================== diff -u -r4540 -r5565 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SurfaceLine2Extensions.cs (.../SurfaceLine2Extensions.cs) (revision 4540) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SurfaceLine2Extensions.cs (.../SurfaceLine2Extensions.cs) (revision 5565) @@ -191,7 +191,7 @@ if (isAssignedToOtherCharacteristicPoints) { // Other characteristic points exist with the same coordinates so add as new point - point = line.Geometry.GetGeometryPointAt(newPoint.X, newPoint.Z); // Get point at specified coords + point = line.Geometry.DetermineGeometryPointAt(newPoint.X, newPoint.Z); // Get point at specified coords if (point == null) { point = newPoint; @@ -210,7 +210,7 @@ if (point == null) { - point = line.Geometry.GetGeometryPointAt(x, z); // Get point at specified coords + point = line.Geometry.DetermineGeometryPointAt(x, z); // Get point at specified coords } if (point == null) Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs =================================================================== diff -u -r5252 -r5565 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs (.../SoilProfile2D.cs) (revision 5252) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs (.../SoilProfile2D.cs) (revision 5565) @@ -152,11 +152,11 @@ /// /// /// - /// - public static SoilLayer2D GetOriginalLayerFromOldSurfaces(GeometrySurface geometrySurface, + /// The 2D soil layer + public static SoilLayer2D DetermineOriginalLayerFromOldSurfaces(GeometrySurface geometrySurface, IEnumerable oldSurfaces) { - return GetOriginalLayerFromOldSurfaces(geometrySurface, oldSurfaces, 0.0); + return DetermineOriginalLayerFromOldSurfaces(geometrySurface, oldSurfaces, 0.0); } /// @@ -165,8 +165,8 @@ /// /// /// - /// - private static SoilLayer2D GetOriginalLayerFromOldSurfaces(GeometrySurface geometrySurface, IEnumerable oldSurfaces, + /// The 2D soil layer + private static SoilLayer2D DetermineOriginalLayerFromOldSurfaces(GeometrySurface geometrySurface, IEnumerable oldSurfaces, double shift) { Point2D point = new Point2D(0.0, 0.0); @@ -278,8 +278,8 @@ } if (!double.IsNaN(d)) { - double xminFromSurfaces = GetXminFromSurfaces(oldSurfaces); - double xmaxFromSurfaces = GetXmaxFromSurfaces(oldSurfaces); + double xminFromSurfaces = DetermineXminFromSurfaces(oldSurfaces); + double xmaxFromSurfaces = DetermineXmaxFromSurfaces(oldSurfaces); if (d <= xmaxFromSurfaces && d >= xminFromSurfaces) isPointInOuterLoopAndOldSurface = false; } @@ -315,15 +315,15 @@ return point; } - private static double GetXminFromSurfaces(IEnumerable oldSurfaces) + private static double DetermineXminFromSurfaces(IEnumerable oldSurfaces) { double xminFromSurfaces = double.MaxValue; foreach (SoilLayer2D oldSurface in oldSurfaces) xminFromSurfaces = Math.Min(xminFromSurfaces, oldSurface.GeometrySurface.OuterLoop.GetMinX()); return xminFromSurfaces; } - private static double GetXmaxFromSurfaces(IEnumerable oldSurfaces) + private static double DetermineXmaxFromSurfaces(IEnumerable oldSurfaces) { double xmaxFromSurfaces = double.MinValue; foreach (SoilLayer2D oldSurface in oldSurfaces) Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs =================================================================== diff -u -r5495 -r5565 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 5495) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityCommonHelper.cs (.../MacroStabilityCommonHelper.cs) (revision 5565) @@ -61,6 +61,7 @@ /// The dike embankment soil. /// Thrown when subSoilScenario.SoilProfileType is ProfileTypeStiFile /// + /// The combined profile as full SoilProfile2D public static SoilProfile2D CombineSoilProfileWithSurfaceLine(SoilGeometryProbability subSoilScenario, SurfaceLine2 surfaceLine2, Soil dikeEmbankmentSoil) { switch (subSoilScenario.SoilProfileType)