/[zanavi_public1]/navit/navit/track.c
ZANavi

Diff of /navit/navit/track.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 49 Revision 50
939 int found_dupl = 0; 939 int found_dupl = 0;
940 int angles_found[MAX_DUPL_CHECK_ENTRIES + 1]; 940 int angles_found[MAX_DUPL_CHECK_ENTRIES + 1];
941 int angles_found_count = 0; 941 int angles_found_count = 0;
942 int drive_here_angle = -999; 942 int drive_here_angle = -999;
943 943
944 drive_here = rgp->seg; 944 // FIXME : move codeblock down
945 945
946 if (street_dir == 1)
947 {
948 drive_here = s->end_from_seg;
949 }
950 else
951 {
952 drive_here = s->start_from_seg;
953 }
946 int found_first = 0; 954 int found_first = 0;
947 955
948 char *next_roads_and_angles = NULL; 956 char *next_roads_and_angles = NULL;
949 char *next_roads_and_angles_old = NULL; 957 char *next_roads_and_angles_old = NULL;
950 958
2361 char *seg_len = g_strdup_printf("%d", s->data.len); 2369 char *seg_len = g_strdup_printf("%d", s->data.len);
2362 android_send_generic_text(13, seg_len); 2370 android_send_generic_text(13, seg_len);
2363 g_free(seg_len); 2371 g_free(seg_len);
2364#endif 2372#endif
2365 2373
2366 struct route_graph_segment *cur; 2374 // struct route_graph_segment *cur; unused ??
2367 struct route_graph_point *rgp; 2375 struct route_graph_point *rgp;
2368 if (tr->street_direction == -1) 2376 if (tr->street_direction == -1)
2369 { 2377 {
2370 //dbg(0, "RR:03.5:\n"); 2378 //dbg(0, "RR:03.5:\n");
2371 rgp = s->start; 2379 rgp = s->start; //jandegr : first next point
2380 next_route_seg = s->start_from_seg; //jandegr : first next segment
2372 street_dir = -1; 2381 street_dir = -1;
2373 } 2382 }
2374 else // tr->street_direction == 1 or 0 2383 else // tr->street_direction == 1 or 0
2375 { 2384 {
2376 //dbg(0, "RR:03.6:\n"); 2385 //dbg(0, "RR:03.6:\n");
2377 rgp = s->end; 2386 rgp = s->end; //jandegr : first next point
2387 next_route_seg = s->end_from_seg; //jandegr : first next segment
2378 street_dir = 1; 2388 street_dir = 1;
2379 } 2389 }
2380 2390
2381 2391
2382 //dbg(0, "RR:04.0:\n"); 2392 //dbg(0, "RR:04.0:\n");
2388 2398
2389 2399
2390 tracking_calc_and_send_possbile_turn_info(rgp, s, street_dir, 0); 2400 tracking_calc_and_send_possbile_turn_info(rgp, s, street_dir, 0);
2391 2401
2392 // save the next segment data -------------- 2402 // save the next segment data --------------
2393 if (rgp->seg) 2403 // if (rgp->seg) jandegr
2404 if (next_route_seg && rgp)
2394 { 2405 {
2406 // simplify this back later, done for clarity temporary
2407 struct route_graph_segment *second_next_route_seg;
2408
2395 next_route_seg = rgp->seg; 2409 // next_route_seg = rgp->seg; jandegr
2396 //dbg(0, "RR:04.0a:%p\n", next_route_seg); 2410 //dbg(0, "RR:04.0a:%p\n", next_route_seg);
2397 if (next_route_seg->start == rgp) 2411 if (next_route_seg->start == rgp)
2398 { 2412 {
2399 rgp_next = next_route_seg->end; 2413 rgp_next = next_route_seg->end;
2400 street_dir_next = 1; 2414 street_dir_next = 1;
2415 second_next_route_seg = next_route_seg->start_from_seg;
2401 //dbg(0, "RR:04.2:%p %p %p\n", rgp, next_route_seg->start, next_route_seg->end); 2416 //dbg(0, "RR:04.2:%p %p %p\n", rgp, next_route_seg->start, next_route_seg->end);
2402 } 2417 }
2403 else 2418 else
2404 { 2419 {
2405 rgp_next = next_route_seg->start; 2420 rgp_next = next_route_seg->start;
2406 street_dir_next = -1; 2421 street_dir_next = -1;
2422 second_next_route_seg = next_route_seg->end_from_seg;
2407 //dbg(0, "RR:04.3:%p %p %p\n", rgp, next_route_seg->start, next_route_seg->end); 2423 //dbg(0, "RR:04.3:%p %p %p\n", rgp, next_route_seg->start, next_route_seg->end);
2408 } 2424 }
2409 //dbg(0, "RR:04.4:%p\n", rgp_next); 2425 //dbg(0, "RR:04.4:%p\n", rgp_next);
2410 2426
2411 tracking_calc_and_send_possbile_turn_info(rgp_next, next_route_seg, street_dir_next, 1); 2427 tracking_calc_and_send_possbile_turn_info(rgp_next, next_route_seg, street_dir_next, 1);
2419 next_lanes_id_map__prev = next_lanes_id_map; 2435 next_lanes_id_map__prev = next_lanes_id_map;
2420 street_dir_next__prev = street_dir_next; 2436 street_dir_next__prev = street_dir_next;
2421 2437
2422 // --- and also the next next seg ---- 2438 // --- and also the next next seg ----
2423 // --- and also the next next seg ---- 2439 // --- and also the next next seg ----
2424 if (rgp_next->seg) 2440 // if (rgp_next->seg) jandegr
2441 if (second_next_route_seg)
2425 { 2442 {
2426 next_route_seg = rgp_next->seg; 2443 // next_route_seg = rgp_next->seg;
2427 //dbg(0, "RR:04.0a:%p\n", next_route_seg); 2444 //dbg(0, "RR:04.0a:%p\n", next_route_seg);
2428 if (next_route_seg->start == rgp_next) 2445 if (second_next_route_seg->start == rgp_next)
2429 { 2446 {
2430 rgp_next = next_route_seg->end; 2447 rgp_next = second_next_route_seg->end;
2431 street_dir_next = 1; 2448 street_dir_next = 1;
2432 //dbg(0, "RR:04.2:%p %p %p\n", rgp_next, next_route_seg->start, next_route_seg->end); 2449 //dbg(0, "RR:04.2:%p %p %p\n", rgp_next, next_route_seg->start, next_route_seg->end);
2433 } 2450 }
2434 else 2451 else
2435 { 2452 {
2436 rgp_next = next_route_seg->start; 2453 rgp_next = second_next_route_seg->start;
2437 street_dir_next = -1; 2454 street_dir_next = -1;
2438 //dbg(0, "RR:04.3:%p %p %p\n", rgp_next, next_route_seg->start, next_route_seg->end); 2455 //dbg(0, "RR:04.3:%p %p %p\n", rgp_next, next_route_seg->start, next_route_seg->end);
2439 } 2456 }
2440 //dbg(0, "RR:04.4:%p\n", rgp_next); 2457 //dbg(0, "RR:04.4:%p\n", rgp_next);
2441 2458
2442 tracking_calc_and_send_possbile_turn_info(rgp_next, next_route_seg, street_dir_next, 2); 2459 tracking_calc_and_send_possbile_turn_info(rgp_next, second_next_route_seg, street_dir_next, 2);
2443 street_dir_next__prev = street_dir_next; 2460 street_dir_next__prev = street_dir_next;
2444 2461
2445 } 2462 }
2446 else 2463 else
2447 { 2464 {

Legend:
Removed from v.49  
changed lines
  Added in v.50

   
Visit the ZANavi Wiki