[ODE] Bug in convex.cpp IsPointInPolygon()
Andres James
andres.james+ode at gmail.com
Fri Jul 21 14:34:48 MST 2006
The loop in IsPointInPolygon doesn't index into the polygon array
correctly when i=pointcount-2 or i=pointcount-1. Here's my fix,
alternatively you could modify the two "%pointcount" expressions.
Index: convex.cpp
===================================================================
--- convex.cpp (revision 1026)
+++ convex.cpp (working copy)
@@ -283,7 +283,8 @@
dReal d3;
dReal d4;
dReal vc;
- for(size_t i=1;i<=pointcount;++i)
+ polygon++; // skip past pointcount
+ for(size_t i=0;i<pointcount;++i)
{
dMULTIPLY0_331 (a,convex->final_posr->R,&convex->points[(polygon[i]*3)]);
a[0]=convex->final_posr->pos[0]+a[0];
More information about the ODE
mailing list