Index: Ringtoets/Piping/src/Ringtoets.Piping.Primitives/RingtoetsPipingSurfaceLine.cs =================================================================== diff -u -rfd3f53993a2113c76da7d305a0e80621605bfe3f -r45fe200a6eefad8dcfa977673179c8d24f6ab766 --- Ringtoets/Piping/src/Ringtoets.Piping.Primitives/RingtoetsPipingSurfaceLine.cs (.../RingtoetsPipingSurfaceLine.cs) (revision fd3f53993a2113c76da7d305a0e80621605bfe3f) +++ Ringtoets/Piping/src/Ringtoets.Piping.Primitives/RingtoetsPipingSurfaceLine.cs (.../RingtoetsPipingSurfaceLine.cs) (revision 45fe200a6eefad8dcfa977673179c8d24f6ab766) @@ -23,9 +23,11 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; + using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Core.Common.Base.Storage; + using Ringtoets.Piping.Primitives.Exceptions; using Ringtoets.Piping.Primitives.Properties; @@ -46,6 +48,7 @@ { Name = string.Empty; Points = new Point3D[0]; + localGeometry = new Point2D[0]; } /// @@ -106,11 +109,11 @@ /// /// Gets the 2D points describing the local geometry of the surface line. /// - public Point2D[] LocalGeometry + public IEnumerable LocalGeometry { get { - return localGeometry ?? (localGeometry = ProjectGeometryToLZ().ToArray()); + return localGeometry; } } @@ -140,7 +143,7 @@ EndingWorldPoint = Points[Points.Length - 1]; } - localGeometry = null; + localGeometry = ProjectGeometryToLZ().ToArray(); } /// @@ -268,9 +271,9 @@ } var segments = new Collection(); - for (int i = 1; i < LocalGeometry.Length; i++) + for (int i = 1; i < localGeometry.Length; i++) { - segments.Add(new Segment2D(LocalGeometry[i - 1], LocalGeometry[i])); + segments.Add(new Segment2D(localGeometry[i - 1], localGeometry[i])); } IEnumerable intersectionPoints = Math2D.SegmentsIntersectionWithVerticalLine(segments, l).OrderBy(p => p.Y).ToArray();