381 |
|
PNODE *p |
382 |
|
) |
383 |
|
{ |
384 |
+ |
int i, navg; |
385 |
+ |
|
386 |
|
if (p->kid == NULL) |
387 |
|
return; |
388 |
< |
compavg(p->kid+DL); |
387 |
< |
compavg(p->kid+DR); |
388 |
< |
compavg(p->kid+UL); |
389 |
< |
compavg(p->kid+UR); |
388 |
> |
|
389 |
|
setcolor(p->v, .0, .0, .0); |
390 |
< |
addcolor(p->v, p->kid[DL].v); |
391 |
< |
addcolor(p->v, p->kid[DR].v); |
392 |
< |
addcolor(p->v, p->kid[UL].v); |
393 |
< |
addcolor(p->v, p->kid[UR].v); |
394 |
< |
scalecolor(p->v, 0.25); |
390 |
> |
navg = 0; |
391 |
> |
for (i = 0; i < 4; i++) { |
392 |
> |
if (p->kid[i].xmin >= p->kid[i].xmax) continue; |
393 |
> |
if (p->kid[i].ymin >= p->kid[i].ymax) continue; |
394 |
> |
compavg(p->kid+i); |
395 |
> |
addcolor(p->v, p->kid[i].v); |
396 |
> |
navg++; |
397 |
> |
} |
398 |
> |
if (navg > 1) |
399 |
> |
scalecolor(p->v, 1./navg); |
400 |
|
} |
401 |
|
|
402 |
|
|