| 286 |
|
nv.type = ourview.type; |
| 287 |
|
VCOPY(nv.vp, ourview.vp); |
| 288 |
|
VCOPY(nv.vup, ourview.vup); |
| 289 |
– |
nv.hoff = ourview.hoff; nv.voff = ourview.voff; |
| 289 |
|
nv.horiz = ourview.horiz; nv.vert = ourview.vert; |
| 290 |
+ |
nv.vfore = ourview.vfore; nv.vaft = ourview.vaft; |
| 291 |
+ |
nv.hoff = ourview.hoff; nv.voff = ourview.voff; |
| 292 |
|
zoomview(&nv, zfact); |
| 293 |
|
newview(&nv); |
| 294 |
|
} |
| 322 |
|
VCOPY(nv.vp, ourview.vp); |
| 323 |
|
VCOPY(nv.vup, ourview.vup); |
| 324 |
|
nv.hoff = ourview.hoff; nv.voff = ourview.voff; |
| 325 |
+ |
nv.vfore = ourview.vfore; nv.vaft = ourview.vaft; |
| 326 |
|
spinvector(nv.vdir, ourview.vdir, ourview.vup, angle*(PI/180.)); |
| 327 |
|
if (elev != 0.0) { |
| 328 |
|
fcross(v1, nv.vdir, ourview.vup); |
| 502 |
|
extern int do_irrad; |
| 503 |
|
extern double specjitter; |
| 504 |
|
extern double specthresh; |
| 505 |
+ |
extern int backvis; |
| 506 |
|
char buf[128]; |
| 507 |
|
|
| 508 |
|
if (s[0] == '\0') { |
| 509 |
|
(*dev->comout)( |
| 510 |
< |
"aa ab ad ar as av b dc di dj ds dt i lr lw ps pt sj st: "); |
| 510 |
> |
"aa ab ad ar as av b dc di dj ds dt i lr lw ps pt sj st bv: "); |
| 511 |
|
(*dev->comin)(buf, NULL); |
| 512 |
|
s = buf; |
| 513 |
|
} |
| 546 |
|
goto badparam; |
| 547 |
|
} |
| 548 |
|
break; |
| 549 |
< |
case 'b': /* black and white */ |
| 550 |
< |
getparam(s+1, "black and white", 'b', &greyscale); |
| 549 |
> |
case 'b': /* back faces or black and white */ |
| 550 |
> |
switch (s[1]) { |
| 551 |
> |
case 'v': /* back face visibility */ |
| 552 |
> |
getparam(s+2, "back face visibility", 'b', &backvis); |
| 553 |
> |
break; |
| 554 |
> |
case '\0': /* black and white */ |
| 555 |
> |
case ' ': |
| 556 |
> |
case 'y': case 'Y': case 't': case 'T': case '1': case '+': |
| 557 |
> |
case 'n': case 'N': case 'f': case 'F': case '0': case '-': |
| 558 |
> |
getparam(s+1, "black and white", 'b', &greyscale); |
| 559 |
> |
break; |
| 560 |
> |
default: |
| 561 |
> |
goto badparam; |
| 562 |
> |
} |
| 563 |
|
break; |
| 564 |
|
case 'i': /* irradiance */ |
| 565 |
|
getparam(s+1, "irradiance", 'b', &do_irrad); |