Bug: btAxisSweep3 causes overlap false positives with Ghosts

Post Reply
xris
Posts: 13
Joined: Wed Jun 22, 2011 3:07 pm

Bug: btAxisSweep3 causes overlap false positives with Ghosts

Post by xris »

Hi,

I'm using Bullet 2.78 with a btAxisSweep3.

Right when adding a Ghost into the world, its addOverlappingObj() is fired for RigidBodies who are only overlapping on 2 out of 3 axis.

This bug only happens when
1) using the btAxisSweep
2) upon adding a Ghost to the world (it removes the overlap pair when world::stepSimulation())
3) and only if the Ghost and RigidBody overlap on axis x and y but NOT z

!) When using a btDbvtBroadphase, this bug does not happen.

Looking at btAxisSweep3::::addHandle() I noticed this ...

sortMinDown(0, pHandle->m_minEdges[0], dispatcher,false);
sortMaxDown(0, pHandle->m_maxEdges[0], dispatcher,false);
sortMinDown(1, pHandle->m_minEdges[1], dispatcher,false);
sortMaxDown(1, pHandle->m_maxEdges[1], dispatcher,false);
sortMinDown(2, pHandle->m_minEdges[2], dispatcher,true);
sortMaxDown(2, pHandle->m_maxEdges[2], dispatcher,true);


The addOverlappingObj() gets fired when calling sortMinDown(2, ...).

I'm not familiar with this code yet. Why are we calling sortMinDown with "update overlaps" set to true only in this axis ?

Thanks in advance,
cg
pico
Posts: 229
Joined: Sun Sep 30, 2007 7:58 am

Re: Bug: btAxisSweep3 causes overlap false positives with Gh

Post by pico »

In my experience, the fastest way to get Bullet issues fixed is to create a repro case based on the basic bullet demo
and upload it along with an issue description here:
http://code.google.com/p/bullet/issues/list

Otherwise bugs get often overlooked or simply forgotten.
xris
Posts: 13
Joined: Wed Jun 22, 2011 3:07 pm

Re: Bug: btAxisSweep3 causes overlap false positives with Gh

Post by xris »

Awesome!
thanks, will do!

cg
Post Reply