Blink.Utilities.VectorMath.convexCollision C# (CSharp) Method

convexCollision() public static method

public static convexCollision ( Vector2 aVerts, Vector2 aOrigin, Vector2 bVerts, Vector2 bOrigin, bool closed = true, int vertNum = -1 ) : bool
aVerts Vector2
aOrigin Vector2
bVerts Vector2
bOrigin Vector2
closed bool
vertNum int
return bool
        public static bool convexCollision(Vector2[] aVerts, Vector2 aOrigin, Vector2[] bVerts, Vector2 bOrigin, bool closed = true, int vertNum = -1)
        {
            int v = 0;
            if(vertNum == -1)
                vertNum = aVerts.Length - 1;
            if (closed)
                vertNum ++;
            while (v < vertNum)
            {
                Vector2 axis1 = vectorTo(aVerts[v], aVerts[(v+1)%aVerts.Length]);
                axis1.Y *= -1;
                bool axis1Collision = axisCollision(aVerts, bVerts, axis1);

                if (!axis1Collision)
                    break;

                v++;
            }

            //Vector2 axis2 = new Vector2(axis1.Y, -axis1.X);
            //bool axis2Collision = axisCollision(aVerts, bVerts, axis2);

            return v == aVerts.Length-1;
        }