31 double s02_x, s02_y, s10_x, s10_y, s32_x, s32_y, s_numer, t_numer, denom, t;
32 s10_x = q1->
X - p1->
X;
33 s10_y = q1->
Y - p1->
Y;
34 s32_x = q2->
X - p2->
X;
35 s32_y = q2->
Y - p2->
Y;
37 denom = s10_x * s32_y - s32_x * s10_y;
40 bool denomPositive = denom > 0;
42 s02_x = p1->
X - p2->
X;
43 s02_y = p1->
Y - p2->
Y;
44 s_numer = s10_x * s02_y - s10_y * s02_x;
46 if ((s_numer < 0) == denomPositive)
49 t_numer = s32_x * s02_y - s32_y * s02_x;
50 if ((t_numer < 0) == denomPositive)
53 if (((s_numer > denom) == denomPositive) || ((t_numer > denom) == denomPositive))
59 intersect->
X = p1->
X + (t * s10_x);
61 intersect->
Y = p1->
Y + (t * s10_y);
bool fnMobility_findIntersect(NetSim_COORDINATES *p1, NetSim_COORDINATES *q1, NetSim_COORDINATES *p2, NetSim_COORDINATES *q2, NetSim_COORDINATES *intersect)
#define _declspec(dllexport)
This function is used to trigger the update.