TerrainDisplay.Collision.Intersection.Vector3FarthestFromEdge C# (CSharp) Method

Vector3FarthestFromEdge() public static method

public static Vector3FarthestFromEdge ( System.Vector2 a, System.Vector2 b, System.Vector2 p, int n ) : int
a System.Vector2
b System.Vector2
p System.Vector2
n int
return int
        public static int Vector3FarthestFromEdge(Vector2 a, Vector2 b, Vector2[] p, int n)
        {
            var vector = b - a;
            var vector2 = new Vector2(-vector.Y, vector.X);
            var num = -1;
            var minValue = Single.MinValue;
            var num3 = Single.MinValue;
            for (var i = 1; i < n; i++)
            {
                var num5 = Vector2.Dot(p[i] - a, vector2);
                var num6 = Vector2.Dot(p[i] - a, vector);
                if ((num5 <= minValue) && ((num5 != minValue) || (num6 <= num3))) continue;

                num = i;
                minValue = num5;
                num3 = num6;
            }
            return num;
        }