Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryPointString.cs =================================================================== diff -u -r5200 -r5209 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryPointString.cs (.../GeometryPointString.cs) (revision 5200) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryPointString.cs (.../GeometryPointString.cs) (revision 5209) @@ -872,21 +872,24 @@ return x; } - private static IEnumerable GetLoopSegmentMiddlePoints(GeometryLoop geometryLoop) + private static IEnumerable GetLoopSegmentMiddlePoints(GeometryPointString geometryLoop) { - List loopSegmentMiddlePoints = new List(); - int index = 0; + var loopSegmentMiddlePoints = new List(); + var index = 0; while (index < checked (geometryLoop.Points.Count - 1)) { - GeometryPointString.AddLoopSegmentMiddlePoint(geometryLoop.Points[index], geometryLoop.Points[checked (index + 1)], loopSegmentMiddlePoints); + AddLoopSegmentMiddlePoint(geometryLoop.Points[index], geometryLoop.Points[checked (index + 1)], loopSegmentMiddlePoints); checked { ++index; } } if (geometryLoop.Points.Count > 2) - GeometryPointString.AddLoopSegmentMiddlePoint(geometryLoop.Points[0], geometryLoop.Points.Last(), loopSegmentMiddlePoints); - return (IEnumerable) loopSegmentMiddlePoints; + { + int last = geometryLoop.Points.Count - 1; + AddLoopSegmentMiddlePoint(geometryLoop.Points[0], geometryLoop.Points[last], loopSegmentMiddlePoints); + } + return loopSegmentMiddlePoints; } - private static void AddLoopSegmentMiddlePoint(GeometryPoint point1, GeometryPoint point2, List loopSegmentMiddlePoints) + private static void AddLoopSegmentMiddlePoint(GeometryPoint point1, GeometryPoint point2, IList loopSegmentMiddlePoints) { if (Math.Abs(point1.Z - point2.Z) < 0.001) loopSegmentMiddlePoints.Insert(0, new GeometryPoint((point1.X + point2.X) / 2.0, point1.Z));