When replacing my discrete world for a continuous world I get a crash in btCompoundCollisionAlgorithm.cpp line 300:
Code: Select all
btScalar frac = m_childCollisionAlgorithms[i]->calculateTimeOfImpact(colObj,otherObj,dispatchInfo,resultOut);
This is the callstack
Code: Select all
# btCompoundCollisionAlgorithm::calculateTimeOfImpact(btCollisionObject * body0=0x03001bc0, btCollisionObject * body1=0x0515b9b0, const btDispatcherInfo & dispatchInfo={...}, btManifoldResult * resultOut=0x0012e380) Line 300 + 0x2f bytes C++
# btCollisionDispatcher::defaultNearCallback(btBroadphasePair & collisionPair={...}, btCollisionDispatcher & dispatcher={...}, const btDispatcherInfo & dispatchInfo={...}) Line 269 + 0x28 bytes C++
# btCollisionPairCallback::processOverlap(btBroadphasePair & pair={...}) Line 221 + 0x21 bytes C++
# btHashedOverlappingPairCache::processAllOverlappingPairs(btOverlapCallback * callback=0x0012e734, btDispatcher * dispatcher=0x016e9028) Line 383 + 0x13 bytes C++
# btCollisionDispatcher::dispatchAllCollisionPairs(btOverlappingPairCache * pairCache=0x02f50860, const btDispatcherInfo & dispatchInfo={...}, btDispatcher * dispatcher=0x016e9028) Line 235 + 0x17 bytes C++
# btContinuousDynamicsWorld::calculateTimeOfImpacts(float timeStep=0.0083333338) Line 124 + 0x39 bytes C++
# btContinuousDynamicsWorld::internalSingleStepSimulation(float timeStep=0.0083333338) Line 80 + 0x19 bytes C++
# btDiscreteDynamicsWorld::stepSimulation(float timeStep=0.033333335, int maxSubSteps=2, float fixedTimeStep=0.0083333338) Line 355 + 0x16 bytes C++
# demolition::components::PhysicsWorld::stepSimulation(float p_timestep=0.033333335) Line 326 + 0x35 bytes C++
Code: Select all
m_collisionConfiguration = new btDefaultCollisionConfiguration();
// Use the default collision dispatcher.
m_dispatcher = new btCollisionDispatcher(m_collisionConfiguration);
m_overlappingPairCache = new btDbvtBroadphase;
// The default constraint solver.
m_constraintSolver = new btSequentialImpulseConstraintSolver;
// Initialise the physics world
m_dynamicsWorld = new btContinuousDynamicsWorld(m_dispatcher,
m_overlappingPairCache,
m_constraintSolver,
m_collisionConfiguration);
Thanks!
Best,
Martijn