Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/Routines2D.cs
===================================================================
diff -u -r4540 -r4897
--- DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/Routines2D.cs (.../Routines2D.cs) (revision 4540)
+++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geometry/Routines2D.cs (.../Routines2D.cs) (revision 4897)
@@ -82,9 +82,9 @@
///
/// Static class Routines2D
///
-public class Routines2D
+public static class Routines2D
{
- private const double CEpsilon = 1.0e-4;
+ private const double tolerance = 1.0e-4;
///
/// Checks if the 2D Lines strictly intersect. Strictly means that the intersection point must be part of both lines so
@@ -101,11 +101,11 @@
///
/// For connected parallel lines, the connection point will be returned as valid intersection point.
///
- public LineIntersection DetermineIf2DLinesIntersectStrickly(Point2D point1, Point2D point2, Point2D point3,
- Point2D point4, out Point2D intersectionPoint)
+ public static LineIntersection DetermineIf2DLinesIntersectStrickly(Point2D point1, Point2D point2, Point2D point3,
+ Point2D point4, out Point2D intersectionPoint)
{
return DetermineIf2DLinesIntersectStrickly(point1, point2, point3, point4,
- out intersectionPoint, CEpsilon);
+ out intersectionPoint, tolerance);
}
///
@@ -116,7 +116,7 @@
/// The point.
/// The tolerance.
///
- public bool DoesPointExistInLine(Point2D linePoint1, Point2D linePoint2, Point2D point, double tolerance)
+ public static bool DoesPointExistInLine(Point2D linePoint1, Point2D linePoint2, Point2D point, double tolerance)
{
// Function to find if lies on or close to a line (within a given tolerance)
// Input - a line defined by lTwo points, a third point to test and tolerance aValue
@@ -168,7 +168,7 @@
///
///
///
- public Clockwise IsClockWise(IEnumerable aPolygon)
+ public static Clockwise IsClockWise(IEnumerable aPolygon)
{
Point2D[] distinctPoints = aPolygon.Distinct().ToArray();
if (distinctPoints.Length < 3)
@@ -227,7 +227,7 @@
/// The x.
/// The z.
///
- public PointInPolygon CheckIfPointIsInPolygon(GeometryLoop polygon, double x, double z)
+ public static PointInPolygon CheckIfPointIsInPolygon(GeometryLoop polygon, double x, double z)
{
// This is done by calculating and adding the angles from the point to all points
// of the polygon (using the ArcTan2 function). If the sum of these angles is
@@ -331,7 +331,7 @@
///
///
///
- public List IntersectCircleline(double aX, double aY, double aR, double aX1, double aX2, double aY1, double aY2)
+ public static List IntersectCircleline(double aX, double aY, double aR, double aX1, double aX2, double aY1, double aY2)
{
// Solve by filling in parametric equation of line :
// X = x1 + u*(x2 - x1)
@@ -413,8 +413,8 @@
///
///
///
- public double FindAngle(Point2D line1Point1, Point2D line1Point2, Point2D line2Point1,
- Point2D line2Point2)
+ public static double FindAngle(Point2D line1Point1, Point2D line1Point2, Point2D line2Point1,
+ Point2D line2Point2)
{
double x1 = line1Point2.X - line1Point1.X;
double z1 = line1Point2.Z - line1Point1.Z;
@@ -442,7 +442,7 @@
///
///
///
- public bool AreEqual(double x1, double x2, double tolerance)
+ public static bool AreEqual(double x1, double x2, double tolerance)
{
return (Math.Abs(x1 - x2) < tolerance);
}
@@ -456,7 +456,7 @@
/// a point4.
/// a intersection point.
///
- public LineIntersection DetermineIf2DLinesIntersectWithExtrapolation(Point2D aPoint1, Point2D aPoint2, Point2D aPoint3, Point2D aPoint4, out Point2D aIntersectionPoint)
+ public static LineIntersection DetermineIf2DLinesIntersectWithExtrapolation(Point2D aPoint1, Point2D aPoint2, Point2D aPoint3, Point2D aPoint4, out Point2D aIntersectionPoint)
{
LineConstant lLineConstant1 = CalculateNormalLineConstants(aPoint1, aPoint2);
LineConstant lLineConstant2 = CalculateNormalLineConstants(aPoint3, aPoint4);
@@ -475,7 +475,7 @@
///
///
///
- public LineIntersection DetermineIf2DLinesIntersectWithExtrapolation(LineConstant aLine1Constant, LineConstant aLine2Constant, out Point2D aIntersectionPoint)
+ public static LineIntersection DetermineIf2DLinesIntersectWithExtrapolation(LineConstant aLine1Constant, LineConstant aLine2Constant, out Point2D aIntersectionPoint)
{
aIntersectionPoint = new Point2D(0.0, 0.0);
@@ -486,7 +486,7 @@
double lB2 = aLine2Constant.Y;
double lC2 = aLine2Constant.Z;
- if (AreLinesParallel(lA1, lA2, lB1, lB2, CEpsilon))
+ if (AreLinesParallel(lA1, lA2, lB1, lB2, tolerance))
{
aIntersectionPoint = null;
return LineIntersection.Parallel;
@@ -510,7 +510,7 @@
/// The point2 z.
/// The tolerance.
///
- public bool DetermineIfPointsCoincide(double point1X, double point1Z, double point2X, double point2Z, double tolerance)
+ public static bool DetermineIfPointsCoincide(double point1X, double point1Z, double point2X, double point2Z, double tolerance)
{
if ((Math.Abs(point1X - point2X)) < tolerance && Math.Abs(point1Z - point2Z) < tolerance)
{
@@ -520,7 +520,7 @@
return false;
}
- private void UndoAddIfNeeded(GeometryLoop polygon, bool needed)
+ private static void UndoAddIfNeeded(GeometryLoop polygon, bool needed)
{
if (needed)
{
@@ -536,7 +536,7 @@
/// X-coordinate of the second point
/// Y-coordinate of the second point
///
- private double CrossProduct(double pointAx, double pointAy, double pointBx, double pointBy)
+ private static double CrossProduct(double pointAx, double pointAy, double pointBx, double pointBy)
{
return pointAx * pointBy - pointBx * pointAy;
}
@@ -547,7 +547,7 @@
/// The point1.
/// The point2.
///
- private LineConstant CalculateNormalLineConstants(Point2D point1, Point2D point2)
+ private static LineConstant CalculateNormalLineConstants(Point2D point1, Point2D point2)
{
double point1X = point1.X;
double point1Z = point1.Z;
@@ -573,7 +573,7 @@
/// a line2 constant y.
/// The tolerance.
///
- private bool AreLinesParallel(double aLine1ConstantX, double aLine1ConstantY, double aLine2ConstantX, double aLine2ConstantY, double tolerance)
+ private static bool AreLinesParallel(double aLine1ConstantX, double aLine1ConstantY, double aLine2ConstantX, double aLine2ConstantY, double tolerance)
{
return Math.Abs(CrossProduct(aLine1ConstantX, aLine2ConstantX, aLine1ConstantY, aLine2ConstantY)) < tolerance;
}
@@ -586,7 +586,7 @@
/// X-coordinate of the second point
/// Y-coordinate of the second point
/// The distance between the given points.
- private double Compute2DDistance(double aX1, double aY1, double aX2, double aY2)
+ private static double Compute2DDistance(double aX1, double aY1, double aX2, double aY2)
{
double lX = aX1 - aX2;
double lY = aY1 - aY2;
@@ -610,8 +610,8 @@
///
/// For connected parallel lines, the connection point will be returned as valid intersection point.
///
- private LineIntersection DetermineIf2DLinesIntersectStrickly(Point2D point1, Point2D point2, Point2D point3,
- Point2D point4, out Point2D intersectionPoint, double tolerance)
+ private static LineIntersection DetermineIf2DLinesIntersectStrickly(Point2D point1, Point2D point2, Point2D point3,
+ Point2D point4, out Point2D intersectionPoint, double tolerance)
{
double point1X = point1.X;
double point1Z = point1.Z;
@@ -674,8 +674,8 @@
/// The point4 z.
/// The tolerance.
///
- private bool DoLinesAtLeastPartialyOverlap(double point1X, double point1Z, double point2X, double point2Z,
- double point3X, double point3Z, double point4X, double point4Z, double tolerance)
+ private static bool DoLinesAtLeastPartialyOverlap(double point1X, double point1Z, double point2X, double point2Z,
+ double point3X, double point3Z, double point4X, double point4Z, double tolerance)
{
bool result = AreLinesParallel(point1X, point1Z, point2X, point2Z, point3X, point3Z, point4X, point4Z, tolerance);
@@ -730,8 +730,8 @@
///
/// True when parallel
///
- private bool AreLinesParallel(double point1X, double point1Z, double point2X, double point2Z,
- double point3X, double point3Z, double point4X, double point4Z, double tolerance)
+ private static bool AreLinesParallel(double point1X, double point1Z, double point2X, double point2Z,
+ double point3X, double point3Z, double point4X, double point4Z, double tolerance)
{
double aX = point2X - point1X;
double aY = point2Z - point1Z;
@@ -747,7 +747,7 @@
///
/// Normalizes this instance.
///
- private void Normalize(ref double pointX, ref double pointY)
+ private static void Normalize(ref double pointX, ref double pointY)
{
double q = Math.Sqrt(pointX * pointX + pointY * pointY);