Merge branch 'podgorskiy-master'

This commit is contained in:
omar 2018-02-22 23:24:44 +01:00
commit a1a36e762e

View File

@ -951,14 +951,13 @@ ImVec2 ImLineClosestPoint(const ImVec2& a, const ImVec2& b, const ImVec2& p)
{ {
ImVec2 ap = p - a; ImVec2 ap = p - a;
ImVec2 ab_dir = b - a; ImVec2 ab_dir = b - a;
float ab_len = sqrtf(ab_dir.x * ab_dir.x + ab_dir.y * ab_dir.y);
ab_dir *= 1.0f / ab_len;
float dot = ap.x * ab_dir.x + ap.y * ab_dir.y; float dot = ap.x * ab_dir.x + ap.y * ab_dir.y;
if (dot < 0.0f) if (dot < 0.0f)
return a; return a;
if (dot > ab_len) float ab_len_sqr = ab_dir.x * ab_dir.x + ab_dir.y * ab_dir.y;
if (dot > ab_len_sqr)
return b; return b;
return a + ab_dir * dot; return a + ab_dir * dot / ab_len_sqr;
} }
bool ImTriangleContainsPoint(const ImVec2& a, const ImVec2& b, const ImVec2& c, const ImVec2& p) bool ImTriangleContainsPoint(const ImVec2& a, const ImVec2& b, const ImVec2& c, const ImVec2& p)