(After calling btCollisionWorld::performDiscreteCollisionDetection(), while iterating over contact manifolds -> contact points) I keep getting contradictory contact points in the same contact manifold - by contradictory I mean positioned "very" close to each other but having "almost" opposite normals. The collsions in my test scenario are cylinder-to-box and most of them seem okay, but pretty often I stumble upon such contradictory cases (which is a stomachache for my dynamics). Clearing the manifold in each step helps to resolve this but it seems a bit of a hack to do that.
Example - see the pic (the 3rd dimension [y] is skipped in the pic since it does not matter here):
1. btAxisSweep3:
- normalOnB = (0.0668717 -0.0264922 0.99741), posA = (11.471 -5.52159 0.459946), posB = (11.4757 -5.52578 0.462526), lifetime = 179, dist = -0.00299935
normalOnB = (0.164588 -0.144687 -0.975693), posA = (11.5029 -5.54997 0.46954), posB = (11.503 -5.55004 0.469048), lifetime = 177, dist = -0.000504346
normalOnB = (0.186085 -0.0986609 -0.977568), posA = (11.5129 -5.5588 0.472527), posB = (11.5155 -5.5611 0.473045), lifetime = 111, dist = -0.000201099
- normalOnB = (0.108489 0.026658 0.99374), posA = (16.7905 -1.38015 0.450758), posB = (16.7861 -1.38025 0.452419), lifetime = 235, dist = -0.00117335
normalOnB = (0.158828 0.034858 -0.986691), posA = (16.861 -1.37849 0.467574), posB = (16.856 -1.37861 0.46632), lifetime = 153, dist = -0.000440557
normalOnB = (0.231657 0.00605996 -0.972779), posA = (16.8372 -1.37905 0.461893), posB = (16.8373 -1.37905 0.461451), lifetime = 175, dist = -0.000454278
Thanks.