From 593fc872ab0ad1869080ac8ff33297aeb249b705 Mon Sep 17 00:00:00 2001 From: Chuyuan Fu Date: Wed, 20 Nov 2019 16:42:04 -0800 Subject: [PATCH] get correct AABB for softbody --- .../PhysicsServerCommandProcessor.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp index 74c49a408..1e6a0f62a 100644 --- a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp +++ b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp @@ -8597,10 +8597,21 @@ bool PhysicsServerCommandProcessor::processRequestCollisionInfoCommand(const str #ifndef SKIP_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD else if (body && body->m_softBody) { + btSoftBody* sb = body->m_softBody; + serverCmd.m_sendCollisionInfoArgs.m_numLinks = 0; + btVector3 aabbMin, aabbMax; + sb->getAabb(aabbMin, aabbMax); + + serverCmd.m_sendCollisionInfoArgs.m_rootWorldAABBMin[0] = aabbMin[0]; + serverCmd.m_sendCollisionInfoArgs.m_rootWorldAABBMin[1] = aabbMin[1]; + serverCmd.m_sendCollisionInfoArgs.m_rootWorldAABBMin[2] = aabbMin[2]; + + serverCmd.m_sendCollisionInfoArgs.m_rootWorldAABBMax[0] = aabbMax[0]; + serverCmd.m_sendCollisionInfoArgs.m_rootWorldAABBMax[1] = aabbMax[1]; + serverCmd.m_sendCollisionInfoArgs.m_rootWorldAABBMax[2] = aabbMax[2]; + SharedMemoryStatus& serverCmd = serverStatusOut; serverStatusOut.m_type = CMD_REQUEST_COLLISION_INFO_COMPLETED; - serverCmd.m_sendCollisionInfoArgs.m_numLinks = 0; - setDefaultRootWorldAABB(serverCmd); } #endif return hasStatus;