Exemplo n.º 1
0
    public void TestIsIntersect()
    {
        Vector3 p0     = P0.position;
        Vector3 p1     = P1.position;
        Vector3 p2     = P2.position;
        Vector3 p3     = P3.position;
        bool    result = GeometryTool.IsIntersect(p0, p1, p2, p3);

        Debug.Log(result);
    }
Exemplo n.º 2
0
 bool NodeIsIntersectWithColliderRects(QuadTreeConnectedNode node, IRect[] colliderRects)
 {
     for (var i = 0; i < colliderRects.Length; ++i)
     {
         var rect = colliderRects[i];
         if (GeometryTool.IsIntersect(node, rect))
         {
             return(true);
         }
     }
     return(false);
 }
Exemplo n.º 3
0
    public static bool IsIntersect(IRect a, IRect b)
    {
        //如果任2邊相交
        for (var i = 0; i < 4; ++i)
        {
            Vector3 p0, p1;
            GetEdge(a, i, out p0, out p1);
            for (var k = 0; k < 4; ++k)
            {
                Vector3 p2, p3;
                GetEdge(b, k, out p2, out p3);
                if (GeometryTool.IsIntersect(p0, p1, p2, p3))
                {
                    return(true);
                }
            }
        }

        return(false);
    }