Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SurfaceLine2Validator.cs
===================================================================
diff -u -r5444 -r5449
--- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SurfaceLine2Validator.cs (.../SurfaceLine2Validator.cs) (revision 5444)
+++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SurfaceLine2Validator.cs (.../SurfaceLine2Validator.cs) (revision 5449)
@@ -94,10 +94,29 @@
///
public static bool AreAllPointsXCoordinatesAscending(SurfaceLine2 line)
{
- line.Geometry.SyncPoints();
- return AreGeometryPointsXCoordinatesAscending(line.Geometry.Points);
+ if (line.Geometry.Points.Count == line.Geometry.CalcPoints.Count)
+ {
+ if (ArePointsAndCalcPointEqual(line))
+ {
+ return AreGeometryPointsXCoordinatesAscending(line.Geometry.Points);
+ }
+ }
+ return false;
}
+ private static bool ArePointsAndCalcPointEqual(SurfaceLine2 line)
+ {
+ for (int i = 0; i < line.Geometry.Points.Count; i++)
+ {
+ var geometryPoint = new GeometryPoint(line.Geometry.CalcPoints[i].X, line.Geometry.CalcPoints[i].Z);
+ if (!line.Geometry.Points[i].LocationEquals(geometryPoint))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
///
/// Determines whether all characteristic points are in correct shape.
///