public bool CollidesWith(OrientedRectangle orientedRectangle) { Rectangle localRectangle = orientedRectangle.TransformToLocalRectangle(); IVector2D lp = Position.Substract(orientedRectangle.Center); lp = lp.Rotate(-orientedRectangle.Rotation); lp = lp.Add(orientedRectangle.HalfExtend); var localPoint = new Point(lp); return localPoint.CollidesWith(localRectangle); }
public bool CollidesWith(Line line) { var lineBase = new Point(line.Base); if (lineBase.CollidesWith(this)) { return true; } IVector2D lp = Position.Substract(line.Base); return lp.IsParallel(line.Direction); }
public bool CollidesWith(Point point) { return point.CollidesWith(this); }