summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerwin coumans <erwin.coumans@gmail.com>2021-04-20 10:24:09 -0700
committererwin coumans <erwin.coumans@gmail.com>2021-04-20 10:24:09 -0700
commit78f5b141f92750b8ff0921052d7e9e649e2a457c (patch)
tree85ab0d0c79de379c3c0d590db8dc841d56536108
parent84a63cf221437d356057e670fe46dcb11971e2ec (diff)
downloadbullet3-78f5b141f92750b8ff0921052d7e9e649e2a457c.tar.gz
fix for 'useMaximalCoordinates' rigid body in PyBullet: activate a rigid body after picking
-rw-r--r--examples/SharedMemory/PhysicsServerCommandProcessor.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp
index 88b50fcca..ed7a38d21 100644
--- a/examples/SharedMemory/PhysicsServerCommandProcessor.cpp
+++ b/examples/SharedMemory/PhysicsServerCommandProcessor.cpp
@@ -14602,7 +14602,12 @@ bool PhysicsServerCommandProcessor::pickBody(const btVector3& rayFromWorld, cons
{
m_data->m_pickedBody = body;
m_data->m_savedActivationState = body->getActivationState();
+ if (m_data->m_savedActivationState==ISLAND_SLEEPING)
+ {
+ m_data->m_savedActivationState = ACTIVE_TAG;
+ }
m_data->m_pickedBody->setActivationState(DISABLE_DEACTIVATION);
+ m_data->m_pickedBody->setDeactivationTime(0);
//printf("pickPos=%f,%f,%f\n",pickPos.getX(),pickPos.getY(),pickPos.getZ());
btVector3 localPivot = body->getCenterOfMassTransform().inverse() * pickPos;
btPoint2PointConstraint* p2p = new btPoint2PointConstraint(*body, localPivot);