Example #1
0
        public static bool TestOverlap(AYLineMask ylMask, TriangleMask triMask)
        {
            VectorFP a = (VectorFP)triMask._pos + triMask._p0;
            VectorFP b = (VectorFP)triMask._pos + triMask._p1;
            VectorFP c = (VectorFP)triMask._pos + triMask._p2;

            if (ylMask.IntersectsLine(a, b) || ylMask.IntersectsLine(b, c) || ylMask.IntersectsLine(a, c)) {
                return true;
            }

            VectorFP q = triMask.Barycentric((VectorFP)ylMask._pos + ylMask._p);

            return (q.X >= 0 && q.Y >= 0 && (q.X + q.Y) <= 1);
        }
Example #2
0
 public static bool TestOverlap(AXLine xlMask, AYLineMask ylMask)
 {
     return ylMask.IntersectsLine(xlMask.LeftPoint, xlMask.RightPoint);
 }
Example #3
0
        public static bool TestOverlap(AYLineMask ylMask, LineMask lnMask)
        {
            VectorFP c = (VectorFP)lnMask._pos + lnMask._p0;
            VectorFP d = c + new VectorFP(lnMask._w, lnMask._h);

            return ylMask.IntersectsLine(c, d);
        }
Example #4
0
        public static bool TestOverlap(AXLineMask xlMask, AYLineMask ylMask)
        {
            VectorFP c = (VectorFP)xlMask._pos + xlMask._p;
            VectorFP d = c + new VectorFP(xlMask._w, 0);

            return ylMask.IntersectsLine(c, d);
        }