X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgeometry.cpp;h=055c581a652a7505e9a42a97c220649385ccfe30;hb=b8bab716d9302fbb04d97679ee499eac781f1b22;hp=31c5257d8d0aa9f39c5924224f11d40359191d7e;hpb=cdde036d71eb0ea9b450345bd297c8730591b26b;p=architektonas diff --git a/src/geometry.cpp b/src/geometry.cpp index 31c5257..055c581 100644 --- a/src/geometry.cpp +++ b/src/geometry.cpp @@ -512,3 +512,15 @@ Point Geometry::NearestTo(Point point, Point p1, Point p2) return (l1 < l2 ? p1 : p2); } + +Vector Geometry::GetNormalOfPointAndLine(Point p, Line * l) +{ + Vector normal = Vector::Normal(l->p[0], l->p[1]); + normal.Unit(); + double dir = Vector::Dot(p - l->p[0], normal); + + if (dir < 0) + normal = -normal; + + return normal; +}