ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/view.h
(Generate patch)

Comparing ray/src/common/view.h (file contents):
Revision 2.7 by greg, Sat Feb 22 02:07:23 2003 UTC vs.
Revision 2.18 by greg, Tue Mar 11 02:21:46 2008 UTC

# Line 1 | Line 1
1 < /* RCSid: $Id$ */
1 > /* RCSid $Id$ */
2   /*
3   *  view.h - header file for image generation.
4   *
5 < *  Include after fvect.h
5 > *  Include after stdio.h and rtmath.h
6   *  Includes resolu.h
7   */
8 + #ifndef _RAD_VIEW_H_
9 + #define _RAD_VIEW_H_
10  
9 /* ====================================================================
10 * The Radiance Software License, Version 1.0
11 *
12 * Copyright (c) 1990 - 2002 The Regents of the University of California,
13 * through Lawrence Berkeley National Laboratory.   All rights reserved.
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 *
19 * 1. Redistributions of source code must retain the above copyright
20 *         notice, this list of conditions and the following disclaimer.
21 *
22 * 2. Redistributions in binary form must reproduce the above copyright
23 *       notice, this list of conditions and the following disclaimer in
24 *       the documentation and/or other materials provided with the
25 *       distribution.
26 *
27 * 3. The end-user documentation included with the redistribution,
28 *           if any, must include the following acknowledgment:
29 *             "This product includes Radiance software
30 *                 (http://radsite.lbl.gov/)
31 *                 developed by the Lawrence Berkeley National Laboratory
32 *               (http://www.lbl.gov/)."
33 *       Alternately, this acknowledgment may appear in the software itself,
34 *       if and wherever such third-party acknowledgments normally appear.
35 *
36 * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
37 *       and "The Regents of the University of California" must
38 *       not be used to endorse or promote products derived from this
39 *       software without prior written permission. For written
40 *       permission, please contact [email protected].
41 *
42 * 5. Products derived from this software may not be called "Radiance",
43 *       nor may "Radiance" appear in their name, without prior written
44 *       permission of Lawrence Berkeley National Laboratory.
45 *
46 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
47 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
48 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
49 * DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
50 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
51 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
52 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
53 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
54 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
55 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
56 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
57 * SUCH DAMAGE.
58 * ====================================================================
59 *
60 * This software consists of voluntary contributions made by many
61 * individuals on behalf of Lawrence Berkeley National Laboratory.   For more
62 * information on Lawrence Berkeley National Laboratory, please see
63 * <http://www.lbl.gov/>.
64 */
65
11   #include  "resolu.h"
12  
13 + #ifdef __cplusplus
14 + extern "C" {
15 + #endif
16 +
17                                  /* view types */
18   #define  VT_PER         'v'             /* perspective */
19   #define  VT_PAR         'l'             /* parallel */
20   #define  VT_ANG         'a'             /* angular fisheye */
21   #define  VT_HEM         'h'             /* hemispherical fisheye */
22 + #define  VT_PLS         's'             /* planispheric fisheye */
23   #define  VT_CYL         'c'             /* cylindrical panorama */
24  
25   typedef struct {
# Line 77 | Line 27 | typedef struct {
27          FVECT  vp;              /* view origin */
28          FVECT  vdir;            /* view direction */
29          FVECT  vup;             /* view up */
30 +        double  vdist;          /* view distance */
31          double  horiz;          /* horizontal view size */
32          double  vert;           /* vertical view size */
33          double  hoff;           /* horizontal image offset */
# Line 94 | Line 45 | extern VIEW  stdview;
45   #define  viewaspect(v)  sqrt((v)->vn2/(v)->hn2)
46  
47   #define  STDVIEW        {VT_PER,{0.,0.,0.},{0.,1.,0.},{0.,0.,1.}, \
48 <                                45.,45.,0.,0.,0.,0., \
48 >                                1.,45.,45.,0.,0.,0.,0., \
49                                  {0.,0.,0.},{0.,0.,0.},0.,0.}
50  
51   #define  VIEWSTR        "VIEW="
52   #define  VIEWSTRL       5
53  
103 #ifdef NOPROTO
54  
105 extern char     *setview();
106 extern void     normaspect();
107 extern double   viewray();
108 extern void     viewloc();
109 extern void     pix2loc();
110 extern void     loc2pix();
111 extern int      getviewopt();
112 extern int      sscanview();
113 extern void     fprintview();
114 extern char     *viewopt();
115 extern int      isview();
116 extern int      viewfile();
117
118 #else
119
55   extern char     *setview(VIEW *v);
56   extern void     normaspect(double va, double *ap, int *xp, int *yp);
57   extern double   viewray(FVECT orig, FVECT direc, VIEW *v, double x, double y);
58   extern void     viewloc(FVECT ip, VIEW *v, FVECT p);
59 < extern void     pix2loc(FLOAT loc[2], RESOLU *rp, int px, int py);
59 > extern void     pix2loc(RREAL loc[2], RESOLU *rp, int px, int py);
60   extern void     loc2pix(int pp[2], RESOLU *rp, double lx, double ly);
61   extern int      getviewopt(VIEW *v, int ac, char *av[]);
62   extern int      sscanview(VIEW *vp, char *s);
# Line 130 | Line 65 | extern char    *viewopt(VIEW *vp);
65   extern int      isview(char *s);
66   extern int      viewfile(char *fname, VIEW *vp, RESOLU *rp);
67  
68 +
69 + #ifdef __cplusplus
70 + }
71   #endif
72 + #endif /* _RAD_VIEW_H_ */
73 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines