Blink.Utilities.VectorMath.rectVerts C# (CSharp) Method

rectVerts() public static method

Returns the corners of the rectangle in XY pairs after rotating by rRot radians
public static rectVerts ( Rectangle r, float rRot, Point origin ) : Vector2[]
r Microsoft.Xna.Framework.Rectangle Rectangle to be rotated
rRot float Rotation in radians
origin Point
return Vector2[]
        public static Vector2[] rectVerts(Rectangle r, float rRot, Point origin)
        {
            Vector2[] points = new Vector2[4];
            points[0] = new Vector2((float)(origin.X + ((r.Left - origin.X) * Math.Cos(rRot) - (r.Top - origin.Y) * Math.Sin(rRot))), (float)(origin.Y + ((r.Left - origin.X) * Math.Sin(rRot) + (r.Top - origin.Y) * Math.Cos(rRot))));
            points[1] = new Vector2((float)(origin.X + ((r.Right - origin.X) * Math.Cos(rRot) - (r.Top - origin.Y) * Math.Sin(rRot))), (float)(origin.Y + ((r.Right - origin.X) * Math.Sin(rRot) + (r.Top - origin.Y) * Math.Cos(rRot))));
            points[2] = new Vector2((float)(origin.X + ((r.Right - origin.X) * Math.Cos(rRot) - (r.Bottom - origin.Y) * Math.Sin(rRot))), (float)(origin.Y + ((r.Right - origin.X) * Math.Sin(rRot) + (r.Bottom - origin.Y) * Math.Cos(rRot))));
            points[3] = new Vector2((float)(origin.X + ((r.Left - origin.X) * Math.Cos(rRot) - (r.Bottom - origin.Y) * Math.Sin(rRot))), (float)(origin.Y + ((r.Left - origin.X) * Math.Sin(rRot) + (r.Bottom - origin.Y) * Math.Cos(rRot))));
            return points;
        }

Same methods

VectorMath::rectVerts ( Rectangle r, float rRot ) : Vector2[]