Expose the multi-point perturbation algorithm for btConvexPlaneCollisionAlgorithm
Usage: m_collisionConfiguration = new btDefaultCollisionConfiguration(); m_collisionConfiguration->setPlaneConvexMultipointIterations(); It is only enabled for polyhedral convex shapes, because implicit/smooth surfaces such as spheres, cylinders, capsules and cones keep on rolling forever, due to the extra off-center contact points
This commit is contained in:
@@ -296,3 +296,10 @@ void btDefaultCollisionConfiguration::setConvexConvexMultipointIterations(int nu
|
||||
convexConvex->m_numPerturbationIterations = numPerturbationIterations;
|
||||
convexConvex->m_minimumPointsPerturbationThreshold = minimumPointsPerturbationThreshold;
|
||||
}
|
||||
|
||||
void btDefaultCollisionConfiguration::setPlaneConvexMultipointIterations(int numPerturbationIterations, int minimumPointsPerturbationThreshold)
|
||||
{
|
||||
btConvexPlaneCollisionAlgorithm::CreateFunc* planeCreateFunc = (btConvexPlaneCollisionAlgorithm::CreateFunc*)m_planeConvexCF;
|
||||
planeCreateFunc->m_numPerturbationIterations = numPerturbationIterations;
|
||||
planeCreateFunc->m_minimumPointsPerturbationThreshold = minimumPointsPerturbationThreshold;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user