aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/physics
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-06-24 19:00:34 +0200
committerSébastien Crozet <developer@crozet.re>2022-07-01 12:00:32 +0200
commitc9d8277377681a6c5162abe4e8f17a058eebcfd4 (patch)
treeb5c01635c6530ddcbb1453e8f9b29e3bc9a50910 /src_testbed/physics
parentd6b61898612d05e12b52d9636e9bb21dccdca4bb (diff)
downloadrapier-c9d8277377681a6c5162abe4e8f17a058eebcfd4.tar.gz
rapier-c9d8277377681a6c5162abe4e8f17a058eebcfd4.tar.bz2
rapier-c9d8277377681a6c5162abe4e8f17a058eebcfd4.zip
Add contact force events generated above a user-defined threshold
Diffstat (limited to 'src_testbed/physics')
-rw-r--r--src_testbed/physics/mod.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src_testbed/physics/mod.rs b/src_testbed/physics/mod.rs
index a848ea8..ebcc326 100644
--- a/src_testbed/physics/mod.rs
+++ b/src_testbed/physics/mod.rs
@@ -3,7 +3,7 @@ use rapier::dynamics::{
CCDSolver, ImpulseJointSet, IntegrationParameters, IslandManager, MultibodyJointSet,
RigidBodySet,
};
-use rapier::geometry::{BroadPhase, ColliderSet, CollisionEvent, NarrowPhase};
+use rapier::geometry::{BroadPhase, ColliderSet, CollisionEvent, CollisionForceEvent, NarrowPhase};
use rapier::math::{Real, Vector};
use rapier::pipeline::{PhysicsHooks, PhysicsPipeline, QueryPipeline};
@@ -107,11 +107,13 @@ impl PhysicsState {
}
pub struct PhysicsEvents {
- pub events: Receiver<CollisionEvent>,
+ pub collision_events: Receiver<CollisionEvent>,
+ pub contact_force_events: Receiver<CollisionForceEvent>,
}
impl PhysicsEvents {
pub fn poll_all(&self) {
- while let Ok(_) = self.events.try_recv() {}
+ while let Ok(_) = self.collision_events.try_recv() {}
+ while let Ok(_) = self.contact_force_events.try_recv() {}
}
}