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