Exemple #1
0
        public bool Intersects(IShape s)
        {
            if (s.IsPoint())
            {
                return(Geometry2D.PointOnLineSeg(((Point)s).Position, this));
            }

            if (s.IsLine())
            {
                return(Geometry2D.LineSegIntersectsLineSeg(this, (LineSeg)s));
            }

            if (s.IsCircle())
            {
                return(Geometry2D.LineSegIntersectsCircle(this, (Circle)s));
            }

            if (s.IsPoly())
            {
                return(Geometry2D.LineSegIntersectsPoly(this, (Poly)s));
            }

            return(false);
        }
Exemple #2
0
        public bool Intersects(IShape s)
        {
            if (s.IsPoint())
            {
                return(Geometry2D.PointOnPoint(Position, ((Point)s).Position));
            }

            if (s.IsLine())
            {
                return(Geometry2D.PointOnLineSeg(Position, (LineSeg)s));
            }

            if (s.IsCircle())
            {
                return(Geometry2D.PointInCircle(Position, (Circle)s));
            }

            if (s.IsPoly())
            {
                return(Geometry2D.PointInPoly(Position, (Poly)s));
            }

            return(false);
        }
Exemple #3
0
        public bool Intersects(IShape s)
        {
            if (s.IsPoint())
            {
                return(Geometry2D.PointInPoly(((Point)s).Position, this));
            }

            if (s.IsLine())
            {
                return(Geometry2D.LineSegIntersectsPoly((LineSeg)s, GetVerts()));
            }

            if (s.IsCircle())
            {
                return(Geometry2D.CircleIntersectsPoly((Circle)s, GetVerts()));
            }

            if (s.IsPoly())
            {
                return(Geometry2D.PolyIntersectsPoly(this, (Poly)s));
            }

            return(false);
        }