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

Comparing ray/src/cv/tmesh2rad.c (file contents):
Revision 2.5 by greg, Wed Jun 15 12:38:29 1994 UTC vs.
Revision 2.6 by greg, Wed Jun 15 15:07:06 1994 UTC

# Line 210 | Line 210 | register VERTEX        *v1, *v2, *v3;
210   {
211          static int      ntri = 0;
212          BARYCCM bvecs;
213 +        FVECT   bvm[3];
214 +        register int    i;
215                                          /* compute barycentric coordinates */
216          if (v1->flags & v2->flags & v3->flags & (V_HASINDX|V_HASNORM))
217                  if (comp_baryc(&bvecs, v1->pos, v2->pos, v3->pos) < 0)
# Line 219 | Line 221 | register VERTEX        *v1, *v2, *v3;
221                  printf("\n%s texfunc %s\n", mod, TEXNAME);
222                  mod = TEXNAME;
223                  printf("4 dx dy dz %s\n", CALNAME);
224 <                printf("0\n16 ");
225 <                put_baryc(&bvecs);
226 <                printf("\t%14.12g %14.12g %14.12g\n",
227 <                                v1->nor[0], v2->nor[0], v3->nor[0]);
228 <                printf("\t%14.12g %14.12g %14.12g\n",
229 <                                v1->nor[1], v2->nor[1], v3->nor[1]);
230 <                printf("\t%14.12g %14.12g %14.12g\n",
229 <                                v1->nor[2], v2->nor[2], v3->nor[2]);
224 >                printf("0\n");
225 >                for (i = 0; i < 3; i++) {
226 >                        bvm[i][0] = v1->nor[i];
227 >                        bvm[i][1] = v2->nor[i];
228 >                        bvm[i][2] = v3->nor[i];
229 >                }
230 >                put_baryc(&bvecs, bvm, 3);
231          }
232                                          /* put out pattern (if any) */
233          if (*pn && (v1->flags & v2->flags & v3->flags & V_HASINDX)) {
234                  printf("\n%s colorpict %s\n", mod, PATNAME);
235                  mod = PATNAME;
236                  printf("7 noneg noneg noneg %s %s u v\n", pn, CALNAME);
237 <                printf("0\n13 ");
238 <                put_baryc(&bvecs);
239 <                printf("\t%f %f %f\n", v1->ndx[0], v2->ndx[0], v3->ndx[0]);
240 <                printf("\t%f %f %f\n", v1->ndx[1], v2->ndx[1], v3->ndx[1]);
237 >                printf("0\n");
238 >                for (i = 0; i < 2; i++) {
239 >                        bvm[i][0] = v1->ndx[i];
240 >                        bvm[i][1] = v2->ndx[i];
241 >                        bvm[i][2] = v3->ndx[i];
242 >                }
243 >                put_baryc(&bvecs, bvm, 2);
244          }
245                                          /* put out triangle */
246          printf("\n%s polygon %s.%d\n", mod, obj, ++ntri);
# Line 294 | Line 298 | FLOAT  *v1, *v2, *v3;
298   }
299  
300  
301 < put_baryc(bcm)                          /* put barycentric coord. vectors */
301 > put_baryc(bcm, com, n)                  /* put barycentric coord. vectors */
302   register BARYCCM        *bcm;
303 + register FVECT  com[];
304 + int     n;
305   {
306 <        printf("\t%d\n", bcm->ax);
307 <        printf("%14.8f %14.8f %14.8f\n",
308 <                                bcm->tm[0][0], bcm->tm[0][1], bcm->tm[0][2]);
309 <        printf("%14.8f %14.8f %14.8f\n",
310 <                                bcm->tm[1][0], bcm->tm[1][1], bcm->tm[1][2]);
306 >        double  a, b;
307 >        register int    i, j;
308 >
309 >        printf("%d\t%d\n", 1+3*n, bcm->ax);
310 >        for (i = 0; i < n; i++) {
311 >                a = com[i][0] - com[i][2];
312 >                b = com[i][1] - com[i][2];
313 >                printf("%14.8f %14.8f %14.8f\n",
314 >                        bcm->tm[0][0]*a + bcm->tm[1][0]*b,
315 >                        bcm->tm[0][1]*a + bcm->tm[1][1]*b,
316 >                        bcm->tm[0][2]*a + bcm->tm[1][2]*b + com[i][2]);
317 >        }
318   }
319  
320  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines