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

Comparing ray/src/common/rglinst.c (file contents):
Revision 3.5 by greg, Sat Feb 22 02:07:22 2003 UTC vs.
Revision 3.11 by schorsch, Sat Jul 12 09:55:13 2003 UTC

# Line 5 | Line 5 | static const char      RCSid[] = "$Id$";
5   * Routines for reading instances and converting to OpenGL.
6   */
7  
8 < /* ====================================================================
9 < * The Radiance Software License, Version 1.0
10 < *
11 < * Copyright (c) 1990 - 2002 The Regents of the University of California,
12 < * through Lawrence Berkeley National Laboratory.   All rights reserved.
13 < *
14 < * Redistribution and use in source and binary forms, with or without
15 < * modification, are permitted provided that the following conditions
16 < * are met:
17 < *
18 < * 1. Redistributions of source code must retain the above copyright
19 < *         notice, this list of conditions and the following disclaimer.
20 < *
21 < * 2. Redistributions in binary form must reproduce the above copyright
22 < *       notice, this list of conditions and the following disclaimer in
23 < *       the documentation and/or other materials provided with the
24 < *       distribution.
25 < *
26 < * 3. The end-user documentation included with the redistribution,
27 < *           if any, must include the following acknowledgment:
28 < *             "This product includes Radiance software
29 < *                 (http://radsite.lbl.gov/)
30 < *                 developed by the Lawrence Berkeley National Laboratory
31 < *               (http://www.lbl.gov/)."
32 < *       Alternately, this acknowledgment may appear in the software itself,
33 < *       if and wherever such third-party acknowledgments normally appear.
34 < *
35 < * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
36 < *       and "The Regents of the University of California" must
37 < *       not be used to endorse or promote products derived from this
38 < *       software without prior written permission. For written
39 < *       permission, please contact [email protected].
40 < *
41 < * 5. Products derived from this software may not be called "Radiance",
42 < *       nor may "Radiance" appear in their name, without prior written
43 < *       permission of Lawrence Berkeley National Laboratory.
44 < *
45 < * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
46 < * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
47 < * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48 < * DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
49 < * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
50 < * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
51 < * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
52 < * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
53 < * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 < * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
55 < * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
56 < * SUCH DAMAGE.
57 < * ====================================================================
58 < *
59 < * This software consists of voluntary contributions made by many
60 < * individuals on behalf of Lawrence Berkeley National Laboratory.   For more
61 < * information on Lawrence Berkeley National Laboratory, please see
62 < * <http://www.lbl.gov/>.
63 < */
8 > #include "copyright.h"
9  
10 + #include <stdio.h>
11 + #include <string.h>
12 + #include <time.h>
13 +
14 + #include "platform.h"
15 + #include "resolu.h"
16   #include "radogl.h"
17   #include "octree.h"
18  
# Line 74 | Line 25 | typedef struct {
25          char    octfile[256];                   /* octree file path */
26   } OCTINST;                              /* octree to instantiate */
27  
28 < static double  ogetflt();
29 < static long  ogetint();
30 < static char  *ogetstr();
31 < static int  loadobj();
32 < static void  skiptree();
33 < static void  octerror();
34 < static OCTINST  *getoct();
28 > static double  ogetflt(void);
29 > static long  ogetint(int);
30 > static char  *ogetstr(char *);
31 > static int  loadobj(void);
32 > static void  skiptree(void);
33 > static void  octerror(int etyp, char *msg);
34 > static OCTINST  *getoct(char *);
35  
36   static char  *infn;                     /* input file name */
37   static FILE  *infp;                     /* input file stream */
# Line 132 | Line 83 | register OBJREC        *o;
83                  glPopAttrib();
84          }
85          rgl_checkerr("creating instance");
86 +        return(0);
87   }
88  
89  
# Line 177 | Line 129 | static OCTINST *
129   getoct(name)                            /* get/assign octree list id */
130   char    *name;
131   {
180        extern char     *getpath(), *getlibpath();
132          char    *path;
133          register LUENT  *lp;
134          register OCTINST        *op;
# Line 191 | Line 142 | char   *name;
142                  strcpy(lp->key, name);
143          }
144          if ((op = (OCTINST *)lp->data) == NULL) {
145 <                path = getpath(name, getlibpath(), R_OK);
145 >                path = getpath(name, getrlibpath(), R_OK);
146                  if (path == NULL) {
147                          sprintf(errmsg, "cannot find octree \"%s\"", name);
148                          error(USER, errmsg);
# Line 223 | Line 174 | FVECT  cent;
174                  sprintf(errmsg, "cannot open octree file \"%s\"", fname);
175                  error(SYSTEM, errmsg);
176          }
177 < #ifdef MSDOS
227 <        setmode(fileno(infp), O_BINARY);
228 < #endif
177 >        SET_FILE_BINARY(infp);
178                                          /* get header */
179          if (checkheader(infp, OCTFMT, NULL) < 0)
180                  octerror(USER, "not an octree");
181                                          /* check format */
182          if ((objsize = ogetint(2)-OCTMAGIC) <= 0 ||
183                          objsize > MAXOBJSIZ || objsize > sizeof(long))
184 <                octerror("incompatible octree format");
184 >                octerror(USER, "incompatible octree format");
185          if (cent != NULL) {             /* get boundaries (compute center) */
186                  for (i = 0; i < 3; i++)
187                          cent[i] = atof(ogetstr(sbuf));
# Line 262 | Line 211 | char  *fname;
211          
212          infn = fname;
213          infp = fopen(fname, "r");       /* assume already checked */
214 < #ifdef MSDOS
266 <        setmode(fileno(infp), O_BINARY);
267 < #endif
214 >        SET_FILE_BINARY(infp);
215                                          /* skip header */
216          getheader(infp, NULL, NULL);
217                                          /* get format */
# Line 414 | Line 361 | loadobj()                              /* get next object */
361   #endif
362                                          /* get real arguments */
363          if (ob.oargs.nfargs = ogetint(2)) {
364 <                ob.oargs.farg = (FLOAT *)malloc
365 <                                (ob.oargs.nfargs*sizeof(FLOAT));
364 >                ob.oargs.farg = (RREAL *)malloc
365 >                                (ob.oargs.nfargs*sizeof(RREAL));
366                  if (ob.oargs.farg == NULL)
367                          goto memerr;
368                  for (i = 0; i < ob.oargs.nfargs; i++)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines