From d4937071e189121dab2dd0d46b0d33eeb1878771 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 23 Nov 2015 12:17:15 -0800 Subject: [PATCH] rather than activating rigid body and forcing non-static on deserialize, just force non-static --- interface/src/avatar/AvatarActionHold.cpp | 2 +- libraries/physics/src/ObjectAction.cpp | 3 +++ libraries/physics/src/ObjectAction.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/interface/src/avatar/AvatarActionHold.cpp b/interface/src/avatar/AvatarActionHold.cpp index 39490ddbc5..dd96b3a3d9 100644 --- a/interface/src/avatar/AvatarActionHold.cpp +++ b/interface/src/avatar/AvatarActionHold.cpp @@ -328,5 +328,5 @@ void AvatarActionHold::deserialize(QByteArray serializedArguments) { _active = true; }); - activateBody(); + forceBodyNonStatic(); } diff --git a/libraries/physics/src/ObjectAction.cpp b/libraries/physics/src/ObjectAction.cpp index 8e0cdfd266..17b565ba21 100644 --- a/libraries/physics/src/ObjectAction.cpp +++ b/libraries/physics/src/ObjectAction.cpp @@ -244,6 +244,9 @@ void ObjectAction::activateBody() { if (rigidBody) { rigidBody->activate(); } +} + +void ObjectAction::forceBodyNonStatic() { auto ownerEntity = _ownerEntity.lock(); if (!ownerEntity) { return; diff --git a/libraries/physics/src/ObjectAction.h b/libraries/physics/src/ObjectAction.h index afb6745e9c..e44036eadc 100644 --- a/libraries/physics/src/ObjectAction.h +++ b/libraries/physics/src/ObjectAction.h @@ -63,6 +63,7 @@ protected: virtual glm::vec3 getAngularVelocity(); virtual void setAngularVelocity(glm::vec3 angularVelocity); virtual void activateBody(); + virtual void forceBodyNonStatic(); EntityItemWeakPointer _ownerEntity; QString _tag;