aboutsummaryrefslogtreecommitdiff
path: root/src/geometry/broad_phase_multi_sap
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-01-02 18:05:50 +0100
committerGitHub <noreply@github.com>2022-01-02 18:05:50 +0100
commit1308db89948bc62fb865b32f832f19268f23dd23 (patch)
treeb3d8b0cbb6d2e75aa8fc7686e9cb8801527a31b8 /src/geometry/broad_phase_multi_sap
parent8e7da5ad45d180b0d3fa2bde37f8f3771b153b70 (diff)
parent9f9d3293605fa84555c08bec5efe68a71cd18432 (diff)
downloadrapier-1308db89948bc62fb865b32f832f19268f23dd23.tar.gz
rapier-1308db89948bc62fb865b32f832f19268f23dd23.tar.bz2
rapier-1308db89948bc62fb865b32f832f19268f23dd23.zip
Merge pull request #267 from dimforge/multibody
Implement multibody joints, and new velocity-based constraints solver
Diffstat (limited to 'src/geometry/broad_phase_multi_sap')
-rw-r--r--src/geometry/broad_phase_multi_sap/broad_phase.rs17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/geometry/broad_phase_multi_sap/broad_phase.rs b/src/geometry/broad_phase_multi_sap/broad_phase.rs
index 0ed12b6..d2b0076 100644
--- a/src/geometry/broad_phase_multi_sap/broad_phase.rs
+++ b/src/geometry/broad_phase_multi_sap/broad_phase.rs
@@ -80,7 +80,6 @@ pub struct BroadPhase {
layers: Vec<SAPLayer>,
smallest_layer: u8,
largest_layer: u8,
- deleted_any: bool,
// NOTE: we maintain this hashmap to simplify collider removal.
// This information is also present in the ColliderProxyId
// component. However if that component is removed, we need
@@ -133,7 +132,6 @@ impl BroadPhase {
region_pool: Vec::new(),
reporting: HashMap::default(),
colliders_proxy_ids: HashMap::default(),
- deleted_any: false,
}
}
@@ -622,7 +620,9 @@ impl BroadPhase {
#[cfg(test)]
mod test {
- use crate::dynamics::{IslandManager, JointSet, RigidBodyBuilder, RigidBodySet};
+ use crate::dynamics::{
+ ImpulseJointSet, IslandManager, MultibodyJointSet, RigidBodyBuilder, RigidBodySet,
+ };
use crate::geometry::{BroadPhase, ColliderBuilder, ColliderSet};
#[test]
@@ -630,7 +630,8 @@ mod test {
let mut broad_phase = BroadPhase::new();
let mut bodies = RigidBodySet::new();
let mut colliders = ColliderSet::new();
- let mut joints = JointSet::new();
+ let mut impulse_joints = ImpulseJointSet::new();
+ let mut multibody_joints = MultibodyJointSet::new();
let mut islands = IslandManager::new();
let rb = RigidBodyBuilder::new_dynamic().build();
@@ -641,7 +642,13 @@ mod test {
let mut events = Vec::new();
broad_phase.update(0.0, &mut colliders, &[coh], &[], &mut events);
- bodies.remove(hrb, &mut islands, &mut colliders, &mut joints);
+ bodies.remove(
+ hrb,
+ &mut islands,
+ &mut colliders,
+ &mut impulse_joints,
+ &mut multibody_joints,
+ );
broad_phase.update(0.0, &mut colliders, &[], &[coh], &mut events);
// Create another body.