From 288627bd419f0e83131927e747c23fe6d12e4459 Mon Sep 17 00:00:00 2001 From: Minigee Date: Sat, 26 Jun 2021 02:30:14 -0500 Subject: [PATCH] Fixed a bug where changing the transform of a Collider attached to a sleeping RigidBody caused the body to remain asleep --- include/reactphysics3d/body/RigidBody.h | 1 + src/collision/Collider.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/reactphysics3d/body/RigidBody.h b/include/reactphysics3d/body/RigidBody.h index d82a019f..4c2873fc 100644 --- a/include/reactphysics3d/body/RigidBody.h +++ b/include/reactphysics3d/body/RigidBody.h @@ -222,6 +222,7 @@ class RigidBody : public CollisionBody { friend class SolveHingeJointSystem; friend class SolveSliderJointSystem; friend class Joint; + friend class Collider; }; /// Compute the inverse of the inertia tensor in world coordinates. diff --git a/src/collision/Collider.cpp b/src/collision/Collider.cpp index 514f101b..cad778b6 100644 --- a/src/collision/Collider.cpp +++ b/src/collision/Collider.cpp @@ -114,7 +114,7 @@ void Collider::setLocalToBodyTransform(const Transform& transform) { RigidBody* rigidBody = static_cast(mBody); if (rigidBody != nullptr) { - mBody->mWorld.mRigidBodyComponents.setIsSleeping(mBody->getEntity(), false); + rigidBody->setIsSleeping(false); } mBody->mWorld.mCollisionDetection.updateCollider(mEntity, 0);