From 380c204151ce85da0c21ff420e399e7edc31bfe8 Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Tue, 27 Oct 2020 14:23:41 +0100 Subject: Add collision groups demos. --- src_testbed/engine.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src_testbed/engine.rs') diff --git a/src_testbed/engine.rs b/src_testbed/engine.rs index b02f146..1bafdb6 100644 --- a/src_testbed/engine.rs +++ b/src_testbed/engine.rs @@ -63,6 +63,7 @@ pub struct GraphicsManager { #[cfg(feature = "fluids")] boundary2sn: HashMap, b2color: HashMap>, + c2color: HashMap>, b2wireframe: HashMap, #[cfg(feature = "fluids")] f2color: HashMap>, @@ -100,6 +101,7 @@ impl GraphicsManager { #[cfg(feature = "fluids")] boundary2sn: HashMap::new(), b2color: HashMap::new(), + c2color: HashMap::new(), #[cfg(feature = "fluids")] f2color: HashMap::new(), ground_color: Point3::new(0.5, 0.5, 0.5), @@ -186,6 +188,10 @@ impl GraphicsManager { } } + pub fn set_collider_initial_color(&mut self, c: ColliderHandle, color: Point3) { + self.c2color.insert(c, color); + } + pub fn set_body_wireframe(&mut self, b: RigidBodyHandle, enabled: bool) { self.b2wireframe.insert(b, enabled); @@ -324,6 +330,7 @@ impl GraphicsManager { let mut new_nodes = Vec::new(); for collider_handle in bodies[handle].colliders() { + let color = self.c2color.get(collider_handle).copied().unwrap_or(color); let collider = &colliders[*collider_handle]; self.add_collider(window, *collider_handle, collider, color, &mut new_nodes); } -- cgit