aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/testbed.rs
diff options
context:
space:
mode:
authorRobert Hrusecky <robert.hrusecky@utexas.edu>2020-10-29 18:09:41 -0500
committerRobert Hrusecky <robert.hrusecky@utexas.edu>2020-10-29 18:09:41 -0500
commitbcec54ef31d987cf20b493628a20777183a95f65 (patch)
treecee40c0467c04f1f02861342e20ce8223ca6d99b /src_testbed/testbed.rs
parentdd8e25bc4756b8bd01d283b5d7e7c5daa9a1af3f (diff)
parent4b8242b9c267a9412c88793575db37f79c544ca2 (diff)
downloadrapier-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.rs27
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,
);