diff options
author | erwin coumans <erwin.coumans@gmail.com> | 2021-04-20 10:24:09 -0700 |
---|---|---|
committer | erwin coumans <erwin.coumans@gmail.com> | 2021-04-20 10:24:09 -0700 |
commit | 78f5b141f92750b8ff0921052d7e9e649e2a457c (patch) | |
tree | 85ab0d0c79de379c3c0d590db8dc841d56536108 | |
parent | 84a63cf221437d356057e670fe46dcb11971e2ec (diff) | |
download | bullet3-78f5b141f92750b8ff0921052d7e9e649e2a457c.tar.gz |
fix for 'useMaximalCoordinates' rigid body in PyBullet: activate a rigid body after picking
-rw-r--r-- | examples/SharedMemory/PhysicsServerCommandProcessor.cpp | 5 |
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); |