示例#1
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);
        }
示例#2
0
        public bool Intersects(IShape s)
        {
            if (s.IsPoint())
            {
                return(Geometry2D.PointInCircle(((Point)s).Position, this));
            }

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

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

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

            return(false);
        }