--- ray/src/rt/o_mesh.c 2003/06/30 14:59:12 2.8 +++ ray/src/rt/o_mesh.c 2004/03/30 16:13:01 2.10 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: o_mesh.c,v 2.8 2003/06/30 14:59:12 schorsch Exp $"; +static const char RCSid[] = "$Id: o_mesh.c,v 2.10 2004/03/30 16:13:01 schorsch Exp $"; #endif /* * Routines for computing ray intersections with meshes. @@ -26,6 +26,7 @@ static const char RCSid[] = "$Id: o_mesh.c,v 2.8 2003/ #include "ray.h" #include "mesh.h" #include "tmesh.h" +#include "rtotypes.h" #define EDGE_CACHE_SIZ 251 /* length of mesh edge cache */ @@ -144,10 +145,11 @@ RAY *r; } -int -o_mesh(o, r) /* compute ray intersection with a mesh */ -OBJREC *o; -register RAY *r; +extern int +o_mesh( /* compute ray intersection with a mesh */ + OBJREC *o, + register RAY *r +) { RAY rcont; int flags; @@ -158,7 +160,7 @@ register RAY *r; /* get the mesh instance */ prep_edge_cache(o); /* copy and transform ray */ - copystruct(&rcont, r); + rcont = *r; multp3(rcont.rorg, r->rorg, curmi->x.b.xfm); multv3(rcont.rdir, r->rdir, curmi->x.b.xfm); for (i = 0; i < 3; i++)