| 26 |
|
|
| 27 |
|
|
| 28 |
|
char * |
| 29 |
< |
setview(v) /* set hvec and vvec, return message on error */ |
| 30 |
< |
register VIEW *v; |
| 29 |
> |
setview( /* set hvec and vvec, return message on error */ |
| 30 |
> |
VIEW *v |
| 31 |
> |
) |
| 32 |
|
{ |
| 33 |
|
static char ill_horiz[] = "illegal horizontal view size"; |
| 34 |
|
static char ill_vert[] = "illegal vertical view size"; |
| 125 |
|
|
| 126 |
|
|
| 127 |
|
void |
| 128 |
< |
normaspect(va, ap, xp, yp) /* fix pixel aspect or resolution */ |
| 129 |
< |
double va; /* view aspect ratio */ |
| 130 |
< |
double *ap; /* pixel aspect in (or out if 0) */ |
| 131 |
< |
int *xp, *yp; /* x and y resolution in (or out if *ap!=0) */ |
| 128 |
> |
normaspect( /* fix pixel aspect or resolution */ |
| 129 |
> |
double va, /* view aspect ratio */ |
| 130 |
> |
double *ap, /* pixel aspect in (or out if 0) */ |
| 131 |
> |
int *xp, |
| 132 |
> |
int *yp /* x and y resolution in (or out if *ap!=0) */ |
| 133 |
> |
) |
| 134 |
|
{ |
| 135 |
|
if (*ap <= FTINY) |
| 136 |
|
*ap = va * *xp / *yp; /* compute pixel aspect */ |
| 142 |
|
|
| 143 |
|
|
| 144 |
|
double |
| 145 |
< |
viewray(orig, direc, v, x, y) /* compute ray origin and direction */ |
| 146 |
< |
FVECT orig, direc; |
| 147 |
< |
register VIEW *v; |
| 148 |
< |
double x, y; |
| 145 |
> |
viewray( /* compute ray origin and direction */ |
| 146 |
> |
FVECT orig, |
| 147 |
> |
FVECT direc, |
| 148 |
> |
VIEW *v, |
| 149 |
> |
double x, |
| 150 |
> |
double y |
| 151 |
> |
) |
| 152 |
|
{ |
| 153 |
|
double d, z; |
| 154 |
|
|
| 237 |
|
|
| 238 |
|
|
| 239 |
|
void |
| 240 |
< |
viewloc(ip, v, p) /* find image location for point */ |
| 241 |
< |
FVECT ip; |
| 242 |
< |
register VIEW *v; |
| 243 |
< |
FVECT p; |
| 240 |
> |
viewloc( /* find image location for point */ |
| 241 |
> |
FVECT ip, |
| 242 |
> |
VIEW *v, |
| 243 |
> |
FVECT p |
| 244 |
> |
) |
| 245 |
|
{ |
| 246 |
|
double d, d2; |
| 247 |
|
FVECT disp; |
| 319 |
|
|
| 320 |
|
|
| 321 |
|
void |
| 322 |
< |
pix2loc(loc, rp, px, py) /* compute image location from pixel pos. */ |
| 323 |
< |
RREAL loc[2]; |
| 324 |
< |
register RESOLU *rp; |
| 325 |
< |
int px, py; |
| 322 |
> |
pix2loc( /* compute image location from pixel pos. */ |
| 323 |
> |
RREAL loc[2], |
| 324 |
> |
RESOLU *rp, |
| 325 |
> |
int px, |
| 326 |
> |
int py |
| 327 |
> |
) |
| 328 |
|
{ |
| 329 |
< |
register int x, y; |
| 329 |
> |
int x, y; |
| 330 |
|
|
| 331 |
|
if (rp->rt & YMAJOR) { |
| 332 |
|
x = px; |
| 345 |
|
|
| 346 |
|
|
| 347 |
|
void |
| 348 |
< |
loc2pix(pp, rp, lx, ly) /* compute pixel pos. from image location */ |
| 349 |
< |
int pp[2]; |
| 350 |
< |
register RESOLU *rp; |
| 351 |
< |
double lx, ly; |
| 348 |
> |
loc2pix( /* compute pixel pos. from image location */ |
| 349 |
> |
int pp[2], |
| 350 |
> |
RESOLU *rp, |
| 351 |
> |
double lx, |
| 352 |
> |
double ly |
| 353 |
> |
) |
| 354 |
|
{ |
| 355 |
< |
register int x, y; |
| 355 |
> |
int x, y; |
| 356 |
|
|
| 357 |
< |
x = lx * rp->xr; |
| 358 |
< |
y = ly * rp->yr; |
| 357 |
> |
x = (int)(lx*rp->xr + .5 - (lx < 0.0)); |
| 358 |
> |
y = (int)(ly*rp->yr + .5 - (ly < 0.0)); |
| 359 |
> |
|
| 360 |
|
if (rp->rt & XDECR) |
| 361 |
|
x = rp->xr-1 - x; |
| 362 |
|
if (rp->rt & YDECR) |
| 372 |
|
|
| 373 |
|
|
| 374 |
|
int |
| 375 |
< |
getviewopt(v, ac, av) /* process view argument */ |
| 376 |
< |
register VIEW *v; |
| 377 |
< |
int ac; |
| 378 |
< |
register char *av[]; |
| 375 |
> |
getviewopt( /* process view argument */ |
| 376 |
> |
VIEW *v, |
| 377 |
> |
int ac, |
| 378 |
> |
char *av[] |
| 379 |
> |
) |
| 380 |
|
{ |
| 381 |
|
#define check(c,l) if ((av[0][c]&&av[0][c]!=' ') || \ |
| 382 |
|
badarg(ac-1,av+1,l)) return(-1) |
| 441 |
|
|
| 442 |
|
|
| 443 |
|
int |
| 444 |
< |
sscanview(vp, s) /* get view parameters from string */ |
| 445 |
< |
VIEW *vp; |
| 446 |
< |
register char *s; |
| 444 |
> |
sscanview( /* get view parameters from string */ |
| 445 |
> |
VIEW *vp, |
| 446 |
> |
char *s |
| 447 |
> |
) |
| 448 |
|
{ |
| 449 |
|
int ac; |
| 450 |
|
char *av[4]; |
| 476 |
|
|
| 477 |
|
|
| 478 |
|
void |
| 479 |
< |
fprintview(vp, fp) /* write out view parameters */ |
| 480 |
< |
register VIEW *vp; |
| 481 |
< |
FILE *fp; |
| 479 |
> |
fprintview( /* write out view parameters */ |
| 480 |
> |
VIEW *vp, |
| 481 |
> |
FILE *fp |
| 482 |
> |
) |
| 483 |
|
{ |
| 484 |
|
fprintf(fp, " -vt%c", vp->type); |
| 485 |
|
fprintf(fp, " -vp %.6g %.6g %.6g", vp->vp[0], vp->vp[1], vp->vp[2]); |
| 494 |
|
|
| 495 |
|
|
| 496 |
|
char * |
| 497 |
< |
viewopt(vp) /* translate to minimal view string */ |
| 498 |
< |
register VIEW *vp; |
| 497 |
> |
viewopt( /* translate to minimal view string */ |
| 498 |
> |
VIEW *vp |
| 499 |
> |
) |
| 500 |
|
{ |
| 501 |
|
static char vwstr[128]; |
| 502 |
< |
register char *cp = vwstr; |
| 502 |
> |
char *cp = vwstr; |
| 503 |
|
|
| 504 |
|
*cp = '\0'; |
| 505 |
|
if (vp->type != stdview.type) { |
| 552 |
|
|
| 553 |
|
|
| 554 |
|
int |
| 555 |
< |
isview(s) /* is this a view string? */ |
| 556 |
< |
char *s; |
| 555 |
> |
isview( /* is this a view string? */ |
| 556 |
> |
char *s |
| 557 |
> |
) |
| 558 |
|
{ |
| 559 |
|
static char *altname[]={NULL,VIEWSTR,"rpict","rview","rvu","rpiece","pinterp",NULL}; |
| 560 |
|
extern char *progname; |
| 561 |
< |
register char *cp; |
| 562 |
< |
register char **an; |
| 561 |
> |
char *cp; |
| 562 |
> |
char **an; |
| 563 |
|
/* add program name to list */ |
| 564 |
|
if (altname[0] == NULL) { |
| 565 |
|
for (cp = progname; *cp; cp++) |
| 600 |
|
|
| 601 |
|
|
| 602 |
|
int |
| 603 |
< |
viewfile(fname, vp, rp) /* get view from file */ |
| 604 |
< |
char *fname; |
| 605 |
< |
VIEW *vp; |
| 606 |
< |
RESOLU *rp; |
| 603 |
> |
viewfile( /* get view from file */ |
| 604 |
> |
char *fname, |
| 605 |
> |
VIEW *vp, |
| 606 |
> |
RESOLU *rp |
| 607 |
> |
) |
| 608 |
|
{ |
| 609 |
|
struct myview mvs; |
| 610 |
|
FILE *fp; |