int main(int argc, char* argv[]) { int size, p, q, r, ret = 0; if (5 == argc || 7 == argc) { ret += sscanf(argv[1], "%d", &size); ret += sscanf(argv[2], "%d", &p); ret += sscanf(argv[3], "%d", &q); ret += sscanf(argv[4], "%d", &r); if (argc == 7) { ret += sscanf(argv[5], "%d", &PADDING); ret += sscanf(argv[6], "%d", &SPACING); } if (ret != 4 && ret != 6) { cout << "Error in parsing arguments\n"; return 0; } Graph g(size); g.set_p(p); g.set_q_r(q, r); render_png(&g); } else { cout << "Wrong number of arguments\n"; } return 0; }
TrayObject *trace_scene(TrayLangState *state, int arg_num) { TrayObject *scene = traylang_get_obj(state); check(scene, "trace scene arg error"); TrayObject *name = traylang_get_obj(state); check(scene, "output name arg error"); rays_calc(scene->cdata); render_png(scene->cdata, name->string); scene_cleanup(scene->cdata); printf("output scene to file: %s\n", bdata(name->string)); return traylang_new_nothing(state); error: return NULL; }