From: martin-s Date: Tue, 13 May 2008 12:15:24 +0000 (+0000) Subject: Fix:Core:Added offroad limit to tracking X-Git-Tag: navit-0.5.0.5194svn~4108 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=de9b7a84d68d0517c1df17fbe09fb731a60674de;p=profile%2Fivi%2Fnavit.git Fix:Core:Added offroad limit to tracking git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@1044 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- diff --git a/navit/src/track.c b/navit/src/track.c index 42c2db5..3f08b9a 100644 --- a/navit/src/track.c +++ b/navit/src/track.c @@ -45,9 +45,10 @@ struct tracking { }; -int angle_factor=4; +int angle_factor=30; int connected_pref=-10; int nostop_pref=10; +int offroad_limit_pref=5000; struct coord * @@ -263,7 +264,7 @@ tracking_update(struct tracking *tr, struct coord *c, int angle) dbg(2, "%d: (0x%x,0x%x)-(0x%x,0x%x)\n", i, sd->c[i].x, sd->c[i].y, sd->c[i+1].x, sd->c[i+1].y); value=transform_distance_line_sq(&sd->c[i], &sd->c[i+1], c, &lpnt); if (value < INT_MAX/2) - value += tracking_angle_delta(angle, t->angle[i], dir)*angle_factor; + value += tracking_angle_delta(angle, t->angle[i], dir)*angle_factor>>4; if (tracking_is_connected(tr->curr, &sd->c[i])) value += connected_pref; if (lpnt.x == tr->last_out.x && lpnt.y == tr->last_out.y) @@ -286,8 +287,8 @@ tracking_update(struct tracking *tr, struct coord *c, int angle) } t=t->next; } - dbg(1,"tr->curr_line=%p\n", tr->curr_line); - if (!tr->curr_line) + dbg(1,"tr->curr_line=%p min=%d\n", tr->curr_line, min); + if (!tr->curr_line || min > offroad_limit_pref) return 0; dbg(1,"found 0x%x,0x%x\n", tr->last_out.x, tr->last_out.y); *c=tr->last_out;