コード例 #1
0
ファイル: course.c プロジェクト: jimmi280586/C_Development
void print_courses(course_node *head)
{
	course_node *iterator = head;
	if (iterator->current != NULL)
	{
		print_course(iterator->current);
	}
	if(iterator->next != NULL)
	{
		print_courses(iterator->next);
	}
}
コード例 #2
0
ファイル: garmin_txt.c プロジェクト: alexbirkett/GPSBabel
static void
route_disp_hdr_cb(const route_head *rte)
{
    current_trk = (route_head *)rte;
    cur_info = &route_info[route_idx];
    cur_info->prev_wpt = NULL;
    cur_info->total = 0;
    if (rte->rte_waypt_ct <= 0) return;

    if (!gtxt_flags.route_header_written) {
        gtxt_flags.route_header_written = 1;
        gbfprintf(fout, "\r\n\r\nHeader\t%s\r\n", headers[route_header]);
    }

    print_string("\r\nRoute\t%s\t", current_trk->rte_name ? current_trk->rte_name : "");
    print_distance(cur_info->length, 0, 1, 0);
    print_course(cur_info->first_wpt, cur_info->last_wpt);
    gbfprintf(fout, "\t%d waypoints\t", cur_info->count);
    print_string("%s\r\n", rte->rte_url ? rte->rte_url : "");
    gbfprintf(fout, "\r\nHeader\t%s\r\n\r\n", headers[rtept_header]);
}
コード例 #3
0
ファイル: garmin_txt.c プロジェクト: alexbirkett/GPSBabel
static void
route_disp_wpt_cb(const waypoint *wpt)
{
    waypoint *prev = cur_info->prev_wpt;

    gbfprintf(fout, "Route Waypoint\t");
    gbfprintf(fout, "%s\t", wpt->shortname);

    if (prev != NULL)
    {
        double dist = waypt_distance_ex(prev, wpt);
        cur_info->total += dist;
        print_distance(cur_info->total, 0, 1, 0);
        print_distance(dist, 0, 1, 0);
        print_course(prev, wpt);
    }
    else
        print_distance(0, 1, 0, 0);

    gbfprintf(fout, "\r\n");

    cur_info->prev_wpt = (waypoint *)wpt;
}
コード例 #4
0
ファイル: garmin_txt.c プロジェクト: alexbirkett/GPSBabel
static void
track_disp_wpt_cb(const waypoint *wpt)
{
    waypoint *prev = cur_info->prev_wpt;
    time_t delta;
    double dist, depth;

    gbfprintf(fout, "Trackpoint\t");

    print_position(wpt);
    print_date_and_time(wpt->creation_time, 0);
    if IS_VALID_ALT(wpt->altitude)
        print_distance(wpt->altitude, 1, 0, 0);

    gbfprintf(fout, "\t");
    depth = WAYPT_GET(wpt, depth, unknown_alt);
    if (depth != unknown_alt)
        print_distance(depth, 1, 0, 1);

    if (prev != NULL) {
        float temp;
        gbfprintf(fout, "\t");
        delta = wpt->creation_time - prev->creation_time;
        temp = WAYPT_GET(wpt, temperature, -999);
        if (temp != -999)
            print_temperature(temp);
        gbfprintf(fout, "\t");
        dist = waypt_distance_ex(prev, wpt);
        print_distance(dist, 0, 1, 0);
        print_date_and_time(delta, 1);
        print_speed(&dist, &delta);
        print_course(prev, wpt);
    }
    gbfprintf(fout, "\r\n");

    cur_info->prev_wpt = (waypoint *)wpt;
}