From 6512a67422c688372899cb9ac2834e8dbcf2fc6d Mon Sep 17 00:00:00 2001 From: Tigran Gasparian Date: Mon, 22 Oct 2018 14:06:58 +0200 Subject: [PATCH] Uses btCollisionBody::isActive instead of btMultiBody::isAwake to determine whether to send transform changed notifications. --- .../SharedMemory/PhysicsServerCommandProcessor.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp index 98545600a..972269b42 100644 --- a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp +++ b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp @@ -10999,14 +10999,19 @@ void PhysicsServerCommandProcessor::addTransformChangedNotifications() { continue; } - if (bodyData->m_multiBody && bodyData->m_multiBody->isAwake()) + if (bodyData->m_multiBody) { btMultiBody* mb = bodyData->m_multiBody; - m_data->m_pluginManager.addNotification(createTransformChangedNotification(bodyUniqueId, -1, mb->getBaseCollider())); - + if (mb->getBaseCollider()->isActive()) + { + m_data->m_pluginManager.addNotification(createTransformChangedNotification(bodyUniqueId, -1, mb->getBaseCollider())); + } for (int linkIndex = 0; linkIndex < mb->getNumLinks(); linkIndex++) { - m_data->m_pluginManager.addNotification(createTransformChangedNotification(bodyUniqueId, linkIndex, mb->getLinkCollider(linkIndex))); + if (mb->getLinkCollider(linkIndex)->isActive()) + { + m_data->m_pluginManager.addNotification(createTransformChangedNotification(bodyUniqueId, linkIndex, mb->getLinkCollider(linkIndex))); + } } } else if (bodyData->m_rigidBody && bodyData->m_rigidBody->isActive())