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

Comparing ray/src/common/cone.h (file contents):
Revision 2.2 by greg, Sat Feb 22 02:07:22 2003 UTC vs.
Revision 2.7 by schorsch, Fri Nov 14 17:22:06 2003 UTC

# Line 1 | Line 1
1 < /* RCSid: $Id$ */
1 > /* RCSid $Id$ */
2   /*
3   *  cone.h - header file for cones (cones, cylinders, rings, cups, tubes).
4   *
# Line 9 | Line 9
9   *
10   *     2/12/86
11   */
12 + #ifndef _RAD_CONE_H_
13 + #define _RAD_CONE_H_
14 + #ifdef __cplusplus
15 + extern "C" {
16 + #endif
17  
13 /* ====================================================================
14 * The Radiance Software License, Version 1.0
15 *
16 * Copyright (c) 1990 - 2002 The Regents of the University of California,
17 * through Lawrence Berkeley National Laboratory.   All rights reserved.
18 *
19 * Redistribution and use in source and binary forms, with or without
20 * modification, are permitted provided that the following conditions
21 * are met:
22 *
23 * 1. Redistributions of source code must retain the above copyright
24 *         notice, this list of conditions and the following disclaimer.
25 *
26 * 2. Redistributions in binary form must reproduce the above copyright
27 *       notice, this list of conditions and the following disclaimer in
28 *       the documentation and/or other materials provided with the
29 *       distribution.
30 *
31 * 3. The end-user documentation included with the redistribution,
32 *           if any, must include the following acknowledgment:
33 *             "This product includes Radiance software
34 *                 (http://radsite.lbl.gov/)
35 *                 developed by the Lawrence Berkeley National Laboratory
36 *               (http://www.lbl.gov/)."
37 *       Alternately, this acknowledgment may appear in the software itself,
38 *       if and wherever such third-party acknowledgments normally appear.
39 *
40 * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
41 *       and "The Regents of the University of California" must
42 *       not be used to endorse or promote products derived from this
43 *       software without prior written permission. For written
44 *       permission, please contact [email protected].
45 *
46 * 5. Products derived from this software may not be called "Radiance",
47 *       nor may "Radiance" appear in their name, without prior written
48 *       permission of Lawrence Berkeley National Laboratory.
49 *
50 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
51 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
53 * DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
54 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
55 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
56 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
57 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
58 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
59 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
60 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
61 * SUCH DAMAGE.
62 * ====================================================================
63 *
64 * This software consists of voluntary contributions made by many
65 * individuals on behalf of Lawrence Berkeley National Laboratory.   For more
66 * information on Lawrence Berkeley National Laboratory, please see
67 * <http://www.lbl.gov/>.
68 */
69
18   typedef struct cone {
19 <        FLOAT  *ca;             /* cone arguments (o->oargs.farg) */
19 >        RREAL  *ca;             /* cone arguments (o->oargs.farg) */
20          char  p0, p1;           /* indices for endpoints */
21          char  r0, r1;           /* indices for radii */
22          FVECT  ad;              /* axis direction vector */
23 <        FLOAT  al;              /* axis length */
24 <        FLOAT  sl;              /* side length */
25 <        FLOAT  (*tm)[4];        /* pointer to transformation matrix */
23 >        RREAL  al;              /* axis length */
24 >        RREAL  sl;              /* side length */
25 >        RREAL  (*tm)[4];        /* pointer to transformation matrix */
26   }  CONE;
27  
28 < #define  CO_R0(co)      ((co)->ca[(co)->r0])
29 < #define  CO_R1(co)      ((co)->ca[(co)->r1])
28 > #define  CO_R0(co)      ((co)->ca[(int)((co)->r0)])
29 > #define  CO_R1(co)      ((co)->ca[(int)((co)->r1)])
30   #define  CO_P0(co)      ((co)->ca+(co)->p0)
31   #define  CO_P1(co)      ((co)->ca+(co)->p1)
32  
85 #ifdef NOPROTO
33  
87 extern CONE  *getcone();
88 extern void  freecone();
89 extern void  conexform();
90
91 #else
92
34   extern CONE  *getcone(OBJREC *o, int getxf);
35   extern void  freecone(OBJREC *o);
36   extern void  conexform(CONE *co);
37  
38 +
39 + #ifdef __cplusplus
40 + }
41   #endif
42 + #endif /* _RAD_CONE_H_ */
43 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines