Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineHeightAdapterTest.cs
===================================================================
diff -u -r3893 -r4000
--- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineHeightAdapterTest.cs (.../SurfaceLineHeightAdapterTest.cs) (revision 3893)
+++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/DikesDesign/SurfaceLineHeightAdapterTest.cs (.../SurfaceLineHeightAdapterTest.cs) (revision 4000)
@@ -51,7 +51,7 @@
surfaceLine.EnsurePointOfType(3, 0, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var constructNewSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(1);
+ SurfaceLine2 constructNewSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(1);
Assert.IsNotNull(constructNewSurfaceLine);
}
@@ -68,10 +68,26 @@
};
var location = new Location();
const double newDikeHeight = 6.0;
- var pointAtToeRiver = new GeometryPoint { X = 17, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 34.5, Z = 5 };
- var pointAtTopPolder = new GeometryPoint { X = 35, Z = 5 };
- var pointAtToePolder = new GeometryPoint { X = 36, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 17,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 34.5,
+ Z = 5
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 35,
+ Z = 5
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 36,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
@@ -80,9 +96,9 @@
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
{
- var newPointAtToeRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver);
+ GeometryPoint newPointAtToeRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtRiver);
Assert.IsTrue(newPointAtToeRiver.LocationEquals(pointAtToeRiver));
Assert.IsTrue(newSurfaceLine.Geometry.Points.Any(p => p.LocationEquals(pointAtToeRiver)));
}
@@ -99,21 +115,37 @@
},
Geometry = new GeometryPointString()
};
- var surfaceLine = line;
+ SurfaceLine2 surfaceLine = line;
var location = new Location();
const double cToleranceSlope = 0.0001;
const double newDikeHeight = 6.0;
- var pointAtToeRiver = new GeometryPoint { X = 17, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 34.5, Z = 5 };
- var pointAtTopPolder = new GeometryPoint { X = 35, Z = 5 };
- var pointAtToePolder = new GeometryPoint { X = 36, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 17,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 34.5,
+ Z = 5
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 35,
+ Z = 5
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 36,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
double oldSlope = TanSlopeInside(surfaceLine);
double newSlope = TanSlopeInside(newSurfaceLine);
Assert.AreEqual(oldSlope, newSlope, cToleranceSlope);
@@ -132,19 +164,39 @@
};
var location = new Location();
const double newDikeHeight = 2.0;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 1, Z = 1 };
- var pointAtTopPolder = new GeometryPoint { X = 2, Z = 1 };
- var pointAtToePolder = new GeometryPoint { X = 3, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 1
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 1
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
- var expectedPoint = new GeometryPoint { X = 2, Z = 2 };
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ GeometryPoint actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ var expectedPoint = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
Assert.IsTrue(expectedPoint.LocationEquals(actualPoint));
}
@@ -161,17 +213,33 @@
};
var location = new Location();
const double newDikeHeight = 2.0;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 1, Z = 1 };
- var pointAtTopPolder = new GeometryPoint { X = 2, Z = 1 };
- var pointAtToePolder = new GeometryPoint { X = 3, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 1
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 1
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
Assert.IsFalse(newSurfaceLine.Geometry.Points.Any(p => p.LocationEquals(pointAtTopRiver)));
}
@@ -186,22 +254,42 @@
},
Geometry = new GeometryPointString()
};
- var surfaceLine = line;
+ SurfaceLine2 surfaceLine = line;
var location = new Location();
const double newDikeHeight = 2.0;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 1, Z = 1 };
- var pointAtTopPolder = new GeometryPoint { X = 2, Z = 1 };
- var pointAtToePolder = new GeometryPoint { X = 3, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 1
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 1
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
- var expectedPoint = new GeometryPoint { X = 3, Z = 2 };
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ GeometryPoint actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedPoint = new GeometryPoint
+ {
+ X = 3,
+ Z = 2
+ };
Assert.IsTrue(expectedPoint.LocationEquals(actualPoint));
}
@@ -218,17 +306,33 @@
};
var location = new Location();
const double newDikeHeight = 2.0;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 1, Z = 1 };
- var pointAtTopPolder = new GeometryPoint { X = 2, Z = 1 };
- var pointAtToePolder = new GeometryPoint { X = 3, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 1
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 1
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
Assert.IsFalse(newSurfaceLine.Geometry.Points.Any(p => p.LocationEquals(pointAtTopPolder)));
}
@@ -245,19 +349,38 @@
};
var location = new Location();
const double newDikeHeight = 2.0;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 2, Z = 1 };
- var pointAtTopPolder = new GeometryPoint { X = 3, Z = 1 };
- var pointAtToePolder = new GeometryPoint { X = 7, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 1
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 1
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 7,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
- var expectedPoint = new GeometryPoint { X = 13 };
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ GeometryPoint actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedPoint = new GeometryPoint
+ {
+ X = 13
+ };
Assert.IsTrue(expectedPoint.LocationEquals(actualPoint));
double oldSlope = TanSlopeInside(surfaceLine);
double newSlope = TanSlopeInside(newSurfaceLine);
@@ -285,9 +408,13 @@
surfaceLine.EnsurePointOfType(5, 0, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedPoint = new GeometryPoint() { X = 7, Z = 0 }; //
- var actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedPoint = new GeometryPoint
+ {
+ X = 7,
+ Z = 0
+ }; //
+ GeometryPoint actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedPoint.LocationEquals(actualPoint));
}
@@ -304,13 +431,41 @@
};
var location = new Location();
const double newDikeHeight = 3.0;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 1, Z = 1 };
- var pointAtTopPolder = new GeometryPoint { X = 2, Z = 1 };
- var pointAtShoulderInsteek = new GeometryPoint { X = 3, Z = 0.5 };
- var pointAtShoulderTop = new GeometryPoint { X = 4, Z = 0.5 };
- var pointAtToePolder = new GeometryPoint { X = 5, Z = 0 };
- var pointAtSurfaceLevelInside = new GeometryPoint { X = 100, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 1
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 1
+ };
+ var pointAtShoulderInsteek = new GeometryPoint
+ {
+ X = 3,
+ Z = 0.5
+ };
+ var pointAtShoulderTop = new GeometryPoint
+ {
+ X = 4,
+ Z = 0.5
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 5,
+ Z = 0
+ };
+ var pointAtSurfaceLevelInside = new GeometryPoint
+ {
+ X = 100,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
@@ -319,12 +474,12 @@
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(pointAtSurfaceLevelInside.X, pointAtSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
Assert.IsNull(newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderTopInside));
Assert.IsNull(newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside));
Assert.IsFalse(newSurfaceLine.Geometry.Points.Any(p => p.LocationEquals(pointAtShoulderInsteek)));
Assert.IsFalse(newSurfaceLine.Geometry.Points.Any(p => p.LocationEquals(pointAtShoulderTop)));
- var newPointAtToePolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ GeometryPoint newPointAtToePolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.AreEqual(3, newSurfaceLine.GetPointSegmentIncluding(pointAtTopRiver.X, newPointAtToePolder.X).Count());
Assert.AreEqual(5, newSurfaceLine.Geometry.Points.Count);
}
@@ -342,13 +497,41 @@
};
var location = new Location();
const double newDikeHeight = 1.5;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 1, Z = 1 };
- var pointAtTopPolder = new GeometryPoint { X = 2, Z = 1 };
- var pointAtShoulderInsteek = new GeometryPoint { X = 3, Z = 0.5 };
- var pointAtShoulderTop = new GeometryPoint { X = 5, Z = 0.5 };
- var pointAtToePolder = new GeometryPoint { X = 6, Z = 0 };
- var pointAtSurfaceLevelInside = new GeometryPoint { X = 100, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 1
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 1
+ };
+ var pointAtShoulderInsteek = new GeometryPoint
+ {
+ X = 3,
+ Z = 0.5
+ };
+ var pointAtShoulderTop = new GeometryPoint
+ {
+ X = 5,
+ Z = 0.5
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 6,
+ Z = 0
+ };
+ var pointAtSurfaceLevelInside = new GeometryPoint
+ {
+ X = 100,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
@@ -357,7 +540,7 @@
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(pointAtSurfaceLevelInside.X, pointAtSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
Assert.IsTrue(pointAtToePolder.LocationEquals(newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder)));
}
@@ -374,13 +557,41 @@
};
var location = new Location();
const double newDikeHeight = 3.0;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 1, Z = 2 };
- var pointAtTopPolder = new GeometryPoint { X = 2, Z = 2 };
- var pointAtShoulderInsteek = new GeometryPoint { X = 3, Z = 1 };
- var pointAtShoulderTop = new GeometryPoint { X = 5, Z = 1 };
- var pointAtToePolder = new GeometryPoint { X = 6, Z = 2 };
- var pointAtSurfaceLevelInside = new GeometryPoint { X = 100, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 2
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ var pointAtShoulderInsteek = new GeometryPoint
+ {
+ X = 3,
+ Z = 1
+ };
+ var pointAtShoulderTop = new GeometryPoint
+ {
+ X = 5,
+ Z = 1
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 6,
+ Z = 2
+ };
+ var pointAtSurfaceLevelInside = new GeometryPoint
+ {
+ X = 100,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
@@ -389,7 +600,7 @@
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(pointAtSurfaceLevelInside.X, pointAtSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
Assert.IsTrue(pointAtShoulderTop.LocationEquals(newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderTopInside)));
}
@@ -406,13 +617,41 @@
};
var location = new Location();
const double newDikeHeight = 3.0;
- var pointAtToeRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointAtTopRiver = new GeometryPoint { X = 1, Z = 2 };
- var pointAtTopPolder = new GeometryPoint { X = 2, Z = 2 };
- var pointAtShoulderInsteek = new GeometryPoint { X = 3, Z = 1 };
- var pointAtShoulderTop = new GeometryPoint { X = 5, Z = 1 };
- var pointAtToePolder = new GeometryPoint { X = 6, Z = 0 };
- var pointAtSurfaceLevelInside = new GeometryPoint { X = 100, Z = 0 };
+ var pointAtToeRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointAtTopRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 2
+ };
+ var pointAtTopPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ var pointAtShoulderInsteek = new GeometryPoint
+ {
+ X = 3,
+ Z = 1
+ };
+ var pointAtShoulderTop = new GeometryPoint
+ {
+ X = 5,
+ Z = 1
+ };
+ var pointAtToePolder = new GeometryPoint
+ {
+ X = 6,
+ Z = 0
+ };
+ var pointAtSurfaceLevelInside = new GeometryPoint
+ {
+ X = 100,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointAtToeRiver.X, pointAtToeRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopRiver.X, pointAtTopRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointAtTopPolder.X, pointAtTopPolder.Z, CharacteristicPointType.DikeTopAtPolder);
@@ -421,25 +660,30 @@
surfaceLine.EnsurePointOfType(pointAtToePolder.X, pointAtToePolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(pointAtSurfaceLevelInside.X, pointAtSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedPoint = new GeometryPoint { X = 4.5, Z = 1 };
- var actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedPoint = new GeometryPoint
+ {
+ X = 4.5,
+ Z = 1
+ };
+ GeometryPoint actualPoint = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
Assert.IsTrue(expectedPoint.LocationEquals(actualPoint));
}
[Test]
public void AdaptedSurfaceLineWithSoulderAndDitchShouldNotCreateInvalidSurfaceLine()
{
- var surfaceLine = FactoryForSurfaceLines.CreateRealisticSurfaceLineForHeightAdapter();
+ SurfaceLine2 surfaceLine = FactoryForSurfaceLines.CreateRealisticSurfaceLineForHeightAdapter();
var location = new Location();
const double newDikeHeight = 19.2;
- var validationError = surfaceLine.Validate().FirstOrDefault(vr => vr.MessageType == ValidationResultType.Error);
+ ValidationResult validationError = surfaceLine.Validate().FirstOrDefault(vr => vr.MessageType == ValidationResultType.Error);
if (validationError != null)
{
throw new SurfaceLineException(validationError.Text);
}
+
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
validationError = newSurfaceLine.Validate().FirstOrDefault(vr => vr.MessageType == ValidationResultType.Error);
if (validationError != null)
{
@@ -453,12 +697,12 @@
[Test]
public void AdaptedSurfaceLineWithTrafficLoadPointsShouldAdjustThosePoints1()
{
- var surfaceLine = FactoryForSurfaceLines.CreateRealisticSurfaceLineForHeightAdapter();
+ SurfaceLine2 surfaceLine = FactoryForSurfaceLines.CreateRealisticSurfaceLineForHeightAdapter();
var location = new Location();
const double cTolerance = 0.0000001;
const double newDikeHeight = 19.2;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
Assert.AreEqual(newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder).Z, newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.TrafficLoadOutside).Z, cTolerance);
Assert.AreEqual(newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder).Z, newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.TrafficLoadInside).Z, cTolerance);
}
@@ -479,12 +723,36 @@
};
var location = new Location();
const double newDikeHeight = 1.2;
- var pointDikeToeAtRiver = new GeometryPoint { X = 0, Z = 0 };
- var pointDikeTopAtRiver = new GeometryPoint { X = 1, Z = 1 };
- var pointTrafficLoadOutside = new GeometryPoint { X = 1.1, Z = 1 };
- var pointTrafficLoadInside = new GeometryPoint { X = 1.9, Z = 1 };
- var pointDikeTopAtPolder = new GeometryPoint { X = 2, Z = 1 };
- var pointDikeToeAtPolder = new GeometryPoint { X = 3, Z = 0 };
+ var pointDikeToeAtRiver = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointDikeTopAtRiver = new GeometryPoint
+ {
+ X = 1,
+ Z = 1
+ };
+ var pointTrafficLoadOutside = new GeometryPoint
+ {
+ X = 1.1,
+ Z = 1
+ };
+ var pointTrafficLoadInside = new GeometryPoint
+ {
+ X = 1.9,
+ Z = 1
+ };
+ var pointDikeTopAtPolder = new GeometryPoint
+ {
+ X = 2,
+ Z = 1
+ };
+ var pointDikeToeAtPolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 0
+ };
surfaceLine.EnsurePointOfType(pointDikeToeAtRiver.X, pointDikeToeAtRiver.Z, CharacteristicPointType.DikeToeAtRiver);
surfaceLine.EnsurePointOfType(pointDikeTopAtRiver.X, pointDikeTopAtRiver.Z, CharacteristicPointType.DikeTopAtRiver);
surfaceLine.EnsurePointOfType(pointTrafficLoadOutside.X, pointTrafficLoadOutside.Z, CharacteristicPointType.TrafficLoadOutside);
@@ -493,48 +761,12 @@
surfaceLine.EnsurePointOfType(pointDikeToeAtPolder.X, pointDikeToeAtPolder.Z, CharacteristicPointType.DikeToeAtPolder);
surfaceLine.EnsurePointOfType(100, 0, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
Assert.AreEqual(newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder).Z, newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.TrafficLoadOutside).Z);
Assert.AreEqual(newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder).Z, newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.TrafficLoadInside).Z);
}
///
- /// Create dike with skewed dike table and points between characteristic points
- ///
- ///
- private SurfaceLine2 CreateSurfaceLineWithSkwewedDikeTableAndInBetweenPoints()
- {
- var surfaceLine = new SurfaceLine2
- {
- CharacteristicPoints = { GeometryMustContainPoint = true },
- Geometry = new GeometryPointString()
- };
- var point1 = new GeometryPoint { X = 0, Z = 0 };
- var pointDikeToeAtRiver = new GeometryPoint { X = 2, Z = 0 };
- var point2 = new GeometryPoint { X = 4, Z = 1 };
- var pointDikeTopAtRiver = new GeometryPoint { X = 6, Z = 3 };
- var point3 = new GeometryPoint { X = 7, Z = 3 };
- var pointDikeTopAtPolder = new GeometryPoint { X = 8, Z = 3.5 };
- var point4 = new GeometryPoint { X = 10, Z = 1.5 };
- var pointDikeToeAtPolder = new GeometryPoint { X = 12, Z = 0.5 };
- var point5 = new GeometryPoint { X = 13, Z = 0 };
- var pointSurfaceLevelInside = new GeometryPoint { X = 100, Z = 0 };
-
- surfaceLine.EnsurePointOfType(pointDikeToeAtRiver.X, pointDikeToeAtRiver.Z, CharacteristicPointType.DikeToeAtRiver);
- surfaceLine.EnsurePointOfType(pointDikeTopAtRiver.X, pointDikeTopAtRiver.Z, CharacteristicPointType.DikeTopAtRiver);
- surfaceLine.EnsurePointOfType(pointDikeTopAtPolder.X, pointDikeTopAtPolder.Z, CharacteristicPointType.DikeTopAtPolder);
- surfaceLine.EnsurePointOfType(pointDikeToeAtPolder.X, pointDikeToeAtPolder.Z, CharacteristicPointType.DikeToeAtPolder);
- surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside);
- surfaceLine.EnsurePoint(point1.X, point1.Z);
- surfaceLine.EnsurePoint(point2.X, point2.Z);
- surfaceLine.EnsurePoint(point3.X, point3.Z);
- surfaceLine.EnsurePoint(point4.X, point4.Z);
- surfaceLine.EnsurePoint(point5.X, point5.Z);
- surfaceLine.SortPoints();
- return surfaceLine;
- }
-
- ///
/// Test if dike with skewed dike table and points between characteristic points is constructed correctly with new height
///
[Test]
@@ -546,7 +778,7 @@
const double newDikeHeight = 4.0;
Assert.AreEqual(10, surfaceLine.Geometry.Points.Count);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
Assert.AreEqual(6, newSurfaceLine.Geometry.Points.Count);
Assert.AreEqual(7.3333, newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).X, cTolerance);
Assert.AreEqual(4.0000, newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver).Z, cTolerance);
@@ -581,15 +813,27 @@
location.UseNewDikeTopWidth = true;
location.NewDikeTopWidth = 1;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 2, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 3, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedShoulderBaseInside = new GeometryPoint() { X = 5, Z = 0 };
- var actualShoulderBaseInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
+ var expectedShoulderBaseInside = new GeometryPoint
+ {
+ X = 5,
+ Z = 0
+ };
+ GeometryPoint actualShoulderBaseInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
Assert.IsTrue(expectedShoulderBaseInside.LocationEquals(actualShoulderBaseInside));
Assert.AreEqual(9, newSurfaceLine.Geometry.Points.Count);
}
@@ -617,18 +861,34 @@
location.UseNewDikeTopWidth = true;
location.NewDikeTopWidth = 0.8;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 2, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 2.8, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 2.8,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedNewPoint = new GeometryPoint() { X = 3.8, Z = 1 };
- var actualNewPoint = newSurfaceLine.Geometry.Points[4];
+ var expectedNewPoint = new GeometryPoint
+ {
+ X = 3.8,
+ Z = 1
+ };
+ GeometryPoint actualNewPoint = newSurfaceLine.Geometry.Points[4];
Assert.IsTrue(expectedNewPoint.LocationEquals(actualNewPoint));
- var expectedShoulderBaseInside = new GeometryPoint() { X = 5, Z = 0 };
- var actualShoulderBaseInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
+ var expectedShoulderBaseInside = new GeometryPoint
+ {
+ X = 5,
+ Z = 0
+ };
+ GeometryPoint actualShoulderBaseInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
Assert.IsTrue(expectedShoulderBaseInside.LocationEquals(actualShoulderBaseInside));
Assert.AreEqual(10, newSurfaceLine.Geometry.Points.Count);
}
@@ -656,15 +916,27 @@
location.UseNewDikeTopWidth = true;
location.NewDikeTopWidth = 3;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 2, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 5, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 5,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedToeInside = new GeometryPoint() { X = 8, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 8,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(5, newSurfaceLine.Geometry.Points.Count);
}
@@ -692,15 +964,27 @@
location.UseNewDikeTopWidth = true;
location.NewDikeTopWidth = 2;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 2, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 4, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 4,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedToeInside = new GeometryPoint() { X = 7, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 7,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(6, newSurfaceLine.Geometry.Points.Count);
}
@@ -728,21 +1012,41 @@
location.UseNewDikeTopWidth = true;
location.NewDikeTopWidth = 1.5;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 2, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 3.5, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 3.5,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedShoulderBaseInside = new GeometryPoint() { X = 5.5, Z = 0 };
- var actualShoulderBaseInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
+ var expectedShoulderBaseInside = new GeometryPoint
+ {
+ X = 5.5,
+ Z = 0
+ };
+ GeometryPoint actualShoulderBaseInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
Assert.IsTrue(expectedShoulderBaseInside.LocationEquals(actualShoulderBaseInside));
- var expectedShoulderTopInside = new GeometryPoint() { X = 6, Z = 0 };
- var actualShoulderTopInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderTopInside);
+ var expectedShoulderTopInside = new GeometryPoint
+ {
+ X = 6,
+ Z = 0
+ };
+ GeometryPoint actualShoulderTopInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderTopInside);
Assert.IsTrue(expectedShoulderTopInside.LocationEquals(actualShoulderTopInside));
- var expectedToeInside = new GeometryPoint() { X = 7, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 7,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(7, newSurfaceLine.Geometry.Points.Count);
}
@@ -770,15 +1074,27 @@
location.UseNewDikeSlopeInside = true;
location.NewDikeSlopeInside = 0.5;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 2, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 5, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 5,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedToeInside = new GeometryPoint() { X = 11, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 11,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(5, newSurfaceLine.Geometry.Points.Count);
}
@@ -806,18 +1122,34 @@
location.UseNewDikeSlopeInside = true;
location.NewDikeSlopeInside = 2;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 2, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 5, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 5,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedPoint = new GeometryPoint() { X = 6, Z = 0 };
- var actualPoint = newSurfaceLine.Geometry.Points[3];
+ var expectedPoint = new GeometryPoint
+ {
+ X = 6,
+ Z = 0
+ };
+ GeometryPoint actualPoint = newSurfaceLine.Geometry.Points[3];
Assert.IsTrue(expectedPoint.LocationEquals(actualPoint));
- var expectedToeInside = new GeometryPoint() { X = 7, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 7,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(6, newSurfaceLine.Geometry.Points.Count);
}
@@ -845,15 +1177,27 @@
location.UseNewDikeSlopeOutside = true;
location.NewDikeSlopeOutside = 2;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 1.5, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 1.5,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 4.5, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 4.5,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedToeInside = new GeometryPoint() { X = 7.5, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 7.5,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(6, newSurfaceLine.Geometry.Points.Count);
}
@@ -881,15 +1225,27 @@
location.UseNewDikeSlopeOutside = true;
location.NewDikeSlopeOutside = 0.5;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 3, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 3,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 6, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 6,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedToeInside = new GeometryPoint() { X = 9, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 9,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(6, newSurfaceLine.Geometry.Points.Count);
}
@@ -921,24 +1277,48 @@
location.UseNewDikeTopWidth = true;
location.NewDikeTopWidth = 1.5;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 1.5, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 1.5,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 3, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedPoint = new GeometryPoint() { X = 3.5, Z = 1 };
- var actualPoint = newSurfaceLine.Geometry.Points[4];
+ var expectedPoint = new GeometryPoint
+ {
+ X = 3.5,
+ Z = 1
+ };
+ GeometryPoint actualPoint = newSurfaceLine.Geometry.Points[4];
Assert.IsTrue(expectedPoint.LocationEquals(actualPoint));
- var expectedPoint2 = new GeometryPoint() { X = 4, Z = 1 };
- var actualPoint2 = newSurfaceLine.Geometry.Points[5];
+ var expectedPoint2 = new GeometryPoint
+ {
+ X = 4,
+ Z = 1
+ };
+ GeometryPoint actualPoint2 = newSurfaceLine.Geometry.Points[5];
Assert.IsTrue(expectedPoint2.LocationEquals(actualPoint2));
- var expectedShoulderBaseInside = new GeometryPoint() { X = 5, Z = 0 };
- var actualShoulderBaseInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
+ var expectedShoulderBaseInside = new GeometryPoint
+ {
+ X = 5,
+ Z = 0
+ };
+ GeometryPoint actualShoulderBaseInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.ShoulderBaseInside);
Assert.IsTrue(expectedShoulderBaseInside.LocationEquals(actualShoulderBaseInside));
- var expectedToeInside = new GeometryPoint() { X = 7, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 7,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(10, newSurfaceLine.Geometry.Points.Count);
}
@@ -970,32 +1350,127 @@
location.UseNewDikeTopWidth = true;
location.NewDikeTopWidth = 1.5;
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
- var newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
- var expectedNewTopRiver = new GeometryPoint() { X = 1.5, Z = 2 };
- var actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
+ SurfaceLine2 newSurfaceLine = surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight);
+ var expectedNewTopRiver = new GeometryPoint
+ {
+ X = 1.5,
+ Z = 2
+ };
+ GeometryPoint actualNewTopRiver = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtRiver);
Assert.IsTrue(expectedNewTopRiver.LocationEquals(actualNewTopRiver));
- var expectedNewTopPolder = new GeometryPoint() { X = 3, Z = 2 };
- var actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
+ var expectedNewTopPolder = new GeometryPoint
+ {
+ X = 3,
+ Z = 2
+ };
+ GeometryPoint actualNewTopPolder = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder);
Assert.IsTrue(expectedNewTopPolder.LocationEquals(actualNewTopPolder));
- var expectedToeInside = new GeometryPoint() { X = 9, Z = -1 };
- var actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
+ var expectedToeInside = new GeometryPoint
+ {
+ X = 9,
+ Z = -1
+ };
+ GeometryPoint actualToeInside = newSurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeToeAtPolder);
Assert.IsTrue(expectedToeInside.LocationEquals(actualToeInside));
Assert.AreEqual(6, newSurfaceLine.Geometry.Points.Count);
}
[Test]
public void HeightAdaptionThrowsExceptionIfSurfaceLineIsNotLongEnough()
{
- var surfaceLine = FactoryForSurfaceLines.CreateRealisticSurfaceLineForHeightAdapter();
+ SurfaceLine2 surfaceLine = FactoryForSurfaceLines.CreateRealisticSurfaceLineForHeightAdapter();
var location = new Location();
const double newDikeHeight = 19.0;
- var pointSurfaceLevelInside = new GeometryPoint { X = 40, Z = 12 }; // Set surfacelevelinside just beside ditch to force exception
+ var pointSurfaceLevelInside = new GeometryPoint
+ {
+ X = 40,
+ Z = 12
+ }; // Set surfacelevelinside just beside ditch to force exception
surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside);
var surfaceLineAdapter = new SurfaceLineHeightAdapter(surfaceLine, location, 0);
Assert.That(() => surfaceLineAdapter.ConstructNewSurfaceLine(newDikeHeight), Throws.InstanceOf());
}
///
+ /// Create dike with skewed dike table and points between characteristic points
+ ///
+ ///
+ private SurfaceLine2 CreateSurfaceLineWithSkwewedDikeTableAndInBetweenPoints()
+ {
+ var surfaceLine = new SurfaceLine2
+ {
+ CharacteristicPoints =
+ {
+ GeometryMustContainPoint = true
+ },
+ Geometry = new GeometryPointString()
+ };
+ var point1 = new GeometryPoint
+ {
+ X = 0,
+ Z = 0
+ };
+ var pointDikeToeAtRiver = new GeometryPoint
+ {
+ X = 2,
+ Z = 0
+ };
+ var point2 = new GeometryPoint
+ {
+ X = 4,
+ Z = 1
+ };
+ var pointDikeTopAtRiver = new GeometryPoint
+ {
+ X = 6,
+ Z = 3
+ };
+ var point3 = new GeometryPoint
+ {
+ X = 7,
+ Z = 3
+ };
+ var pointDikeTopAtPolder = new GeometryPoint
+ {
+ X = 8,
+ Z = 3.5
+ };
+ var point4 = new GeometryPoint
+ {
+ X = 10,
+ Z = 1.5
+ };
+ var pointDikeToeAtPolder = new GeometryPoint
+ {
+ X = 12,
+ Z = 0.5
+ };
+ var point5 = new GeometryPoint
+ {
+ X = 13,
+ Z = 0
+ };
+ var pointSurfaceLevelInside = new GeometryPoint
+ {
+ X = 100,
+ Z = 0
+ };
+
+ surfaceLine.EnsurePointOfType(pointDikeToeAtRiver.X, pointDikeToeAtRiver.Z, CharacteristicPointType.DikeToeAtRiver);
+ surfaceLine.EnsurePointOfType(pointDikeTopAtRiver.X, pointDikeTopAtRiver.Z, CharacteristicPointType.DikeTopAtRiver);
+ surfaceLine.EnsurePointOfType(pointDikeTopAtPolder.X, pointDikeTopAtPolder.Z, CharacteristicPointType.DikeTopAtPolder);
+ surfaceLine.EnsurePointOfType(pointDikeToeAtPolder.X, pointDikeToeAtPolder.Z, CharacteristicPointType.DikeToeAtPolder);
+ surfaceLine.EnsurePointOfType(pointSurfaceLevelInside.X, pointSurfaceLevelInside.Z, CharacteristicPointType.SurfaceLevelInside);
+ surfaceLine.EnsurePoint(point1.X, point1.Z);
+ surfaceLine.EnsurePoint(point2.X, point2.Z);
+ surfaceLine.EnsurePoint(point3.X, point3.Z);
+ surfaceLine.EnsurePoint(point4.X, point4.Z);
+ surfaceLine.EnsurePoint(point5.X, point5.Z);
+ surfaceLine.SortPoints();
+ return surfaceLine;
+ }
+
+ ///
/// Determines the tan slope inside.
///
/// tan slope inside
@@ -1006,6 +1481,5 @@
return (dikeTopAtPolder.Z - dikeToeInward.Z) /
(dikeToeInward.X - dikeTopAtPolder.X);
}
-
}
-}
+}
\ No newline at end of file