summaryrefslogtreecommitdiff
path: root/navit/track.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-11-24 12:05:59 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-11-24 12:05:59 +0000
commit2568f29deeb7b14d731ea07b962e3acd77b6e123 (patch)
treea9b37419a6fb316634cb2bdd6ad3bb1f12532b56 /navit/track.c
parent5290f8ddcbec117a00ab3cbb91d9f88f4fbf529e (diff)
downloadnavit-2568f29deeb7b14d731ea07b962e3acd77b6e123.tar.gz
Add:Core:Avoid tracking calculation if result is ignored anyway
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@3717 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/track.c')
-rw-r--r--navit/track.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/navit/track.c b/navit/track.c
index 3a9f3cf7f..ec7b7d0fa 100644
--- a/navit/track.c
+++ b/navit/track.c
@@ -597,13 +597,13 @@ tracking_value(struct tracking *tr, struct tracking_line *t, int offset, struct
value += tracking_angle_delta(tr, tr->curr_angle, t->angle[offset], sd->flags)*tr->angle_pref>>4;
if (value >= min)
return value;
- if (flags & 4)
+ if ((flags & 4) && tr->connected_pref)
value += tracking_is_connected(tr, tr->last, &sd->c[offset]);
- if (flags & 8)
+ if ((flags & 8) && tr->nostop_pref)
value += tracking_is_no_stop(tr, lpnt, &tr->last_out);
if (value >= min)
return value;
- if (flags & 16)
+ if ((flags & 16) && tr->route_pref)
value += tracking_is_on_route(tr, tr->rt, &sd->item);
if ((flags & 32) && tr->overspeed_percent_pref && tr->overspeed_pref ) {
struct roadprofile *roadprofile=g_hash_table_lookup(tr->vehicleprofile->roadprofile_hash, (void *)t->street->item.type);