public Vector2i NearestPointTo( Vector2i point ) { Vector2i result; Containment containment = Intersect(ref point); if(containment != Containment.Disjoint) result = point; else point.Clamp(ref Min, ref Max, out result); return result; }