aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-10-06 16:32:24 +0200
committerCrozet Sébastien <developer@crozet.re>2020-10-06 16:38:34 +0200
commitfc72aa6845a21b3af5d862968eddd3116036ac42 (patch)
treeb52864a0b05a711f342e104b4eea5325bc84d1cc
parent8c388687935b0f09a6a03b9de96fc80d15dd67c9 (diff)
downloadrapier-fc72aa6845a21b3af5d862968eddd3116036ac42.tar.gz
rapier-fc72aa6845a21b3af5d862968eddd3116036ac42.tar.bz2
rapier-fc72aa6845a21b3af5d862968eddd3116036ac42.zip
Fix examples.
-rw-r--r--src/geometry/broad_phase_multi_sap.rs14
-rw-r--r--src/pipeline/physics_pipeline.rs42
2 files changed, 18 insertions, 38 deletions
diff --git a/src/geometry/broad_phase_multi_sap.rs b/src/geometry/broad_phase_multi_sap.rs
index d85eae3..8e69d24 100644
--- a/src/geometry/broad_phase_multi_sap.rs
+++ b/src/geometry/broad_phase_multi_sap.rs
@@ -700,16 +700,13 @@ impl BroadPhase {
mod test {
use crate::dynamics::{JointSet, RigidBodyBuilder, RigidBodySet};
use crate::geometry::{BroadPhase, ColliderBuilder, ColliderSet, NarrowPhase};
- use crate::pipeline::PhysicsPipeline;
#[test]
fn test_add_update_remove() {
let mut broad_phase = BroadPhase::new();
- let mut narrow_phase = NarrowPhase::new();
let mut bodies = RigidBodySet::new();
let mut colliders = ColliderSet::new();
let mut joints = JointSet::new();
- let mut pipeline = PhysicsPipeline::new();
let rb = RigidBodyBuilder::new_dynamic().build();
let co = ColliderBuilder::ball(0.5).build();
@@ -718,15 +715,8 @@ mod test {
broad_phase.update_aabbs(0.0, &bodies, &mut colliders);
- pipeline.remove_rigid_body(
- hrb,
- &mut broad_phase,
- &mut narrow_phase,
- &mut bodies,
- &mut colliders,
- &mut joints,
- );
-
+ bodies.remove(hrb, &mut colliders, &mut joints);
+ broad_phase.maintain(&mut colliders);
broad_phase.update_aabbs(0.0, &bodies, &mut colliders);
// Create another body.
diff --git a/src/pipeline/physics_pipeline.rs b/src/pipeline/physics_pipeline.rs
index 462b341..47fd260 100644
--- a/src/pipeline/physics_pipeline.rs
+++ b/src/pipeline/physics_pipeline.rs
@@ -316,14 +316,7 @@ mod test {
let to_delete = [h1, h2, h3, h4];
for h in &to_delete {
- pipeline.remove_rigid_body(
- *h,
- &mut bf,
- &mut nf,
- &mut bodies,
- &mut colliders,
- &mut joints,
- );
+ bodies.remove(*h, &mut colliders, &mut joints);
}
pipeline.step(
@@ -342,30 +335,27 @@ mod test {
fn rigid_body_removal_snapshot_handle_determinism() {
let mut colliders = ColliderSet::new();
let mut joints = JointSet::new();
- let mut pipeline = PhysicsPipeline::new();
- let mut bf = BroadPhase::new();
- let mut nf = NarrowPhase::new();
- let mut set = RigidBodySet::new();
+ let mut bodies = RigidBodySet::new();
let rb = RigidBodyBuilder::new_dynamic().build();
- let h1 = set.insert(rb.clone());
- let h2 = set.insert(rb.clone());
- let h3 = set.insert(rb.clone());
+ let h1 = bodies.insert(rb.clone());
+ let h2 = bodies.insert(rb.clone());
+ let h3 = bodies.insert(rb.clone());
- pipeline.remove_rigid_body(h1, &mut bf, &mut nf, &mut set, &mut colliders, &mut joints);
- pipeline.remove_rigid_body(h3, &mut bf, &mut nf, &mut set, &mut colliders, &mut joints);
- pipeline.remove_rigid_body(h2, &mut bf, &mut nf, &mut set, &mut colliders, &mut joints);
+ bodies.remove(h1, &mut colliders, &mut joints);
+ bodies.remove(h3, &mut colliders, &mut joints);
+ bodies.remove(h2, &mut colliders, &mut joints);
- let ser_set = bincode::serialize(&set).unwrap();
- let mut set2: RigidBodySet = bincode::deserialize(&ser_set).unwrap();
+ let ser_bodies = bincode::serialize(&bodies).unwrap();
+ let mut bodies2: RigidBodySet = bincode::deserialize(&ser_bodies).unwrap();
- let h1a = set.insert(rb.clone());
- let h2a = set.insert(rb.clone());
- let h3a = set.insert(rb.clone());
+ let h1a = bodies.insert(rb.clone());
+ let h2a = bodies.insert(rb.clone());
+ let h3a = bodies.insert(rb.clone());
- let h1b = set2.insert(rb.clone());
- let h2b = set2.insert(rb.clone());
- let h3b = set2.insert(rb.clone());
+ let h1b = bodies2.insert(rb.clone());
+ let h2b = bodies2.insert(rb.clone());
+ let h3b = bodies2.insert(rb.clone());
assert_eq!(h1a, h1b);
assert_eq!(h2a, h2b);