--- ray/src/rt/srcsamp.c 1994/07/20 12:48:44 2.6 +++ ray/src/rt/srcsamp.c 2003/07/21 22:30:19 2.10 @@ -1,13 +1,14 @@ -/* Copyright (c) 1991 Regents of the University of California */ - #ifndef lint -static char SCCSid[] = "$SunId$ LBL"; +static const char RCSid[] = "$Id: srcsamp.c,v 2.10 2003/07/21 22:30:19 schorsch Exp $"; #endif - /* * Source sampling routines + * + * External symbols declared in source.h */ +#include "copyright.h" + #include "ray.h" #include "source.h" @@ -103,6 +104,7 @@ nextsample: } +int skipparts(ct, sz, pp, pt) /* skip to requested partition */ int ct[3], sz[3]; /* center and size of partition (returned) */ register int pp[2]; /* current index, number to skip (modified) */ @@ -112,12 +114,13 @@ unsigned char *pt; /* partition array */ /* check this partition */ p = spart(pt, pp[0]); pp[0]++; - if (p == S0) /* leaf partition */ + if (p == S0) { /* leaf partition */ if (pp[1]) { pp[1]--; return(0); /* not there yet */ } else return(1); /* we've arrived */ + } /* else check lower */ sz[p] >>= 1; ct[p] -= sz[p]; @@ -134,6 +137,7 @@ unsigned char *pt; /* partition array */ } +void nopart(si, r) /* single source partition */ register SRCINDEX *si; RAY *r; @@ -144,6 +148,7 @@ RAY *r; } +void cylpart(si, r) /* partition a cylinder */ SRCINDEX *si; register RAY *r; @@ -220,11 +225,12 @@ double d2; } +void flatpart(si, r) /* partition a flat source */ register SRCINDEX *si; register RAY *r; { - register FLOAT *vp; + register RREAL *vp; FVECT v; double du2, dv2; int pi; @@ -308,7 +314,7 @@ scylform(sn, dir) /* compute cosine for cylinder's pr int sn; register FVECT dir; /* assume normalized */ { - register FLOAT *dv; + register RREAL *dv; double d; dv = source[sn].ss[SU];