Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/Geometry2DImporter/SoilProfile2DImporterTest.cs
===================================================================
diff -u -r5922 -r5950
--- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/Geometry2DImporter/SoilProfile2DImporterTest.cs (.../SoilProfile2DImporterTest.cs) (revision 5922)
+++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/Geometry2DImporter/SoilProfile2DImporterTest.cs (.../SoilProfile2DImporterTest.cs) (revision 5950)
@@ -267,10 +267,10 @@
Assert.That(geometry.Surfaces, Has.Count.EqualTo(12));
Assert.That(geometry.Left, Is.EqualTo(xSoilProfile2DOrigin));
Assert.That(soilProfiles[0].Surfaces[0].GeometrySurface.OuterLoop.GetMinX(),Is.EqualTo(xSoilProfile2DOrigin));
- ValidationResult[] validationResults = SoilProfile2DImporter.ValidateGeometry(geometry);
+ ValidationResult[] validationResults = geometry.ValidateGeometry();
Assert.That(validationResults, Has.Length.EqualTo(0));
geometry = soilProfiles.ElementAt(1).Geometry;
- validationResults = SoilProfile2DImporter.ValidateGeometry(geometry);
+ validationResults = geometry.ValidateGeometry();
Assert.That(validationResults, Has.Length.EqualTo(0));
}
Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Geometry2DImporter/SoilProfile2DImporter.cs
===================================================================
diff -u -r5922 -r5950
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Geometry2DImporter/SoilProfile2DImporter.cs (.../SoilProfile2DImporter.cs) (revision 5922)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Geometry2DImporter/SoilProfile2DImporter.cs (.../SoilProfile2DImporter.cs) (revision 5950)
@@ -95,78 +95,6 @@
}
///
- /// Validates the geometry (replaces the one in GeometryData as that does pointer compares instead of location compares).
- ///
- ///
- /// List of validation errors
- public static ValidationResult[] ValidateGeometry(Deltares.Geometry.GeometryData geometry)
- {
- List validationResultList = new List();
- List looseCurves = GetLooseCurves(geometry);
- List overhangPoints = GetOverhangPoints(geometry);
- if (looseCurves.Count > 0)
- {
- validationResultList.Add(new ValidationResult(ValidationResultType.Error,
- LocalizationManager.GetTranslatedText(geometry, "Loose lines are not allowed"), looseCurves[0]));
- }
- else if (overhangPoints.Count > 0)
- {
- validationResultList.Add(new ValidationResult(ValidationResultType.Error,
- LocalizationManager.GetTranslatedText(geometry, "Overhangs are not allowed"), overhangPoints[0]));
- }
- return validationResultList.ToArray();
- }
-
- private static Deltares.Geometry.GeometryCurve FindFirstConnectingCurveByPoint(
- GeometryPoint point,
- Deltares.Geometry.GeometryCurve inputCurve,
- List searchCurves)
- {
- var searchCurve = searchCurves.Where((Func)
- (curve => curve != inputCurve)).FirstOrDefault((Func)
- (curve => curve.HeadPoint.LocationEquals(point)));
- if (searchCurve == null)
- {
- searchCurve = searchCurves.Where((Func)
- (curve => curve != inputCurve)).FirstOrDefault((Func)
- (curve => curve.EndPoint.LocationEquals(point)));
- }
-
- return searchCurve;
- }
-
- private static List GetLooseCurves(Deltares.Geometry.GeometryData geometry)
- {
- List looseCurves = new List();
- foreach (Deltares.Geometry.GeometryCurve curve in geometry.Curves)
- {
- bool flag1 = FindFirstConnectingCurveByPoint(curve.HeadPoint, curve, geometry.Curves) != null;
- bool flag2 = FindFirstConnectingCurveByPoint(curve.EndPoint, curve, geometry.Curves) != null;
- if (!flag1 || !flag2)
- looseCurves.Add(curve);
- }
- return looseCurves;
- }
-
- private static List GetOverhangPoints(Deltares.Geometry.GeometryData geometry)
- {
- var surfaceLine = geometry.SurfaceLine;
- List overhangPoints = new List();
- if (surfaceLine.Points == null || surfaceLine.Points.Count < 2)
- return overhangPoints;
- if (surfaceLine.Points.First().X > surfaceLine.Points.Last().X)
- surfaceLine.Points.Reverse();
- double x = surfaceLine.Points.First().X;
- for (int index = 1; index < surfaceLine.Points.Count; ++index)
- {
- if (x > surfaceLine.Points[index].X)
- overhangPoints.Add(surfaceLine.Points[index - 1]);
- x = surfaceLine.Points[index].X;
- }
- return overhangPoints;
- }
-
- ///
/// Reads a soil profile.
///
/// The directory to read the from.