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