Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/Routines2D.cs =================================================================== diff -u -r5028 -r5036 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/Routines2D.cs (.../Routines2D.cs) (revision 5028) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/Routines2D.cs (.../Routines2D.cs) (revision 5036) @@ -807,27 +807,27 @@ double aLine1Y, double aLine2X, double aLine2Y, - out double aResultX, - out double aResultY) + out Point2D aResult) { double x1 = Compute2DDistance(aLine1X, aLine1Y, aLine2X, aLine2Y); double x2 = Compute2DDistance(aLine1X, aLine1Y, aPointX, aPointY); double x3 = Compute2DDistance(aLine2X, aLine2Y, aPointX, aPointY); double num = (Math.Pow(x2, 2.0) - Math.Pow(x3, 2.0) + Math.Pow(x1, 2.0)) / (2.0 * x1); + aResult = new Point2D(); if (num <= 0.0) { - aResultX = aLine1X; - aResultY = aLine1Y; + aResult.X = aLine1X; + aResult.Z = aLine1Y; } else if (num >= x1) { - aResultX = aLine2X; - aResultY = aLine2Y; + aResult.X = aLine2X; + aResult.Z = aLine2Y; } else { - aResultX = aLine1X + num / x1 * (aLine2X - aLine1X); - aResultY = aLine1Y + num / x1 * (aLine2Y - aLine1Y); + aResult.X = aLine1X + num / x1 * (aLine2X - aLine1X); + aResult.Z = aLine1Y + num / x1 * (aLine2Y - aLine1Y); } } } \ No newline at end of file