favreau / bullet

Automatically exported from code.google.com/p/bullet
0 stars 0 forks source link

Convex decomposition failure #552

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
In cd_hull.cpp, maxdirfiltered() starts off initializing the best dot product 
result using vertex 0, regardless whether it is an allowable vertex. If the 
vertex 0 is not allowed, then the best vertex number will be set to the first 
allowable vertex, but it will still use the dot product result from vertex 0.
This can lead to the desired vertex not being found, as comparisons are being 
done against a disallowed vertex.

Suggest changing:
        if(allow[i])
        {
            if(m==-1 )
            {
                m=i;
            }

to:

        if(allow[i])
        {
            if(m==-1 )
            {
                currDotm = dot(p[i], dir);
                m=i;
            }

Original issue reported on code.google.com by ja...@orcon.net.nz on 21 Sep 2011 at 4:26

GoogleCodeExporter commented 9 years ago
I finally applied the patch in trunk:
http://code.google.com/p/bullet/source/detail?r=2507

Thanks for the contribution!
Erwin

Original comment by erwin.coumans on 29 Feb 2012 at 5:56