diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-01-22 16:10:24 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-01-22 16:10:24 +0100 |
| commit | cf52e01308cefcce71b9914c539641cb7530b22c (patch) | |
| tree | 8e12a108d040d2b287957bec2b611c569b530bc7 /examples3d/fountain3.rs | |
| parent | 800b35b103c60a3f13dffdfe1c20561074041cea (diff) | |
| parent | e6fc8f67faf3e37afe38d683cbd930d457f289be (diff) | |
| download | rapier-cf52e01308cefcce71b9914c539641cb7530b22c.tar.gz rapier-cf52e01308cefcce71b9914c539641cb7530b22c.tar.bz2 rapier-cf52e01308cefcce71b9914c539641cb7530b22c.zip | |
Merge branch 'master' into split_geom
# Conflicts:
# examples2d/sensor2.rs
# examples3d/sensor3.rs
# src/dynamics/integration_parameters.rs
# src/dynamics/solver/parallel_island_solver.rs
# src/dynamics/solver/velocity_constraint.rs
# src/dynamics/solver/velocity_ground_constraint.rs
# src_testbed/nphysics_backend.rs
# src_testbed/physx_backend.rs
# src_testbed/testbed.rs
Diffstat (limited to 'examples3d/fountain3.rs')
| -rw-r--r-- | examples3d/fountain3.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/examples3d/fountain3.rs b/examples3d/fountain3.rs index fafa988..5acc2e8 100644 --- a/examples3d/fountain3.rs +++ b/examples3d/fountain3.rs @@ -26,7 +26,7 @@ pub fn init_world(testbed: &mut Testbed) { let mut k = 0; // Callback that will be executed on the main loop to handle proximities. - testbed.add_callback(move |window, physics, _, graphics, _| { + testbed.add_callback(move |mut window, mut graphics, physics, _, _| { k += 1; let rigid_body = RigidBodyBuilder::new_dynamic() .translation(0.0, 10.0, 0.0) @@ -41,7 +41,10 @@ pub fn init_world(testbed: &mut Testbed) { physics .colliders .insert(collider, handle, &mut physics.bodies); - graphics.add(window, handle, &physics.bodies, &physics.colliders); + + if let (Some(graphics), Some(window)) = (&mut graphics, &mut window) { + graphics.add(window, handle, &physics.bodies, &physics.colliders); + } if physics.bodies.len() > MAX_NUMBER_OF_BODIES { let mut to_remove: Vec<_> = physics @@ -67,7 +70,10 @@ pub fn init_world(testbed: &mut Testbed) { physics .narrow_phase .maintain(&mut physics.colliders, &mut physics.bodies); - graphics.remove_body_nodes(window, *handle); + + if let (Some(graphics), Some(window)) = (&mut graphics, &mut window) { + graphics.remove_body_nodes(window, *handle); + } } } }); |
