… | |
… | |
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 | { |