Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryGenerator.cs
===================================================================
diff -u -r7042 -r7077
--- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryGenerator.cs (.../GeometryGenerator.cs) (revision 7042)
+++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/GeometryGenerator.cs (.../GeometryGenerator.cs) (revision 7077)
@@ -1,4 +1,4 @@
-// Copyright (C) Stichting Deltares 2025. All rights reserved.
+// Copyright (C) Stichting Deltares 2026. All rights reserved.
//
// This file is part of the Dam Engine.
//
@@ -75,12 +75,12 @@
///
public void RemoveIsUsedCurve(GeometryCurve aCurve)
{
- if ((geometryCurveForwardsIsUsed.ContainsKey(aCurve)))
+ if (geometryCurveForwardsIsUsed.ContainsKey(aCurve))
{
geometryCurveForwardsIsUsed.Remove(aCurve);
}
- if ((geometryCurveReversedIsUsed.ContainsKey(aCurve)))
+ if (geometryCurveReversedIsUsed.ContainsKey(aCurve))
{
geometryCurveReversedIsUsed.Remove(aCurve);
}
@@ -110,7 +110,7 @@
bool isKeyPresent = geometryCurveForwardsIsUsed.ContainsKey(curve);
if (direction == CurveDirection.Forward)
{
- if (!isKeyPresent)
+ if (!isKeyPresent)
{
geometryCurveForwardsIsUsed.Add(curve, isUsed);
}
@@ -571,7 +571,7 @@
GeometryCurve loopBeginCurve = geometryData.Curves[curveIndex];
CurveDirection loopBeginDirection = currentCurveDirection;
- ProcessCurvesForLoopCompletion(currentCurve, currentCurveDirection, newLoop, attachedCurveList, curvesCount,
+ ProcessCurvesForLoopCompletion(currentCurve, currentCurveDirection, newLoop, attachedCurveList, curvesCount,
loopBeginCurve, loopBeginDirection);
}
@@ -668,7 +668,7 @@
{
if (attachedCurveList.Count == 0) // no curves found
{
- throw new ArgumentException("DetectSurfaces: No connected Curve found");
+ throw new ArgumentException("DetectSurfaces: No connected Curve found");
}
}
@@ -706,7 +706,7 @@
return true;
}
- currentCurveDirection = CurveDirection.Forward;
+ currentCurveDirection = CurveDirection.Forward;
}
else
{
@@ -1078,7 +1078,7 @@
innerPointCount = CheckIfNewLoopIsInnerLoopOfGivenLoop(newPointCount, loop, newPolygon, innerPointCount);
// check if existing loop is an inner loop to the new loop, making the newloop an outerloop for that.
- outerPointCount = CheckIfLoopIsInnerLoopOfNewLoop(existingLoopPointCount, newLoop, polygon, outerPointCount,
+ outerPointCount = CheckIfLoopIsInnerLoopOfNewLoop(existingLoopPointCount, newLoop, polygon, outerPointCount,
ref hasOnPointCount);
//Add New Loop as inner loop to the existing Surface
@@ -1088,8 +1088,8 @@
}
//Add Inner Loop to the New Surface
- if ((outerPointCount == existingLoopPointCount) || ((outerPointCount > 0) && (existingLoopPointCount ==
- (outerPointCount + hasOnPointCount))))
+ if ((outerPointCount == existingLoopPointCount) || ((outerPointCount > 0) && (existingLoopPointCount ==
+ outerPointCount + hasOnPointCount)))
{
newSurface.AddInnerLoop(loop);
}
@@ -1110,7 +1110,7 @@
{
for (var innerIndex1 = 0; innerIndex1 < existingLoopPointCount; innerIndex1++)
{
- PointInPolygon location = Routines2D.CheckIfPointIsInPolygon(newLoop, polygon[innerIndex1].X,
+ PointInPolygon location = Routines2D.CheckIfPointIsInPolygon(newLoop, polygon[innerIndex1].X,
polygon[innerIndex1].Z);
if (location == PointInPolygon.InsidePolygon)
@@ -1139,7 +1139,7 @@
{
for (var innerIndex = 0; innerIndex < newPointCount; innerIndex++)
{
- PointInPolygon location = Routines2D.CheckIfPointIsInPolygon(loop, newPolygon[innerIndex].X,
+ PointInPolygon location = Routines2D.CheckIfPointIsInPolygon(loop, newPolygon[innerIndex].X,
newPolygon[innerIndex].Z);
if (location == PointInPolygon.InsidePolygon)
@@ -1170,10 +1170,11 @@
{
foreach (GeometryCurve geometryCurve2 in geometryData.Curves.ToArray())
{
- isCurveInserted = FindAndProcessCurveIntersections(geometryCurve1, geometryCurve2, isCurveInserted,
+ isCurveInserted = FindAndProcessCurveIntersections(geometryCurve1, geometryCurve2, isCurveInserted,
ref hasCurveBeenSplit);
}
}
+
EnsureCorrectGeometry();
}
@@ -1199,27 +1200,27 @@
Point2D geometryCurve2EndPoint = geometryCurve2.EndPoint;
if (!geometryCurve1.LocationEquals(geometryCurve2) &&
!RegenerateParallelCurves(geometryCurve2, geometryCurve1, ref isCurveInserted) &&
- Routines2D.DetermineIf2DLinesIntersectStrickly(geometryCurve1HeadPoint, geometryCurve1EndPoint,
- geometryCurve2HeadPoint, geometryCurve2EndPoint,
+ Routines2D.DetermineIf2DLinesIntersectStrickly(geometryCurve1HeadPoint, geometryCurve1EndPoint,
+ geometryCurve2HeadPoint, geometryCurve2EndPoint,
out Point2D intersectionPoint) == LineIntersection.Intersects)
{
- if (!Routines2D.DetermineIfPointsCoincide(geometryCurve1HeadPoint.X, geometryCurve1HeadPoint.Z, intersectionPoint.X,
+ if (!Routines2D.DetermineIfPointsCoincide(geometryCurve1HeadPoint.X, geometryCurve1HeadPoint.Z, intersectionPoint.X,
intersectionPoint.Z, GeometryConstants.Tolerance)
- && !Routines2D.DetermineIfPointsCoincide(geometryCurve1EndPoint.X, geometryCurve1EndPoint.Z, intersectionPoint.X,
+ && !Routines2D.DetermineIfPointsCoincide(geometryCurve1EndPoint.X, geometryCurve1EndPoint.Z, intersectionPoint.X,
intersectionPoint.Z, GeometryConstants.Tolerance))
{
- Point2D point = geometryData.CreatePointAndAddItToTheProperListsWhenNeeded(new Point2D(intersectionPoint.X,
+ Point2D point = geometryData.CreatePointAndAddItToTheProperListsWhenNeeded(new Point2D(intersectionPoint.X,
intersectionPoint.Z));
SplitCurve(geometryCurve1, point);
hasCurveBeenSplit = true;
}
- if (!Routines2D.DetermineIfPointsCoincide(geometryCurve2HeadPoint.X, geometryCurve2HeadPoint.Z, intersectionPoint.X,
+ if (!Routines2D.DetermineIfPointsCoincide(geometryCurve2HeadPoint.X, geometryCurve2HeadPoint.Z, intersectionPoint.X,
intersectionPoint.Z, GeometryConstants.Tolerance) &&
- !Routines2D.DetermineIfPointsCoincide(geometryCurve2EndPoint.X, geometryCurve2EndPoint.Z, intersectionPoint.X,
+ !Routines2D.DetermineIfPointsCoincide(geometryCurve2EndPoint.X, geometryCurve2EndPoint.Z, intersectionPoint.X,
intersectionPoint.Z, GeometryConstants.Tolerance))
{
- Point2D point = geometryData.CreatePointAndAddItToTheProperListsWhenNeeded(new Point2D(intersectionPoint.X,
+ Point2D point = geometryData.CreatePointAndAddItToTheProperListsWhenNeeded(new Point2D(intersectionPoint.X,
intersectionPoint.Z));
SplitCurve(geometryCurve2, point);
hasCurveBeenSplit = true;
@@ -1246,13 +1247,13 @@
{
for (int index2 = count - 1; index2 >= 0; --index2)
{
- if ((index2 != index1) && (Routines2D.DetermineIfPointsCoincide(
- geometryData.Points[index1].X, geometryData.Points[index1].Z,
- geometryData.Points[index2].X, geometryData.Points[index2].Z, GeometryConstants.Tolerance)))
+ if ((index2 != index1) && Routines2D.DetermineIfPointsCoincide(
+ geometryData.Points[index1].X, geometryData.Points[index1].Z,
+ geometryData.Points[index2].X, geometryData.Points[index2].Z, GeometryConstants.Tolerance))
{
aConnectedAtHeadCurveList.Clear();
aConnectedAtEndCurveList.Clear();
- DetermineConnectedCurves(geometryData.Points[index1], ref aConnectedAtHeadCurveList,
+ DetermineConnectedCurves(geometryData.Points[index1], ref aConnectedAtHeadCurveList,
ref aConnectedAtEndCurveList);
AssignPointToCurves(aConnectedAtHeadCurveList, geometryData.Points[index2], true);
AssignPointToCurves(aConnectedAtEndCurveList, geometryData.Points[index2], false);
@@ -1305,9 +1306,9 @@
if (isPoint1OnLine2 && isPoint2OnLine2 && !isPoint1SameAsPoint3 && !isPoint2SameAsPoint4 &&
!isPoint2SameAsPoint3 && !isPoint1SameAsPoint4)
{
- double distance1 = Routines2D.Compute2DDistance(line2.HeadPoint.X, line2.HeadPoint.Z, line1.HeadPoint.X,
+ double distance1 = Routines2D.Compute2DDistance(line2.HeadPoint.X, line2.HeadPoint.Z, line1.HeadPoint.X,
line1.HeadPoint.Z);
- double distance2 = Routines2D.Compute2DDistance(line2.HeadPoint.X, line2.HeadPoint.Z, line1.EndPoint.X,
+ double distance2 = Routines2D.Compute2DDistance(line2.HeadPoint.X, line2.HeadPoint.Z, line1.EndPoint.X,
line1.EndPoint.Z);
GeometryCurve newLine;
@@ -1632,7 +1633,7 @@
///
private void DeleteInvalidAndDuplicateCurves()
{
- List curvesToDelete = geometryData.Curves.Where((Func)
+ List curvesToDelete = geometryData.Curves.Where((Func)
(curve => curve.HeadPoint == curve.EndPoint)).ToList();
foreach (GeometryCurve aCurve in curvesToDelete)
{