Merge pull request #6783 from sethalves/fix-h0ld-action

try harder to ensure that a held object is active in bullet
This commit is contained in:
Andrew Meadows 2016-01-07 10:53:55 -08:00
commit 8ae1e750ab
3 changed files with 7 additions and 4 deletions

View file

@ -90,7 +90,7 @@ void AvatarActionHold::prepareForPhysicsSimulation() {
// _palmRotationFromRigidBody = avatarRotationInverse * palmRotation;
});
activateBody();
activateBody(true);
}
std::shared_ptr<Avatar> AvatarActionHold::getTarget(glm::quat& rotation, glm::vec3& position) {

View file

@ -237,10 +237,13 @@ void ObjectAction::setAngularVelocity(glm::vec3 angularVelocity) {
rigidBody->activate();
}
void ObjectAction::activateBody() {
void ObjectAction::activateBody(bool forceActivation) {
auto rigidBody = getRigidBody();
if (rigidBody) {
rigidBody->activate();
rigidBody->activate(forceActivation);
assert(rigidBody->isActive());
} else {
qDebug() << "ObjectAction::activateBody -- no rigid body" << (void*)rigidBody;
}
}

View file

@ -62,7 +62,7 @@ protected:
virtual void setLinearVelocity(glm::vec3 linearVelocity) override;
virtual glm::vec3 getAngularVelocity() override;
virtual void setAngularVelocity(glm::vec3 angularVelocity) override;
virtual void activateBody();
virtual void activateBody(bool forceActivation = false);
virtual void forceBodyNonStatic();
EntityItemWeakPointer _ownerEntity;