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

Comparing ray/src/rt/srcsupp.c (file contents):
Revision 2.19 by greg, Tue Jun 17 18:57:41 2014 UTC vs.
Revision 2.20 by greg, Sun Jun 22 18:05:28 2014 UTC

# Line 28 | Line 28 | SRCFUNC  sfun[NUMOTYPE];               /* source dispatch table */
28  
29  
30   void
31 < initstypes()                    /* initialize source dispatch table */
31 > initstypes(void)                        /* initialize source dispatch table */
32   {
33          extern VSMATERIAL  mirror_vs, direct1_vs, direct2_vs;
34          static SOBJECT  fsobj = {fsetsrc, flatpart, fgetplaneq, fgetmaxdisk};
# Line 49 | Line 49 | initstypes()                   /* initialize source dispatch table */
49  
50  
51   int
52 < newsource()                     /* allocate new source in our array */
52 > newsource(void)                 /* allocate new source in our array */
53   {
54          if (nsources == 0)
55                  source = (SRCREC *)malloc(SRCINC*sizeof(SRCREC));
# Line 69 | Line 69 | newsource()                    /* allocate new source in our array */
69  
70  
71   void
72 < setflatss(src)                          /* set sampling for a flat source */
73 < register SRCREC  *src;
72 > setflatss(                              /* set sampling for a flat source */
73 >        SRCREC  *src
74 > )
75   {
76          double  mult;
77 <        register int  i;
77 >        int  i;
78  
79          src->ss[SV][0] = src->ss[SV][1] = src->ss[SV][2] = 0.0;
80          for (i = 0; i < 3; i++)
# Line 89 | Line 90 | register SRCREC  *src;
90  
91  
92   void
93 < fsetsrc(src, so)                        /* set a face as a source */
94 < register SRCREC  *src;
95 < OBJREC  *so;
93 > fsetsrc(                        /* set a face as a source */
94 >        SRCREC  *src,
95 >        OBJREC  *so
96 > )
97   {
98 <        register FACE  *f;
99 <        register int  i, j;
98 >        FACE  *f;
99 >        int  i, j;
100          double  d;
101          
102          src->sa.success = 2*AIMREQT-1;          /* bitch on second failure */
# Line 135 | Line 137 | OBJREC  *so;
137  
138  
139   void
140 < ssetsrc(src, so)                        /* set a source as a source */
141 < register SRCREC  *src;
142 < register OBJREC  *so;
140 > ssetsrc(                        /* set a source as a source */
141 >        SRCREC  *src,
142 >        OBJREC  *so
143 > )
144   {
145          double  theta;
146          
# Line 162 | Line 165 | register OBJREC  *so;
165  
166  
167   void
168 < sphsetsrc(src, so)                      /* set a sphere as a source */
169 < register SRCREC  *src;
170 < register OBJREC  *so;
168 > sphsetsrc(                      /* set a sphere as a source */
169 >        SRCREC  *src,
170 >        OBJREC  *so
171 > )
172   {
173 <        register int  i;
173 >        int  i;
174  
175          src->sa.success = 2*AIMREQT-1;          /* bitch on second failure */
176          src->so = so;
# Line 186 | Line 190 | register OBJREC  *so;
190  
191  
192   void
193 < rsetsrc(src, so)                        /* set a ring (disk) as a source */
194 < register SRCREC  *src;
195 < OBJREC  *so;
193 > rsetsrc(                        /* set a ring (disk) as a source */
194 >        SRCREC  *src,
195 >        OBJREC  *so
196 > )
197   {
198 <        register CONE  *co;
198 >        CONE  *co;
199          
200          src->sa.success = 2*AIMREQT-1;          /* bitch on second failure */
201          src->so = so;
# Line 210 | Line 215 | OBJREC  *so;
215  
216  
217   void
218 < cylsetsrc(src, so)                      /* set a cylinder as a source */
219 < register SRCREC  *src;
220 < OBJREC  *so;
218 > cylsetsrc(                      /* set a cylinder as a source */
219 >        SRCREC  *src,
220 >        OBJREC  *so
221 > )
222   {
223 <        register CONE  *co;
224 <        register int  i;
223 >        CONE  *co;
224 >        int  i;
225          
226          src->sa.success = 4*AIMREQT-1;          /* bitch on fourth failure */
227          src->so = so;
# Line 247 | Line 253 | OBJREC  *so;
253  
254  
255   SPOT *
256 < makespot(m)                     /* make a spotlight */
257 < register OBJREC  *m;
256 > makespot(                       /* make a spotlight */
257 >        OBJREC  *m
258 > )
259   {
260 <        register SPOT  *ns;
260 >        SPOT  *ns;
261  
262          if ((ns = (SPOT *)m->os) != NULL)
263                  return(ns);
# Line 268 | Line 275 | register OBJREC  *m;
275  
276  
277   int
278 < spotout(r, s)                   /* check if we're outside spot region */
279 < register RAY  *r;
280 < register SPOT  *s;
278 > spotout(                        /* check if we're outside spot region */
279 >        RAY  *r,
280 >        SPOT  *s
281 > )
282   {
283          double  d;
284          FVECT  vd;
# Line 298 | Line 306 | register SPOT  *s;
306  
307  
308   double
309 < fgetmaxdisk(ocent, op)          /* get center and squared radius of face */
310 < FVECT  ocent;
311 < OBJREC  *op;
309 > fgetmaxdisk(            /* get center and squared radius of face */
310 >        FVECT  ocent,
311 >        OBJREC  *op
312 > )
313   {
314          double  maxrad2;
315          double  d;
316 <        register int  i, j;
317 <        register FACE  *f;
316 >        int  i, j;
317 >        FACE  *f;
318          
319          f = getface(op);
320          if (f->area == 0.)
# Line 330 | Line 339 | OBJREC  *op;
339  
340  
341   double
342 < rgetmaxdisk(ocent, op)          /* get center and squared radius of ring */
343 < FVECT  ocent;
344 < OBJREC  *op;
342 > rgetmaxdisk(            /* get center and squared radius of ring */
343 >        FVECT  ocent,
344 >        OBJREC  *op
345 > )
346   {
347 <        register CONE  *co;
347 >        CONE  *co;
348          
349          co = getcone(op, 0);
350          VCOPY(ocent, CO_P0(co));
# Line 343 | Line 353 | OBJREC  *op;
353  
354  
355   double
356 < fgetplaneq(nvec, op)                    /* get plane equation for face */
357 < FVECT  nvec;
358 < OBJREC  *op;
356 > fgetplaneq(                     /* get plane equation for face */
357 >        FVECT  nvec,
358 >        OBJREC  *op
359 > )
360   {
361 <        register FACE  *fo;
361 >        FACE  *fo;
362  
363          fo = getface(op);
364          VCOPY(nvec, fo->norm);
# Line 356 | Line 367 | OBJREC  *op;
367  
368  
369   double
370 < rgetplaneq(nvec, op)                    /* get plane equation for ring */
371 < FVECT  nvec;
372 < OBJREC  *op;
370 > rgetplaneq(                     /* get plane equation for ring */
371 >        FVECT  nvec,
372 >        OBJREC  *op
373 > )
374   {
375 <        register CONE  *co;
375 >        CONE  *co;
376  
377          co = getcone(op, 0);
378          VCOPY(nvec, co->ad);
# Line 369 | Line 381 | OBJREC  *op;
381  
382  
383   int
384 < commonspot(sp1, sp2, org)       /* set sp1 to intersection of sp1 and sp2 */
385 < register SPOT  *sp1, *sp2;
386 < FVECT  org;
384 > commonspot(             /* set sp1 to intersection of sp1 and sp2 */
385 >        SPOT  *sp1,
386 >        SPOT  *sp2,
387 >        FVECT  org
388 > )
389   {
390          FVECT  cent;
391          double  rad2, cos1, cos2;
# Line 393 | Line 407 | FVECT  org;
407  
408  
409   int
410 < commonbeam(sp1, sp2, dir)       /* set sp1 to intersection of sp1 and sp2 */
411 < register SPOT  *sp1, *sp2;
412 < FVECT  dir;
410 > commonbeam(             /* set sp1 to intersection of sp1 and sp2 */
411 >        SPOT  *sp1,
412 >        SPOT  *sp2,
413 >        FVECT  dir
414 > )
415   {
416          FVECT  cent, c1, c2;
417          double  rad2, d;
# Line 415 | Line 431 | FVECT  dir;
431  
432  
433   int
434 < checkspot(sp, nrm)              /* check spotlight for behind source */
435 < register SPOT  *sp;     /* spotlight */
436 < FVECT  nrm;             /* source surface normal */
434 > checkspot(                      /* check spotlight for behind source */
435 >        SPOT  *sp,      /* spotlight */
436 >        FVECT  nrm      /* source surface normal */
437 > )
438   {
439          double  d, d1;
440  
# Line 431 | Line 448 | FVECT  nrm;            /* source surface normal */
448  
449  
450   double
451 < spotdisk(oc, op, sp, pos)       /* intersect spot with object op */
452 < FVECT  oc;
453 < OBJREC  *op;
454 < register SPOT  *sp;
455 < FVECT  pos;
451 > spotdisk(               /* intersect spot with object op */
452 >        FVECT  oc,
453 >        OBJREC  *op,
454 >        SPOT  *sp,
455 >        FVECT  pos
456 > )
457   {
458          FVECT  onorm;
459          double  offs, d, dist;
# Line 453 | Line 471 | FVECT  pos;
471  
472  
473   double
474 < beamdisk(oc, op, sp, dir)       /* intersect beam with object op */
475 < FVECT  oc;
476 < OBJREC  *op;
477 < register SPOT  *sp;
478 < FVECT  dir;
474 > beamdisk(               /* intersect beam with object op */
475 >        FVECT  oc,
476 >        OBJREC  *op,
477 >        SPOT  *sp,
478 >        FVECT  dir
479 > )
480   {
481          FVECT  onorm;
482          double  offs, d, dist;
# Line 473 | Line 492 | FVECT  dir;
492  
493  
494   double
495 < intercircle(cc, c1, c2, r1s, r2s)       /* intersect two circles */
496 < FVECT  cc;                      /* midpoint (return value) */
497 < FVECT  c1, c2;                  /* circle centers */
498 < double  r1s, r2s;               /* radii squared */
495 > intercircle(                            /* intersect two circles */
496 >        FVECT  cc,              /* midpoint (return value) */
497 >        FVECT  c1,              /* circle centers */
498 >        FVECT  c2,
499 >        double  r1s,            /* radii squared */
500 >        double  r2s
501 > )
502   {
503          double  a2, d2, l;
504          FVECT  disp;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines