Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        public static IEnumerable <ILocationF> Corners(this IRectangularF rect)
        {
            yield return(rect.TopLeft());

            yield return(rect.TopRight());

            yield return(rect.BottomLeft());

            yield return(rect.BottomRight());
        }