377 |
|
|
378 |
|
|
379 |
|
void |
380 |
+ |
compavg( /* recompute averages */ |
381 |
+ |
PNODE *p |
382 |
+ |
) |
383 |
+ |
{ |
384 |
+ |
int i, navg; |
385 |
+ |
|
386 |
+ |
if (p->kid == NULL) |
387 |
+ |
return; |
388 |
+ |
|
389 |
+ |
setcolor(p->v, .0, .0, .0); |
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 |
+ |
|
403 |
+ |
void |
404 |
|
scalepict( /* scale picture values */ |
405 |
|
PNODE *p, |
406 |
|
double sf |