26 #define _EPSILON 0.00001f
28 #define _M_PI 3.14159265358979323846f
36 inline float Sqr(
float a) {
return a*a;}
47 float dota =(p-line_start) * (line_end - line_start);
51 float dotb = (p-line_end)*(line_start - line_end);
56 float slope = dota/(dota+dotb);
57 return line_start + (line_end - line_start)*slope;
Contains the Vector2D class; a two-dimensional vector class and related vector operations.
float Sqr(float a)
The square of a value.
Definition: Definitions.h:36
Vector2D closestPointLineSegment(const Vector2D &line_start, const Vector2D &line_end, const Vector2D &p)
Determine the closest point on a line segment given a test point.
Definition: Definitions.h:45
A two-dimensional vector class.
Definition: Vector2D.h:28