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

Comparing ray/src/rt/o_mesh.c (file contents):
Revision 2.12 by greg, Mon Oct 25 22:57:45 2010 UTC vs.
Revision 2.14 by greg, Tue Jul 8 18:25:00 2014 UTC

# Line 59 | Line 59 | OBJREC *o;
59  
60   static int
61   volume_sign(r, v1, v2)  /* get signed volume for ray and edge */
62 < register RAY    *r;
62 > RAY     *r;
63   int32           v1, v2;
64   {
65 <        int                             reversed = 0;
66 <        register struct EdgeSide        *ecp;
65 >        int             reversed = 0;
66 >        struct EdgeSide *ecp;
67          
68          if (v1 > v2) {
69                  int32   t = v2; v2 = v1; v1 = t;
# Line 113 | Line 113 | RAY    *r;
113                                  "missing triangle vertices in mesh_hit");
114                  sv1 = volume_sign(r, tvi[0], tvi[1]);
115                  sv2 = volume_sign(r, tvi[1], tvi[2]);
116 +                if (sv1 != sv2)                 /* compare volume signs */
117 +                        continue;
118                  sv3 = volume_sign(r, tvi[2], tvi[0]);
119 <                                                /* compare volume signs */
118 <                if ((sv1 != sv2) | (sv2 != sv3))
119 >                if (sv2 != sv3)
120                          continue;
121                                                  /* compute intersection */
122                  getmeshvert(&tv[0], curmsh, tvi[0], MT_V);
# Line 141 | Line 142 | RAY    *r;
142   }
143  
144  
145 < extern int
145 > int
146   o_mesh(                 /* compute ray intersection with a mesh */
147          OBJREC          *o,
148 <        register RAY    *r
148 >        RAY     *r
149   )
150   {
151          RAY             rcont;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines