--- ray/src/cv/mgflib/xf.c 1994/07/11 14:47:12 1.6 +++ ray/src/cv/mgflib/xf.c 1994/07/21 14:56:39 1.7 @@ -80,10 +80,14 @@ char **av; /* translate new specification */ if (xf(&thisxf, spec->xac, &xf_argv[spec->xav0]) != spec->xac) return(MG_ETYPE); + /* check for vertex reversal */ + if ((spec->rev = (thisxf.sca < 0.))) + thisxf.sca = -thisxf.sca; /* compute total transformation */ if (spec->prev != NULL) { multmat4(spec->xf.xfm, thisxf.xfm, spec->prev->xf.xfm); spec->xf.sca = thisxf.sca * spec->prev->xf.sca; + spec->rev ^= spec->prev->rev; } else spec->xf = thisxf; spec->xid = comp_xfid(spec->xf.xfm); /* compute unique ID */