ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/view.h
Revision: 2.6
Committed: Tue Jan 9 12:21:13 1996 UTC (28 years, 3 months ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 2.5: +2 -0 lines
Log Message:
added viewopt() routine to get minimal view specification

File Contents

# Content
1 /* Copyright (c) 1994 Regents of the University of California */
2
3 /* SCCSid "$SunId$ LBL" */
4
5 /*
6 * view.h - header file for image generation.
7 *
8 * 9/19/88
9 */
10
11 /* view types */
12 #define VT_PER 'v' /* perspective */
13 #define VT_PAR 'l' /* parallel */
14 #define VT_ANG 'a' /* angular fisheye */
15 #define VT_HEM 'h' /* hemispherical fisheye */
16 #define VT_CYL 'c' /* cylindrical panorama */
17
18 typedef struct {
19 int type; /* view type */
20 FVECT vp; /* view origin */
21 FVECT vdir; /* view direction */
22 FVECT vup; /* view up */
23 double horiz; /* horizontal view size */
24 double vert; /* vertical view size */
25 double hoff; /* horizontal image offset */
26 double voff; /* vertical image offset */
27 double vfore; /* fore clipping plane */
28 double vaft; /* aft clipping plane (<=0 for inf) */
29 FVECT hvec; /* computed horizontal image vector */
30 FVECT vvec; /* computed vertical image vector */
31 double hn2; /* DOT(hvec,hvec) */
32 double vn2; /* DOT(vvec,vvec) */
33 } VIEW; /* view parameters */
34
35 extern VIEW stdview;
36
37 extern char *setview();
38
39 extern double viewray();
40
41 extern char *viewopt();
42
43 #define viewaspect(v) sqrt((v)->vn2/(v)->hn2)
44
45 #define STDVIEW {VT_PER,{0.,0.,0.},{0.,1.,0.},{0.,0.,1.}, \
46 45.,45.,0.,0.,0.,0., \
47 {0.,0.,0.},{0.,0.,0.},0.,0.}
48
49 #define VIEWSTR "VIEW="
50 #define VIEWSTRL 5