Fix examples.
This commit is contained in:
@@ -700,16 +700,13 @@ impl BroadPhase {
|
|||||||
mod test {
|
mod test {
|
||||||
use crate::dynamics::{JointSet, RigidBodyBuilder, RigidBodySet};
|
use crate::dynamics::{JointSet, RigidBodyBuilder, RigidBodySet};
|
||||||
use crate::geometry::{BroadPhase, ColliderBuilder, ColliderSet, NarrowPhase};
|
use crate::geometry::{BroadPhase, ColliderBuilder, ColliderSet, NarrowPhase};
|
||||||
use crate::pipeline::PhysicsPipeline;
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_add_update_remove() {
|
fn test_add_update_remove() {
|
||||||
let mut broad_phase = BroadPhase::new();
|
let mut broad_phase = BroadPhase::new();
|
||||||
let mut narrow_phase = NarrowPhase::new();
|
|
||||||
let mut bodies = RigidBodySet::new();
|
let mut bodies = RigidBodySet::new();
|
||||||
let mut colliders = ColliderSet::new();
|
let mut colliders = ColliderSet::new();
|
||||||
let mut joints = JointSet::new();
|
let mut joints = JointSet::new();
|
||||||
let mut pipeline = PhysicsPipeline::new();
|
|
||||||
|
|
||||||
let rb = RigidBodyBuilder::new_dynamic().build();
|
let rb = RigidBodyBuilder::new_dynamic().build();
|
||||||
let co = ColliderBuilder::ball(0.5).build();
|
let co = ColliderBuilder::ball(0.5).build();
|
||||||
@@ -718,15 +715,8 @@ mod test {
|
|||||||
|
|
||||||
broad_phase.update_aabbs(0.0, &bodies, &mut colliders);
|
broad_phase.update_aabbs(0.0, &bodies, &mut colliders);
|
||||||
|
|
||||||
pipeline.remove_rigid_body(
|
bodies.remove(hrb, &mut colliders, &mut joints);
|
||||||
hrb,
|
broad_phase.maintain(&mut colliders);
|
||||||
&mut broad_phase,
|
|
||||||
&mut narrow_phase,
|
|
||||||
&mut bodies,
|
|
||||||
&mut colliders,
|
|
||||||
&mut joints,
|
|
||||||
);
|
|
||||||
|
|
||||||
broad_phase.update_aabbs(0.0, &bodies, &mut colliders);
|
broad_phase.update_aabbs(0.0, &bodies, &mut colliders);
|
||||||
|
|
||||||
// Create another body.
|
// Create another body.
|
||||||
|
|||||||
@@ -316,14 +316,7 @@ mod test {
|
|||||||
|
|
||||||
let to_delete = [h1, h2, h3, h4];
|
let to_delete = [h1, h2, h3, h4];
|
||||||
for h in &to_delete {
|
for h in &to_delete {
|
||||||
pipeline.remove_rigid_body(
|
bodies.remove(*h, &mut colliders, &mut joints);
|
||||||
*h,
|
|
||||||
&mut bf,
|
|
||||||
&mut nf,
|
|
||||||
&mut bodies,
|
|
||||||
&mut colliders,
|
|
||||||
&mut joints,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pipeline.step(
|
pipeline.step(
|
||||||
@@ -342,30 +335,27 @@ mod test {
|
|||||||
fn rigid_body_removal_snapshot_handle_determinism() {
|
fn rigid_body_removal_snapshot_handle_determinism() {
|
||||||
let mut colliders = ColliderSet::new();
|
let mut colliders = ColliderSet::new();
|
||||||
let mut joints = JointSet::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 rb = RigidBodyBuilder::new_dynamic().build();
|
||||||
let h1 = set.insert(rb.clone());
|
let h1 = bodies.insert(rb.clone());
|
||||||
let h2 = set.insert(rb.clone());
|
let h2 = bodies.insert(rb.clone());
|
||||||
let h3 = set.insert(rb.clone());
|
let h3 = bodies.insert(rb.clone());
|
||||||
|
|
||||||
pipeline.remove_rigid_body(h1, &mut bf, &mut nf, &mut set, &mut colliders, &mut joints);
|
bodies.remove(h1, &mut colliders, &mut joints);
|
||||||
pipeline.remove_rigid_body(h3, &mut bf, &mut nf, &mut set, &mut colliders, &mut joints);
|
bodies.remove(h3, &mut colliders, &mut joints);
|
||||||
pipeline.remove_rigid_body(h2, &mut bf, &mut nf, &mut set, &mut colliders, &mut joints);
|
bodies.remove(h2, &mut colliders, &mut joints);
|
||||||
|
|
||||||
let ser_set = bincode::serialize(&set).unwrap();
|
let ser_bodies = bincode::serialize(&bodies).unwrap();
|
||||||
let mut set2: RigidBodySet = bincode::deserialize(&ser_set).unwrap();
|
let mut bodies2: RigidBodySet = bincode::deserialize(&ser_bodies).unwrap();
|
||||||
|
|
||||||
let h1a = set.insert(rb.clone());
|
let h1a = bodies.insert(rb.clone());
|
||||||
let h2a = set.insert(rb.clone());
|
let h2a = bodies.insert(rb.clone());
|
||||||
let h3a = set.insert(rb.clone());
|
let h3a = bodies.insert(rb.clone());
|
||||||
|
|
||||||
let h1b = set2.insert(rb.clone());
|
let h1b = bodies2.insert(rb.clone());
|
||||||
let h2b = set2.insert(rb.clone());
|
let h2b = bodies2.insert(rb.clone());
|
||||||
let h3b = set2.insert(rb.clone());
|
let h3b = bodies2.insert(rb.clone());
|
||||||
|
|
||||||
assert_eq!(h1a, h1b);
|
assert_eq!(h1a, h1b);
|
||||||
assert_eq!(h2a, h2b);
|
assert_eq!(h2a, h2b);
|
||||||
|
|||||||
Reference in New Issue
Block a user