Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryHelper.cs =================================================================== diff -u -r6404 -r7041 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryHelper.cs (.../GeometryHelper.cs) (revision 6404) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryHelper.cs (.../GeometryHelper.cs) (revision 7041) @@ -84,7 +84,16 @@ { var p1 = new Point2D(geometryCurve.HeadPoint.X, geometryCurve.HeadPoint.Z); var p2 = new Point2D(geometryCurve.EndPoint.X, geometryCurve.EndPoint.Z); - // If head or endpoint is at atX, skip this curve + // If head or endpoint is at atX, add this existing point to the local list + if (Math.Abs(p1.X - atX) < GeometryConstants.Accuracy) + { + splitPoints.Add(p1); + } + if (Math.Abs(p2.X - atX) < GeometryConstants.Accuracy) + { + splitPoints.Add(p2); + } + if (Math.Abs(p1.X - atX) > GeometryConstants.Accuracy && Math.Abs(p2.X - atX) > GeometryConstants.Tolerance) { var p3 = new Point2D(intersectionCurve.HeadPoint.X, intersectionCurve.HeadPoint.Z); @@ -140,7 +149,16 @@ { var p1 = new Point2D(geometryCurve.HeadPoint.X, geometryCurve.HeadPoint.Z); var p2 = new Point2D(geometryCurve.EndPoint.X, geometryCurve.EndPoint.Z); - // If head or endpoint is at atX, skip this curve + // If head or endpoint is at atX, add this existing point to the local list + if (Math.Abs(p1.X - atX) < GeometryConstants.Accuracy) + { + splitPoints.Add(p1); + } + if (Math.Abs(p2.X - atX) < GeometryConstants.Accuracy) + { + splitPoints.Add(p2); + } + if (Math.Abs(p1.X - atX) > GeometryConstants.Accuracy && Math.Abs(p2.X - atX) > GeometryConstants.Accuracy) { var p3 = new Point2D(intersectionCurve.HeadPoint.X, intersectionCurve.HeadPoint.Z);