public static void UpdateEdges(IRectangularF rect, Edge[] edgeBuffer) { edgeBuffer[0].From = rect.TopLeft(); edgeBuffer[0].To = rect.TopRight(); edgeBuffer[1].From = rect.TopRight(); edgeBuffer[1].To = rect.BottomRight(); edgeBuffer[2].From = rect.BottomRight(); edgeBuffer[2].To = rect.BottomLeft(); edgeBuffer[3].From = rect.BottomLeft(); edgeBuffer[3].To = rect.TopLeft(); }
public static IRectangularF MoveTowards(this IRectangularF r, float angle, float distance) { var newLoc = MoveTowards(r.TopLeft(), angle, distance); var ret = RectangularF.Create(newLoc.Left, newLoc.Top, r.Width, r.Height); return(ret); }
public static IEnumerable <ILocationF> Corners(this IRectangularF rect) { yield return(rect.TopLeft()); yield return(rect.TopRight()); yield return(rect.BottomLeft()); yield return(rect.BottomRight()); }