--- ray/src/cv/mgflib/parser.c 1996/06/19 22:34:59 1.23 +++ ray/src/cv/mgflib/parser.c 1997/03/18 11:17:24 1.24 @@ -67,14 +67,6 @@ static int e_any_toss(), /* discard unneeded entity * e_cmix(), /* color mixtures */ e_cspec(); /* color spectra */ -int e_include(), /* include file */ - e_sph(), /* sphere */ - e_cyl(), /* cylinder */ - e_cone(), /* cone */ - e_prism(), /* prism */ - e_ring(), /* ring */ - e_torus(); /* torus */ - /* alternate handler support functions */ static int (*e_supp[MG_NENTITIES])(); @@ -124,6 +116,10 @@ mg_init() /* initialize alternate entity handlers */ ineed |= 1L<= ac-1) + break; + if (!lastp) + lastp = i-1; + for (j = i+1; j < ac-1 && av[j+1][0] != '-'; j++) + ; + if (j - i < 3) + return(MG_EARGC); + newav[i] = av[j]; /* connect hole loop */ + } else + newav[i] = av[i]; /* hole or perimeter vertex */ + if (lastp) + newav[i++] = av[lastp]; /* finish seam to outside */ + newav[i] = NULL; + return(mg_handle(MG_E_FACE, i, newav)); }