bullet3 icon indicating copy to clipboard operation
bullet3 copied to clipboard

Fix GImpact algo registration issue

Open kvasnevskyivlad opened this issue 5 months ago • 0 comments

After I updated the version of Bullet to the latest one, I noticed that GImpact collision functionality, namely contactPairTest doesn't work anymore. So after some time, I found out this discussion - https://github.com/bulletphysics/bullet3/discussions/3747 with a reference to this commit https://github.com/bulletphysics/bullet3/commit/9ee1c4ec245ff0fc860fc56c78910d4ab0dd0579. I noticed that with that commit were introduced two "kinds" of algos:

enum ebtDispatcherQueryType
{
	BT_CONTACT_POINT_ALGORITHMS = 1,
	BT_CLOSEST_POINT_ALGORITHMS = 2
};

and by default, we use BT_CLOSEST_POINT_ALGORITHMS. But in the registerAlgorithm method in btGImpactCollisionAlgorithm.cpp, the GImpact algorithm is registered only as BT_CONTACT_POINT_ALGORITHMS, so if you call contactPairTest, it doesn't work.

I am not sure whether my fix is correct, but it works for me, so to fix it, I added registration for BT_CLOSEST_POINT_ALGORITHMS as well.

kvasnevskyivlad avatar Jul 01 '25 18:07 kvasnevskyivlad