I used a recommended approach. It doesn't work. (i.e. just almost work)

Let's say there are 2 bodies.

Assume that they collide each other at t=1.

**t=1:**The contact is created but

**m_appliedImpulse**= 0.

Code: Select all

```
btWorld->stepSimulation(...);
//..... iterating manifold ....
int numContacts = contactManifold->getNumContacts(); //=1
for (int j=0;j<numContacts;j++){
btManifoldPoint& pt = contactManifold->getContactPoint(j); // get contact point
if (pt.getDistance()<0.f){// see if obA and obB collide
float impulse = pt.m_appliedImpulse; //=0
......
```

**t=2:**The force is accumulated into the manifold point correctly, but it is removed before I read it.

Code: Select all

```
btWorld->stepSimulation(...); //the "pt.m_appliedImpulse" is modified
//..... iterating manifold ....
int numContacts = contactManifold->getNumContacts(); //=0 (I'm sad)
//Strange! contactManifold.m_pointCache[0].m_appliedImpulse = some meaningful value
......
```

- https://pybullet.org/Bullet/phpBB3/view ... =9&t=10599 (same approach)

- https://pybullet.org/Bullet/phpBB3/viewtopic.php?t=4136 (state that it can't be used anymore)

- https://pybullet.org/Bullet/phpBB3/viewtopic.php?t=2568 (same approach)