Closed GoogleCodeExporter closed 9 years ago
I managed to track down the issue.
The issues comes from the following method:
virtual void getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const
{
/* t should be identity, but better be safe than...fast? */
const btVector3 mins=m_body->m_bounds[0];
const btVector3 maxs=m_body->m_bounds[1];
const btVector3 crns[]={t*btVector3(mins.x(),mins.y(),mins.z()),
t*btVector3(maxs.x(),mins.y(),mins.z()),
t*btVector3(maxs.x(),maxs.y(),mins.z()),
t*btVector3(mins.x(),maxs.y(),mins.z()),
t*btVector3(mins.x(),mins.y(),maxs.z()),
t*btVector3(maxs.x(),mins.y(),maxs.z()),
t*btVector3(maxs.x(),maxs.y(),maxs.z()),
t*btVector3(mins.x(),maxs.y(),maxs.z())};
aabbMin=aabbMax=crns[0];
for(int i=1;i<8;++i)
{
aabbMin.setMin(crns[i]);
aabbMax.setMax(crns[i]);
}
}
which has been changed, in rev 2373, to:
virtual void getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax) const
{
/* t should be identity */
aabbMin=m_body->m_bounds[0];
aabbMax=m_body->m_bounds[1];
}
So basically, rollbacking "btSoftBodyInternals.h" to its previous revision
(2310) fixes the issue...
Original comment by easyrid...@gmail.com
on 5 May 2011 at 11:41
Good point, we need regression tests to avoid this in the future.
Fixed in trunk: http://code.google.com/p/bullet/source/detail?r=2396
Original comment by erwin.coumans
on 11 May 2011 at 8:53
great, thanks !
Original comment by easyrid...@gmail.com
on 12 May 2011 at 6:40
Original issue reported on code.google.com by
easyrid...@gmail.com
on 5 May 2011 at 8:56