--- ray/src/cv/mgf2rad.c 1994/06/22 17:16:03 2.2 +++ ray/src/cv/mgf2rad.c 1994/07/01 10:20:19 2.5 @@ -34,6 +34,8 @@ char *argv[]; mg_ehand[MG_E_COMMENT] = r_comment; mg_ehand[MG_E_COLOR] = c_hcolor; mg_ehand[MG_E_CONE] = r_cone; + mg_ehand[MG_E_CMIX] = c_hcolor; + mg_ehand[MG_E_CSPEC] = c_hcolor; mg_ehand[MG_E_CXY] = c_hcolor; mg_ehand[MG_E_CYL] = r_cyl; mg_ehand[MG_E_ED] = c_hmaterial; @@ -337,8 +339,11 @@ char **av; /* put out xform command */ printf("\n!xform"); oname = object(); - if (*oname) - printf(" -n %s", oname); + if (*oname) { + printf(" -n "); + for (op = oname; op[1]; op++) /* remove trailing separator */ + putchar(*op); + } for (i = xa0; i < ac; i++) printf(" %s", av[i]); if (ac > xa0 && xf_argc > 0) @@ -396,8 +401,8 @@ material() /* get (and print) current material */ double d; register int i; - if (c_cmaterial->name != NULL) - mname = c_cmaterial->name; + if (c_cmname != NULL) + mname = c_cmname; if (!c_cmaterial->clock) return(mname); /* already current */ /* else update output */ @@ -422,7 +427,8 @@ material() /* get (and print) current material */ c_cmaterial->rs + c_cmaterial->ts; if (d <= 0. | d >= 1.) return(NULL); - if (c_cmaterial->td > .01 || c_cmaterial->ts > .01) { /* trans */ + /* check for trans */ + if (c_cmaterial->td > .01 || c_cmaterial->ts > .01) { double ts, a5, a6; ts = sqrt(c_cmaterial->ts); /* because we use 2 sides */ @@ -450,7 +456,8 @@ material() /* get (and print) current material */ ts/(ts + c_cmaterial->td)); return(mname); } - if (c_cmaterial->rs < .01 || isgrey(&c_cmaterial->rs_c)) { /* plastic */ + /* check for plastic */ + if (c_cmaterial->rs < .01 || c_isgrey(&c_cmaterial->rs_c)) { if (c_cmaterial->rs > .999) cvtcolor(radrgb, &c_cmaterial->rd_c, 1.); else @@ -486,6 +493,7 @@ double intensity; { static COLOR ciexyz; + c_ccvt(ciec, C_CSXY); /* get xy representation */ ciexyz[1] = intensity; ciexyz[0] = ciec->cx/ciec->cy*ciexyz[1]; ciexyz[2] = ciexyz[1]*(1./ciec->cy - 1.) - ciexyz[0];