aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-03-06 22:45:28 +0100
committerGitHub <noreply@github.com>2022-03-06 22:45:28 +0100
commit7703333781ccb19e533c25eb53f19a01e51858f7 (patch)
treeb4eb7fa9817bcf8aab15f146f2606edc6bc91651
parent8acacd39c7d4cb382464558086c3d33718b03abe (diff)
parent8c5f88738dd9be9ca3458d610c34d39a85956d23 (diff)
downloadrapier-7703333781ccb19e533c25eb53f19a01e51858f7.tar.gz
rapier-7703333781ccb19e533c25eb53f19a01e51858f7.tar.bz2
rapier-7703333781ccb19e533c25eb53f19a01e51858f7.zip
Merge pull request #286 from funmaker/sleep_fix
Fix rigid bodies falling asleep when linear/angular threshold is negative
-rw-r--r--src/dynamics/island_manager.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynamics/island_manager.rs b/src/dynamics/island_manager.rs
index 53f803d..631cf7a 100644
--- a/src/dynamics/island_manager.rs
+++ b/src/dynamics/island_manager.rs
@@ -352,8 +352,8 @@ impl IslandManager {
}
fn update_energy(activation: &mut RigidBodyActivation, sq_linvel: Real, sq_angvel: Real, dt: Real) {
- if sq_linvel < activation.linear_threshold * activation.linear_threshold
- && sq_angvel < activation.angular_threshold * activation.angular_threshold
+ if sq_linvel < activation.linear_threshold * activation.linear_threshold.abs()
+ && sq_angvel < activation.angular_threshold * activation.angular_threshold.abs()
{
activation.time_since_can_sleep += dt;
} else {