aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/engine.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-10-27 14:23:41 +0100
committerCrozet Sébastien <developer@crozet.re>2020-10-27 14:35:01 +0100
commit380c204151ce85da0c21ff420e399e7edc31bfe8 (patch)
tree361608f478d8955534196a80d0be4d4b6b500b75 /src_testbed/engine.rs
parentcb6a7ff9468347735ef63db9a9e38faeb476981b (diff)
downloadrapier-380c204151ce85da0c21ff420e399e7edc31bfe8.tar.gz
rapier-380c204151ce85da0c21ff420e399e7edc31bfe8.tar.bz2
rapier-380c204151ce85da0c21ff420e399e7edc31bfe8.zip
Add collision groups demos.
Diffstat (limited to 'src_testbed/engine.rs')
-rw-r--r--src_testbed/engine.rs7
1 files changed, 7 insertions, 0 deletions
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<BoundaryHandle, FluidNode>,
b2color: HashMap<RigidBodyHandle, Point3<f32>>,
+ c2color: HashMap<ColliderHandle, Point3<f32>>,
b2wireframe: HashMap<RigidBodyHandle, bool>,
#[cfg(feature = "fluids")]
f2color: HashMap<FluidHandle, Point3<f32>>,
@@ -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<f32>) {
+ 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);
}