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

Comparing ray/src/ot/sphere.c (file contents):
Revision 1.2 by greg, Sat Oct 14 11:19:36 1989 UTC vs.
Revision 2.3 by schorsch, Thu Jun 26 00:58:10 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1986 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   *  sphere.c - routines for creating octrees for spheres.
6   *
# Line 59 | Line 56 | register CUBE  *cu;
56   {
57          FVECT  v1;
58          double  d1, d2;
59 <        register double  *fa;
59 >        register RREAL  *fa;
60          register int  i;
61   #define  cent           fa
62   #define  rad            fa[3]
63                                          /* get arguments */
64 +        if (o->oargs.nfargs != 4)
65 +                objerror(o, USER, "bad # arguments");
66          fa = o->oargs.farg;
67 <        if (o->oargs.nfargs != 4 || rad <= FTINY)
68 <                objerror(o, USER, "bad arguments");
67 >        if (rad < -FTINY) {
68 >                objerror(o, WARNING, "negative radius");
69 >                o->otype = o->otype == OBJ_SPHERE ?
70 >                                OBJ_BUBBLE : OBJ_SPHERE;
71 >                rad = -rad;
72 >        } else if (rad <= FTINY)
73 >                objerror(o, USER, "zero radius");
74  
75          d1 = ROOT3/2.0 * cu->cusize;    /* bounding radius for cube */
76  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines