// Gets the minimum intersection outHeight, and downmost point public int IntersectingHeight(Bounding rhs, out int outHeight) { if (InsideVert(rhs)) { // If completely inside RHS outHeight = Height; return(YMin); } if (rhs.InsideVert(this)) { // If completely containing RHS outHeight = rhs.Height; return(rhs.YMin); } return(GetMinDim(rhs.YMax - YMin, YMax - rhs.YMin, out outHeight) ? YMin : rhs.YMin); }