1 |
– |
/* Copyright (c) 1997 Silicon Graphics, Inc. */ |
2 |
– |
|
1 |
|
#ifndef lint |
2 |
< |
static char SCCSid[] = "$SunId$ SGI"; |
2 |
> |
static const char RCSid[] = "$Id$"; |
3 |
|
#endif |
6 |
– |
|
4 |
|
/* |
5 |
|
* Quadtree driver support routines. |
6 |
|
*/ |
53 |
|
} |
54 |
|
bi = nexttwig / TBUNDLESIZ; |
55 |
|
if (twigbundle[bi] == NULL) { /* new block */ |
56 |
< |
twigbundle = (RTREE **)realloc((char *)twigbundle, |
56 |
> |
twigbundle = (RTREE **)realloc((void *)twigbundle, |
57 |
|
(bi+2)*sizeof(RTREE *)); |
58 |
|
if (twigbundle == NULL) |
59 |
|
goto memerr; |
86 |
|
} |
87 |
|
/* else "really" means free up memory */ |
88 |
|
for (i = 0; twigbundle[i] != NULL; i++) |
89 |
< |
free((char *)twigbundle[i]); |
90 |
< |
free((char *)twigbundle); |
89 |
> |
free((void *)twigbundle[i]); |
90 |
> |
free((void *)twigbundle); |
91 |
|
twigbundle = NULL; |
92 |
|
} |
93 |
|
|
329 |
|
} |
330 |
|
|
331 |
|
|
332 |
< |
dev_value(c, p, v) /* add a pixel value to our quadtree */ |
332 |
> |
dev_value(c, d, p) /* add a pixel value to our quadtree */ |
333 |
|
COLR c; |
334 |
< |
FVECT p, v; |
334 |
> |
FVECT d, p; |
335 |
|
{ |
336 |
|
register int li; |
337 |
|
int mapit; |
350 |
|
qtCompost(LFREEPCT); |
351 |
|
mapit = 0; /* we'll map it later */ |
352 |
|
} |
353 |
< |
VCOPY(qtL.wp[li], p); |
354 |
< |
qtL.wd[li] = encodedir(v); |
355 |
< |
tmCvColrs(&qtL.brt[li], qtL.chr[li], c, 1); |
353 |
> |
if (p == NULL) |
354 |
> |
VSUM(qtL.wp[li], odev.v.vp, d, FHUGE); |
355 |
> |
else |
356 |
> |
VCOPY(qtL.wp[li], p); |
357 |
> |
qtL.wd[li] = encodedir(d); |
358 |
> |
tmCvColrs(&qtL.brt[li], qtL.chr[li], (COLR *)c, 1); |
359 |
|
if (putleaf(li, 1)) { |
360 |
|
if (mapit) |
361 |
< |
tmMapPixels(qtL.rgb+li, qtL.brt+li, qtL.chr+li, 1); |
361 |
> |
tmMapPixels((BYTE *)(qtL.rgb+li), qtL.brt+li, |
362 |
> |
(BYTE *)(qtL.chr+li), 1); |
363 |
|
if (--rayqleft == 0) |
364 |
|
dev_flush(); /* flush output */ |
365 |
|
} |
410 |
|
if (tmComputeMapping(0., 0., 0.) != TM_E_OK) |
411 |
|
return(0); |
412 |
|
} |
413 |
< |
if (tmMapPixels(qtL.rgb+aorg, qtL.brt+aorg, |
414 |
< |
qtL.chr+aorg, alen) != TM_E_OK) |
413 |
> |
if (tmMapPixels((BYTE *)(qtL.rgb+aorg), qtL.brt+aorg, |
414 |
> |
(BYTE *)(qtL.chr+aorg), alen) != TM_E_OK) |
415 |
|
return(0); |
416 |
|
if (blen > 0) |
417 |
< |
tmMapPixels(qtL.rgb+borg, qtL.brt+borg, |
418 |
< |
qtL.chr+borg, blen); |
417 |
> |
tmMapPixels((BYTE *)(qtL.rgb+borg), qtL.brt+borg, |
418 |
> |
(BYTE *)(qtL.chr+borg), blen); |
419 |
|
qtL.tml = qtL.tl; |
420 |
|
return(1); |
421 |
|
} |