Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs =================================================================== diff -u -r4835 -r4874 --- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs (.../FactoryForSoilProfiles.cs) (revision 4835) +++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs (.../FactoryForSoilProfiles.cs) (revision 4874) @@ -1068,6 +1068,8 @@ }; SoilProfile2D soilProfile2D = soilSurfaceProfile.ConvertToSoilProfile2D(); + // Make one boundary not horizontal + soilSurfaceProfile.Geometry.Points[4].Z = 0.0; return soilProfile2D; } Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryData.cs =================================================================== diff -u -r4866 -r4874 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryData.cs (.../GeometryData.cs) (revision 4866) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryData.cs (.../GeometryData.cs) (revision 4874) @@ -493,8 +493,8 @@ { SynchronizeLoops(); RemoveDoublesFromNewlyEffectedPointsAndCurves(); - Curves.Clear(); - Points.Clear(); + // Curves.Clear(); + // Points.Clear(); Points.AddRange(NewlyEffectedPoints); Curves.AddRange(NewlyEffectedCurves); Index: DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/GeometryHelperTests.cs =================================================================== diff -u -r4873 -r4874 --- DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/GeometryHelperTests.cs (.../GeometryHelperTests.cs) (revision 4873) +++ DamEngine/trunk/src/Deltares.DamEngine.Data.Tests/Geotechnics/GeometryHelperTests.cs (.../GeometryHelperTests.cs) (revision 4874) @@ -23,6 +23,7 @@ using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.TestHelpers.Factories; +using Deltares.DamEngine.TestHelpers.Geometry; using NUnit.Framework; namespace Deltares.DamEngine.Data.Tests.Geotechnics; @@ -46,9 +47,17 @@ // When GeometryHelper.ExtendGeometryLeft(soilProfile2D.Geometry, -2); + // For debugging purposes + // GeometryExporter.ExportToFile(soilProfile2D.Geometry, visualizationFolder + "Geometry.txt"); + // GeometryExporter.ExportToJsonFile(soilProfile2D.Geometry, visualizationFolder + "Geometry.json"); // Then + var geometryBounds = soilProfile2D.Geometry.GetGeometryBounds(); + Assert.That(geometryBounds.Left, Is.EqualTo(-2).Within(cTolerance)); Assert.That(soilProfile2D.Geometry.Left, Is.EqualTo(-2).Within(cTolerance)); + // At first there are 3 surfaces, but after extending the right boundary, there are 6 surfaces + Assert.That(soilProfile2D.Geometry.Surfaces.Count, Is.EqualTo(6)); + // TOOD: MWDAM-2132 still 3 loose lines } [Test] @@ -62,20 +71,25 @@ } [Test] - public void GivenTwoLayerGeometryWhenExtendingRightThenLeftBoundaryIsChanged() + public void GivenTwoLayerGeometryWhenExtendingRightThenRightBoundaryIsChanged() { // Given SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DWithTwoLayers(); // When - GeometryHelper.ExtendGeometryRight(soilProfile2D.Geometry, 8); + GeometryHelper.ExtendGeometryRight(soilProfile2D.Geometry, 12); + // For debugging purposes + // GeometryExporter.ExportToFile(soilProfile2D.Geometry, visualizationFolder + "Geometry.txt"); + // GeometryExporter.ExportToJsonFile(soilProfile2D.Geometry, visualizationFolder + "Geometry.json"); // Then Assert.That(soilProfile2D.Geometry.Right, Is.EqualTo(12).Within(cTolerance)); + // At first there are 3 surfaces, but after extending the right boundary, there are 6 surfaces + Assert.That(soilProfile2D.Geometry.Surfaces.Count, Is.EqualTo(6)); } [Test] - public void GivenTwoLayerGeometryWhenExtendingRightToTheLeftThenExpceptionIsThrown() + public void GivenTwoLayerGeometryWhenExtendingRightToTheLeftThenExceptionIsThrown() { // Given SoilProfile2D soilProfile2D = FactoryForSoilProfiles.CreateSoilProfile2DWithTwoLayers(); Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryHelper.cs =================================================================== diff -u -r4873 -r4874 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryHelper.cs (.../GeometryHelper.cs) (revision 4873) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryHelper.cs (.../GeometryHelper.cs) (revision 4874) @@ -66,6 +66,7 @@ } } + geometry.RegenerateGeometry(); geometry.Rebox(); geometry.Left = toX; } @@ -109,6 +110,7 @@ } } + geometry.RegenerateGeometry(); geometry.Rebox(); geometry.Right = toX; }