diff options
| author | Robert Hrusecky <robert.hrusecky@utexas.edu> | 2020-10-29 18:09:41 -0500 |
|---|---|---|
| committer | Robert Hrusecky <robert.hrusecky@utexas.edu> | 2020-10-29 18:09:41 -0500 |
| commit | bcec54ef31d987cf20b493628a20777183a95f65 (patch) | |
| tree | cee40c0467c04f1f02861342e20ce8223ca6d99b /src_testbed/testbed.rs | |
| parent | dd8e25bc4756b8bd01d283b5d7e7c5daa9a1af3f (diff) | |
| parent | 4b8242b9c267a9412c88793575db37f79c544ca2 (diff) | |
| download | rapier-bcec54ef31d987cf20b493628a20777183a95f65.tar.gz rapier-bcec54ef31d987cf20b493628a20777183a95f65.tar.bz2 rapier-bcec54ef31d987cf20b493628a20777183a95f65.zip | |
Merge branch 'master' into infinite_fall_memory
Fix merge conflict resulting from "axii" spelling correction
Diffstat (limited to 'src_testbed/testbed.rs')
| -rw-r--r-- | src_testbed/testbed.rs | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index 3d7fd7d..3bf720a 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -21,7 +21,12 @@ use na::{self, Point2, Point3, Vector3}; use rapier::dynamics::{ ActivationStatus, IntegrationParameters, JointSet, RigidBodyHandle, RigidBodySet, }; -use rapier::geometry::{BroadPhase, ColliderSet, ContactEvent, NarrowPhase, ProximityEvent, Ray}; +#[cfg(feature = "dim3")] +use rapier::geometry::Ray; +use rapier::geometry::{ + BroadPhase, ColliderHandle, ColliderSet, ContactEvent, InteractionGroups, NarrowPhase, + ProximityEvent, +}; use rapier::math::Vector; use rapier::pipeline::{ChannelEventCollector, PhysicsPipeline, QueryPipeline}; #[cfg(feature = "fluids")] @@ -495,6 +500,10 @@ impl Testbed { self.graphics.set_body_color(body, color); } + pub fn set_collider_initial_color(&mut self, collider: ColliderHandle, color: Point3<f32>) { + self.graphics.set_collider_initial_color(collider, color); + } + #[cfg(feature = "fluids")] pub fn set_fluid_color(&mut self, fluid: FluidHandle, color: Point3<f32>) { self.graphics.set_fluid_color(fluid, color); @@ -672,6 +681,8 @@ impl Testbed { &mut self.physics.bodies, &mut self.physics.colliders, &mut self.physics.joints, + None, + None, &self.event_handler, ); @@ -1180,10 +1191,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() { @@ -1446,6 +1459,8 @@ impl State for Testbed { &mut physics.bodies, &mut physics.colliders, &mut physics.joints, + None, + None, event_handler, ); }); @@ -1460,6 +1475,8 @@ impl State for Testbed { &mut self.physics.bodies, &mut self.physics.colliders, &mut self.physics.joints, + None, + None, &self.event_handler, ); |
