aboutsummaryrefslogtreecommitdiff
path: root/src_testbed
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-10-27 14:29:58 +0100
committerCrozet Sébastien <developer@crozet.re>2020-10-27 14:35:01 +0100
commitb4d322a6ca8dc363c5085ba5539281d50be7a525 (patch)
treeac17e604d27f307b8f31626b248bdaf98ea7d4f7 /src_testbed
parent5a5ba9cf5992a71f8bbdf594d17f0385bf7f86ba (diff)
downloadrapier-b4d322a6ca8dc363c5085ba5539281d50be7a525.tar.gz
rapier-b4d322a6ca8dc363c5085ba5539281d50be7a525.tar.bz2
rapier-b4d322a6ca8dc363c5085ba5539281d50be7a525.zip
Take collision groups into account for ray-casting.
Diffstat (limited to 'src_testbed')
-rw-r--r--src_testbed/testbed.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs
index 3a1b938..456b894 100644
--- a/src_testbed/testbed.rs
+++ b/src_testbed/testbed.rs
@@ -24,7 +24,8 @@ use rapier::dynamics::{
#[cfg(feature = "dim3")]
use rapier::geometry::Ray;
use rapier::geometry::{
- BroadPhase, ColliderHandle, ColliderSet, ContactEvent, NarrowPhase, ProximityEvent,
+ BroadPhase, ColliderHandle, ColliderSet, ContactEvent, InteractionGroups, NarrowPhase,
+ ProximityEvent,
};
use rapier::math::Vector;
use rapier::pipeline::{ChannelEventCollector, PhysicsPipeline, QueryPipeline};
@@ -1188,10 +1189,12 @@ impl Testbed {
.camera()
.unproject(&self.cursor_pos, &na::convert(size));
let ray = Ray::new(pos, dir);
- let hit = self
- .physics
- .query_pipeline
- .cast_ray(&self.physics.colliders, &ray, f32::MAX);
+ let hit = self.physics.query_pipeline.cast_ray(
+ &self.physics.colliders,
+ &ray,
+ f32::MAX,
+ InteractionGroups::all(),
+ );
if let Some((_, collider, _)) = hit {
if self.physics.bodies[collider.parent()].is_dynamic() {