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.1 by greg, Tue Mar 14 11:31:17 1989 UTC vs.
Revision 1.4 by greg, Wed Apr 19 21:20:28 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 57 | Line 58 | RAY  *r;
58                  objerror(m, USER, "bad # arguments");
59          sa = m->oargs.sarg;
60  
61 +        for (i = 7; i < m->oargs.nsargs && sa[i][0] != '-'; i++)
62 +                ;
63 +        nv = i-7;
64          if ((mxf = (XFORM *)m->os) == NULL) {
61                for (i = 7; i < m->oargs.nsargs && sa[i][0] != '-'; i++)
62                        ;
63                nv = i-7;
65                  mxf = (XFORM *)malloc(sizeof(XFORM));
66                  if (mxf == NULL)
67                          goto memerr;
# Line 103 | Line 104 | RAY  *r;
104          if (errno)
105                  goto computerr;
106  
107 +        multv3(disp, disp, mxf->fore.xfm);
108 +        multv3(disp, disp, r->rofx);
109 +        d = 1.0 / (mxf->fore.sca * r->rofs);
110          for (i = 0; i < 3; i++)
111 <                r->pert[i] += ( disp[0]*mxf->fore.xfm[0][i] +
108 <                                disp[1]*mxf->fore.xfm[1][i] +
109 <                                disp[2]*mxf->fore.xfm[2][i] )
110 <                                        / mxf->fore.sca;
111 >                r->pert[i] += disp[i] * d;
112          return;
113   dimerr:
114          objerror(m, USER, "dimension error");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines