예제 #1
0
파일: uniso.c 프로젝트: noryb009/lick
uniso_status_t *uniso(const char *src, const char *dst, distro_filter_f filter,
        uniso_progress_cb cb, void *cb_data) {
    // Deal with directories.
    if(file_type(src) == FILE_TYPE_DIR) {
      return undir(src, dst, filter, cb, cb_data);
    }

    uniso_status_t *s = new_status();

    struct archive *iso = uniso_open(s, src);
    if(!iso)
        return s;
    uniso_progress_t total = count_in_iso(iso, filter);
    archive_read_free(iso);
    if(total == 0)
        return s;

    iso = uniso_open(s, src);
    if(!iso)
        return s;
    if(extract_iso(s, iso, dst, filter, total, cb, cb_data))
        s->finished = 1;
    archive_read_free(iso);

    return s;
}
예제 #2
0
void mainloop_batch(simulation_data *sim)
{
    char filebase[100];
    const char *extractvars[] = {"q", "xc", "radius", NULL};
    double origin[] = {5., 5., 5.}, normal[] = {0., 0.707, 0.707};
    double isos[] = {0.2, 0.5, 0.8};
    double v0[] = {1.,1.,1.}, v1[] = {5., 1.5, 7.}, v2[] = {8., 2., 5.};
    
    /* Explicitly load VisIt runtime functions and install callbacks. */
    VisItInitializeRuntime();
    SetupCallbacks(sim);

    while(!sim->done)
    {  
        /* Update the simulation data for this iteration.*/     
        simulation_data_update(sim);

        /* Tell VisIt that some metadata changed.*/
        VisItTimeStepChanged();

        /* Make some extracts. */
        sprintf(filebase, "slice3v_%04d", sim->cycle);
        extract_slice_3v(filebase, v0, v1, v2, extractvars);

        sprintf(filebase, "sliceON_%04d", sim->cycle);
        extract_slice_origin_normal(filebase, origin, normal, extractvars);

        sprintf(filebase, "sliceX_%04d", sim->cycle);
        extract_slice(filebase, 0, 0.5, extractvars);

        sprintf(filebase, "sliceY_%04d", sim->cycle);
        extract_slice(filebase, 1, 2.5, extractvars);

        sprintf(filebase, "sliceZ_%04d", sim->cycle);
        extract_slice(filebase, 2, 5., extractvars);

        sprintf(filebase, "iso_%04d", sim->cycle);
        extract_iso(filebase, "q", isos, 3, extractvars);

        simulation_advance(sim);
    }
}