ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/t_data.c
(Generate patch)

Comparing ray/src/rt/t_data.c (file contents):
Revision 1.3 by greg, Tue Apr 11 13:30:37 1989 UTC vs.
Revision 1.5 by greg, Thu Oct 5 07:23:19 1989 UTC

# Line 48 | Line 48 | RAY  *r;
48          int  nv;
49          FVECT  dval, disp;
50          double  pt[MAXDIM];
51 +        double  d;
52          DATARRAY  *dp;
53          register XFORM  *mxf;
54          register char  **sa;
# Line 64 | Line 65 | RAY  *r;
65                  mxf = (XFORM *)malloc(sizeof(XFORM));
66                  if (mxf == NULL)
67                          goto memerr;
67                mxf->fore.sca = 1.0;
68                setident4(mxf->fore.xfm);
68                  if (xf(mxf->fore.xfm, &mxf->fore.sca,
69                          m->oargs.nsargs-i, sa+i) != m->oargs.nsargs-i)
70                          objerror(m, USER, "bad transform");
71                  if (mxf->fore.sca < 0.0)
72                          mxf->fore.sca = -mxf->fore.sca;
74                mxf->back.sca = 1.0;
75                setident4(mxf->back.xfm);
73                  invxf(mxf->back.xfm, &mxf->back.sca,
74                                  m->oargs.nsargs-i, sa+i);
75                  if (mxf->back.sca < 0.0)
# Line 105 | Line 102 | RAY  *r;
102  
103          multv3(disp, disp, mxf->fore.xfm);
104          multv3(disp, disp, r->rofx);
105 +        d = 1.0 / (mxf->fore.sca * r->rofs);
106          for (i = 0; i < 3; i++)
107 <                r->pert[i] += disp[i] / (mxf->fore.sca * r->rofs);
107 >                r->pert[i] += disp[i] * d;
108          return;
109   dimerr:
110          objerror(m, USER, "dimension error");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines