czaloj / bullet

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

swapped is not respected in btGImpactCollisionAlgorithm::gimpact_vs_shape #118

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
When btGImpactCollisionAlgorithm::gimpact_vs_shape is invoked with 
swapped==true, it should 
use m_part1 instead of m_part0 as part counter (for the case shape0-
>getGImpactShapeType()==CONST_GIMPACT_TRIMESH_SHAPE) as m_part0 always 
indicates the 
part of the original body0-argument of 
btGImpactCollisionAlgorithm::processCollision (at least this 
is my understanding of the algorithm). I detected this issue by an infinite 
loop where m_part0 was 
used as a counter in btGImpactCollisionAlgorithm::gimpact_vs_shape, but 
modified by a nested 
invocation of btGImpactTriangleCallback::processTriangle. The patch fixes this 
issue.

Original issue reported on code.google.com by ol...@arcor.de on 22 Oct 2008 at 9:47

Attachments:

GoogleCodeExporter commented 9 years ago

Thanks for the patch. 

I'm not entirely familiar with those Gimpact internals, so it is better to get 
some 
insight into what the various options are for the swapping.

Do you have a small reproduction case that shows the problem? Have you done 
some 
testing to see if it might break other cases?

Original comment by erwin.coumans on 28 Oct 2008 at 5:52

GoogleCodeExporter commented 9 years ago
I have attached a small reproduction case for the bug with some comments. But I 
have not done some testing 
except that my examples all work properly with the patch.

Original comment by ol...@arcor.de on 29 Oct 2008 at 12:10

Attachments:

GoogleCodeExporter commented 9 years ago

the fix has been accepted and applied:
http://code.google.com/p/bullet/source/detail?r=1488

Thanks again for the contribution.

Original comment by erwin.coumans on 8 Nov 2008 at 9:34