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); }
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); }