void ShZshapeManager::create_shape(const char* content, GLdouble positionX, GLdouble positionY, GLdouble positionZ, GLint edges, GLdouble h, GLdouble r) { if (content == "pyramid") { create_pyramid(positionX, positionY, positionZ, edges, h, r); } }
int main_pan(int c, char *v[]) { // process input arguments if (c != 2 && c != 1) { fprintf(stderr, "usage:\n\t%s [image]\n", *v); // 0 1 return 1; } char *filename_in = c > 1 ? v[1] : "-"; // read image struct pan_state e[1]; e->rgb = read_image_uint8_rgb(filename_in, &e->w, &e->h); create_pyramid(e); // open window struct FTR f = ftr_new_window(BAD_MIN(e->w,800), BAD_MIN(e->h,600)); f.userdata = e; action_reset_zoom_and_position(&f); ftr_set_handler(&f, "expose", pan_exposer); ftr_set_handler(&f, "motion", pan_motion_handler); ftr_set_handler(&f, "button", pan_button_handler); ftr_set_handler(&f, "key", pan_key_handler); int r = ftr_loop_run(&f); // cleanup and exit (optional) ftr_close(&f); free(e->rgb); free_pyramid(e); return r; }
void ShZshapeManager::create_shape(const char* content) { if (content == "cube") { create_cube(); } if (content == "cylinder") { create_cylinder(); } if (content == "pipe") { create_pipe(); } if (content == "cone") { create_cone(); } if (content == "circle") { create_circle(); } if (content == "ring") { create_ring(); } if (content == "pyramid") { create_pyramid(); } if (content == "triangle") { create_triangle(); } if (content == "rectangle") { create_rectangle(); } if (content == "polygon") { create_polygon(); } if (content == "multigonalStar") { create_multigonalStar(); } }
int main_fpanflip(int c, char *v[]) { // all input images are images to read int n = c - 1; char *fname[c]; fname[0] = "-"; for (int i = 0; i < n; i++) fname[i] = v[i+1]; // read images struct pan_state e[1]; e->n_images = n; e->current_image = 0; e->fix_viewports = 1; for (int i = 0; i < n; i++) { fprintf(stderr, "reading image %d \"%s\"\n", i, fname[i]); struct pan_image *x = e->t + i; x->frgb = read_image_float_rgb(fname[i], &x->w, &x->h); x->fname = fname[i]; create_pyramid(x); } // open window and init state struct FTR f = ftr_new_window( BAD_MIN(e->t->w,1200), BAD_MIN(e->t->h,800) ); f.userdata = e; action_reset_zoom_and_position(&f); // set handlers ftr_set_handler(&f, "expose", pan_exposer); ftr_set_handler(&f, "motion", pan_motion_handler); ftr_set_handler(&f, "button", pan_button_handler); ftr_set_handler(&f, "key" , pan_key_handler); // run loop int r = ftr_loop_run(&f); // cleanup and exit (optional) ftr_close(&f); //free(e->frgb); //free_pyramid(e); return r; }
int main_pan(int c, char *v[]) { // process input arguments char *imask_option = pick_option(&c, &v, "m", ""); if (c > 4) { fprintf(stderr, "usage:\n\t" "%s [in.fft [out.fft [out.mask]]]\n", *v); // 0 1 2 3 return c; } char *filename_in = c > 1 ? v[1] : "-"; char *filename_out = c > 2 ? v[2] : "-"; char *filename_mask = c > 3 ? v[3] : NULL; char *filename_imask = *imask_option ? imask_option : NULL; // read image struct pan_state e[1]; int pd; e->fft = (void*)iio_read_image_float_vec(filename_in, &e->w, &e->h,&pd); if (pd != 2 && pd != 6) return fprintf(stderr, "input must be a fft (got pd=%d)\n", pd); e->pd = pd / 2; create_pyramid(e); if (filename_imask) { int mw, mh; e->mask = iio_read_image_uint8(filename_imask,&mw,&mh); if (mw != e->w || mh != e->h) return fprintf(stderr, "input mask bad size\n"); fprintf(stderr, "using input mask from file \"%s\"\n", filename_imask); } else { e->mask = malloc(e->w * e->h); memset(e->mask, 1, e->w * e->h); } // open window struct FTR f = ftr_new_window(BAD_MIN(e->w,512), BAD_MIN(e->h,512)); f.userdata = e; action_reset_zoom_and_position(&f); ftr_set_handler(&f, "expose", pan_exposer); ftr_set_handler(&f, "motion", pan_motion_handler); ftr_set_handler(&f, "button", pan_button_handler); ftr_set_handler(&f, "key" , pan_key_handler); int r = ftr_loop_run(&f); // apply computed mask for (int i = 0; i < e->w * e->h; i++) if (!e->mask[i]) for (int l = 0; l < e->pd; l++) e->fft[i*e->pd+l] = 0; // save output images iio_save_image_float_vec(filename_out, (void*)e->fft, e->w,e->h, pd); if (filename_mask) iio_save_image_uint8_vec(filename_mask, e->mask, e->w, e->h, 1); // cleanup and exit (optional) ftr_close(&f); return r; }