void init_sdl(void) { lang_defun("scene", scene_parse); lang_defun("view", view_parse); lang_defun("dist_light", distlight_parse); lang_defun("plastic", plastic_parse); lang_defun("primobj", obj_parse); lang_defun("sphere", sphere_parse); }
void init_sdl(void) { lang_defun("scene", scene_parse); lang_defun("view", view_parse); lang_defun("dist_light", distlight_parse); lang_defun("plastic", plastic_parse); lang_defun("primobj", obj_parse); lang_defun("sphere", sphere_parse); lang_defun("polyobj", obj_parse); lang_defun("trilist", trilist_parse); lang_defun("group", group_parse); lang_defun("translate", translate_parse); lang_defun("scale", scale_parse); lang_defun("rotate", rotate_parse); }
int main(int argc, char **argv) { FILE *fp, *foff, *ftrans; Val v; lang_defun("sphere", sphere_parse); lang_defun("conep", conep_parse); lang_defun("cylin", cylin_parse); if (lang_parse() == 0) v = lang_eval(); fprintf(stderr, "\n"); //fprintf(stderr, "type = %d\n", v.type); //fprintf(stderr, "V_PRIM = %d\n", V_PRIM); int primID = prim_type(v.u.v); fprintf(stderr, "prim_type = %d\n", primID); double Vol_calc; double radius; double height; if (primID == SPHERE){ fprintf(stderr, "It's a SPHERE! \n"); Sphere *s = ((Prim*)v.u.v)->d; radius = s->r; Vol_calc = 4 * PI * pow(radius,3) / 3; }; if (primID == CONEP){ fprintf(stderr, "It's a CONE! \n"); Conep *c = ((Prim*)v.u.v)->d; radius = c->r; height = c->h; Vol_calc = PI * height * SQR(radius) / 3; }; if (primID == CYLIN){ fprintf(stderr, "It's a CYLINDER! \n"); Cylin *c = ((Prim*)v.u.v)->d; radius = c->r; height = c->h; Vol_calc = PI * height * SQR(radius); }; double randnum = rand() % 99; char meshSDLfile[sizeof "MESH0000.sdl"]; char meshOFFfile[sizeof "MESH0000.sdl"]; char meshtransfile[sizeof "transMESH0000.sdl"]; printf("Writing mesh files...\n"); printf("MESH%2d%2.0f.sdl\n",primID,randnum); printf("MESH%2d%2.0f.off\n",primID,randnum); sprintf(meshSDLfile,"MESH%2d%2.0f.sdl",primID,randnum); sprintf(meshOFFfile,"MESH%2d%2.0f.off",primID,randnum); sprintf(meshtransfile,"transMESH%2d%2.0f.off",primID,randnum); fp = fopen(meshSDLfile,"w"); foff = fopen(meshOFFfile,"w"); ftrans = fopen(meshtransfile,"w"); Prim *p = (Prim*)v.u.v; double step = 0.1; double Vol1 = rayvolume(p,step); double level = 3; iMesh *mesh = prim_uv_decomp(p,3); imesh_write(mesh,fp); imesh_writeOFF(mesh,foff); printf("Volume (rayvolume.c): %g \n",Vol1); printf("Volume (formula): %g \n",Vol_calc); printf("\nParsing SDL mesh and translating to OFF mesh...\n --> transMESH%2d%2.0f.sdl\n",primID,randnum); rewind(fp); imesh_translate(fp,ftrans); fclose(fp); fclose(foff); fclose(ftrans); return 0; }
void init_sdl(void) { lang_defun("scene", scene_parse); lang_defun("view", view_parse); lang_defun("dist_light", distlight_parse); lang_defun("plastic", plastic_parse); lang_defun("primobj", obj_parse); lang_defun("sphere", sphere_parse); lang_defun("slideproj", slideproj_parse); lang_defun("shiny", shiny_parse); lang_defun("rough", rough_parse); lang_defun("textured", textured_parse); lang_defun("imagemap", imagemap_parse); lang_defun("chequer", chequer_parse); }
void init_sdl(void) { lang_defun("scene", scene_parse); lang_defun("view", view_parse); lang_defun("polyobj", obj_parse); lang_defun("trilist", trilist_parse); lang_defun("primobj", obj_parse); lang_defun("sphere", sphere_parse); lang_defun("csgobj", obj_parse); lang_defun("csg_union", csg_union_parse); lang_defun("csg_inter", csg_inter_parse); lang_defun("csg_diff", csg_diff_parse); lang_defun("csg_prim", csg_prim_parse); lang_defun("dist_light", distlight_parse); lang_defun("plastic", plastic_parse); lang_defun("group", group_parse); lang_defun("translate", translate_parse); lang_defun("scale", scale_parse); lang_defun("rotate", rotate_parse); lang_defun("arg", arg_parse); lang_defun("motor", motor_parse); }
void init_lang(void) { lang_defun("scene", scene_parse); lang_defun("view", view_parse); lang_defun("dist_light", distlight_parse); lang_defun("plastic", plastic_parse); lang_defun("shaderprog", shaderprog_parse); lang_defun("meshobj", obj_parse); lang_defun("mesh", imesh_parse); lang_defun("primobj", obj_parse); lang_defun("sphere", sphere_parse); lang_defun("group", graph_parse); lang_defun("affine", xaffine_parse); lang_defun("slideproj", slideproj_parse); lang_defun("shiny", shiny_parse); lang_defun("rough", rough_parse); lang_defun("textured", textured_parse); lang_defun("imagemap", imagemap_parse); lang_defun("chequer", chequer_parse); lang_defun("arg", arg_parse); lang_defun("motor", motor_parse); lang_defun("include", include_parse); }
void init_lang(void) { lang_defun((char *)("scene"), scene_parse); lang_defun((char *)("view"), view_parse); lang_defun((char *)("dist_light"), distlight_parse); lang_defun((char *)("plastic"), plastic_parse); lang_defun((char *)("shaderprog"), shaderprog_parse); lang_defun((char *)("meshobj"), obj_parse); lang_defun((char *)("mesh"), imesh_parse); lang_defun((char *)("primobj"), obj_parse); lang_defun((char *)("sphere"), sphere_parse); lang_defun((char *)("group"), graph_parse); lang_defun((char *)("affine"), xaffine_parse); lang_defun((char *)("slideproj"), slideproj_parse); lang_defun((char *)("shiny"), shiny_parse); lang_defun((char *)("rough"), rough_parse); lang_defun((char *)("textured"), textured_parse); lang_defun((char *)("imagemap"), imagemap_parse); lang_defun((char *)("chequer"), chequer_parse); lang_defun((char *)("arg"), arg_parse); lang_defun((char *)("motor"), motor_parse); }