diff options
| -rw-r--r-- | examples3d-f64/debug_serialized3.rs | 2 | ||||
| -rw-r--r-- | examples3d/debug_deserialize3.rs | 2 | ||||
| -rw-r--r-- | src/geometry/broad_phase_multi_sap/broad_phase_multi_sap.rs (renamed from src/geometry/broad_phase_multi_sap/broad_phase.rs) | 14 | ||||
| -rw-r--r-- | src/geometry/broad_phase_multi_sap/mod.rs | 4 | ||||
| -rw-r--r-- | src/geometry/broad_phase_multi_sap/sap_layer.rs | 4 | ||||
| -rw-r--r-- | src/geometry/broad_phase_qbvh.rs | 6 | ||||
| -rw-r--r-- | src/geometry/mod.rs | 4 | ||||
| -rw-r--r-- | src/pipeline/collision_pipeline.rs | 11 | ||||
| -rw-r--r-- | src/pipeline/physics_pipeline.rs | 16 | ||||
| -rw-r--r-- | src_testbed/harness/mod.rs | 4 | ||||
| -rw-r--r-- | src_testbed/physics/mod.rs | 12 |
11 files changed, 41 insertions, 38 deletions
diff --git a/examples3d-f64/debug_serialized3.rs b/examples3d-f64/debug_serialized3.rs index e2fa747..86ff2a8 100644 --- a/examples3d-f64/debug_serialized3.rs +++ b/examples3d-f64/debug_serialized3.rs @@ -4,7 +4,7 @@ use rapier_testbed3d::Testbed; #[derive(serde::Deserialize)] struct State { pub islands: IslandManager, - pub broad_phase: BroadPhase, + pub broad_phase: BroadPhaseMultiSap, pub narrow_phase: NarrowPhase, pub bodies: RigidBodySet, pub colliders: ColliderSet, diff --git a/examples3d/debug_deserialize3.rs b/examples3d/debug_deserialize3.rs index b8b79fb..e1ea083 100644 --- a/examples3d/debug_deserialize3.rs +++ b/examples3d/debug_deserialize3.rs @@ -6,7 +6,7 @@ struct PhysicsState { pub gravity: Vector<f32>, pub integration_parameters: IntegrationParameters, pub islands: IslandManager, - pub broad_phase: BroadPhase, + pub broad_phase: BroadPhaseMultiSap, pub narrow_phase: NarrowPhase, pub bodies: RigidBodySet, pub colliders: ColliderSet, diff --git a/src/geometry/broad_phase_multi_sap/broad_phase.rs b/src/geometry/broad_phase_multi_sap/broad_phase_multi_sap.rs index 9e1bc06..24bc72d 100644 --- a/src/geometry/broad_phase_multi_sap/broad_phase.rs +++ b/src/geometry/broad_phase_multi_sap/broad_phase_multi_sap.rs @@ -74,7 +74,7 @@ use parry::utils::hashmap::HashMap; /// broad-phase, as well as the Aabbs of all the regions part of this broad-phase. #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] #[derive(Clone)] -pub struct BroadPhase { +pub struct BroadPhaseMultiSap { proxies: SAPProxies, layers: Vec<SAPLayer>, smallest_layer: u8, @@ -114,16 +114,16 @@ pub struct BroadPhase { reporting: HashMap<(u32, u32), bool>, // Workspace } -impl Default for BroadPhase { +impl Default for BroadPhaseMultiSap { fn default() -> Self { Self::new() } } -impl BroadPhase { +impl BroadPhaseMultiSap { /// Create a new empty broad-phase. pub fn new() -> Self { - BroadPhase { + BroadPhaseMultiSap { proxies: SAPProxies::new(), layers: Vec::new(), smallest_layer: 0, @@ -138,7 +138,7 @@ impl BroadPhase { /// /// For each colliders marked as removed, we make their containing layer mark /// its proxy as pre-deleted. The actual proxy removal will happen at the end - /// of the `BroadPhase::update`. + /// of the `BroadPhaseMultiSap::update`. fn handle_removed_colliders(&mut self, removed_colliders: &[ColliderHandle]) { // For each removed collider, remove the corresponding proxy. for removed in removed_colliders { @@ -623,11 +623,11 @@ mod test { use crate::dynamics::{ ImpulseJointSet, IslandManager, MultibodyJointSet, RigidBodyBuilder, RigidBodySet, }; - use crate::geometry::{BroadPhase, ColliderBuilder, ColliderSet}; + use crate::geometry::{BroadPhaseMultiSap, ColliderBuilder, ColliderSet}; #[test] fn test_add_update_remove() { - let mut broad_phase = BroadPhase::new(); + let mut broad_phase = BroadPhaseMultiSap::new(); let mut bodies = RigidBodySet::new(); let mut colliders = ColliderSet::new(); let mut impulse_joints = ImpulseJointSet::new(); diff --git a/src/geometry/broad_phase_multi_sap/mod.rs b/src/geometry/broad_phase_multi_sap/mod.rs index 0f85e96..a1951c7 100644 --- a/src/geometry/broad_phase_multi_sap/mod.rs +++ b/src/geometry/broad_phase_multi_sap/mod.rs @@ -1,4 +1,4 @@ -pub use self::broad_phase::BroadPhase; +pub use self::broad_phase_multi_sap::BroadPhaseMultiSap; pub use self::broad_phase_pair_event::{BroadPhasePairEvent, ColliderPair}; pub use self::sap_proxy::SAPProxyIndex; @@ -9,7 +9,7 @@ use self::sap_proxy::*; use self::sap_region::*; use self::sap_utils::*; -mod broad_phase; +mod broad_phase_multi_sap; mod broad_phase_pair_event; mod sap_axis; mod sap_endpoint; diff --git a/src/geometry/broad_phase_multi_sap/sap_layer.rs b/src/geometry/broad_phase_multi_sap/sap_layer.rs index 2266d56..12dc7f7 100644 --- a/src/geometry/broad_phase_multi_sap/sap_layer.rs +++ b/src/geometry/broad_phase_multi_sap/sap_layer.rs @@ -71,7 +71,7 @@ impl SAPLayer { /// /// This method must be called in a bottom-up loop, propagating new regions from the /// smallest layer, up to the largest layer. That loop is done by the Phase 3 of the - /// BroadPhase::update. + /// BroadPhaseMultiSap::update. pub fn propagate_created_regions( &mut self, larger_layer: &mut Self, @@ -182,7 +182,7 @@ impl SAPLayer { /// If the region with the given region key does not exist yet, it is created. /// When a region is created, it creates a new proxy for that region, and its /// proxy ID is added to `self.created_region` so it can be propagated during - /// the Phase 3 of `BroadPhase::update`. + /// the Phase 3 of `BroadPhaseMultiSap::update`. /// /// This returns the proxy ID of the already existing region if it existed, or /// of the new region if it did not exist and has been created by this method. diff --git a/src/geometry/broad_phase_qbvh.rs b/src/geometry/broad_phase_qbvh.rs index 22ca562..56c2b6f 100644 --- a/src/geometry/broad_phase_qbvh.rs +++ b/src/geometry/broad_phase_qbvh.rs @@ -7,20 +7,20 @@ use parry::query::visitors::BoundingVolumeIntersectionsSimultaneousVisitor; #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] #[derive(Clone)] -pub struct BroadPhase { +pub struct BroadPhaseQbvh { qbvh: Qbvh<ColliderHandle>, stack: Vec<(u32, u32)>, #[cfg_attr(feature = "serde-serialize", serde(skip))] workspace: QbvhUpdateWorkspace, } -impl Default for BroadPhase { +impl Default for BroadPhaseQbvh { fn default() -> Self { Self::new() } } -impl BroadPhase { +impl BroadPhaseQbvh { pub fn new() -> Self { Self { qbvh: Qbvh::new(), diff --git a/src/geometry/mod.rs b/src/geometry/mod.rs index 1525211..e3a868f 100644 --- a/src/geometry/mod.rs +++ b/src/geometry/mod.rs @@ -2,8 +2,8 @@ pub use self::broad_phase_multi_sap::{BroadPhasePairEvent, ColliderPair}; -pub use self::broad_phase_multi_sap::BroadPhase; -// pub use self::broad_phase_qbvh::BroadPhase; +pub use self::broad_phase_multi_sap::BroadPhaseMultiSap; +// pub use self::broad_phase_qbvh::BroadPhaseMultiSap; pub use self::collider_components::*; pub use self::contact_pair::{ ContactData, ContactManifoldData, ContactPair, IntersectionPair, SolverContact, SolverFlags, diff --git a/src/pipeline/collision_pipeline.rs b/src/pipeline/collision_pipeline.rs index 03396ed..504ad8f 100644 --- a/src/pipeline/collision_pipeline.rs +++ b/src/pipeline/collision_pipeline.rs @@ -2,7 +2,8 @@ use crate::dynamics::{ImpulseJointSet, MultibodyJointSet}; use crate::geometry::{ - BroadPhase, BroadPhasePairEvent, ColliderChanges, ColliderHandle, ColliderPair, NarrowPhase, + BroadPhaseMultiSap, BroadPhasePairEvent, ColliderChanges, ColliderHandle, ColliderPair, + NarrowPhase, }; use crate::math::Real; use crate::pipeline::{EventHandler, PhysicsHooks, QueryPipeline}; @@ -43,7 +44,7 @@ impl CollisionPipeline { fn detect_collisions( &mut self, prediction_distance: Real, - broad_phase: &mut BroadPhase, + broad_phase: &mut BroadPhaseMultiSap, narrow_phase: &mut NarrowPhase, bodies: &mut RigidBodySet, colliders: &mut ColliderSet, @@ -107,7 +108,7 @@ impl CollisionPipeline { pub fn step( &mut self, prediction_distance: Real, - broad_phase: &mut BroadPhase, + broad_phase: &mut BroadPhaseMultiSap, narrow_phase: &mut NarrowPhase, bodies: &mut RigidBodySet, colliders: &mut ColliderSet, @@ -192,7 +193,7 @@ mod tests { let _ = collider_set.insert(collider_b); let integration_parameters = IntegrationParameters::default(); - let mut broad_phase = BroadPhase::new(); + let mut broad_phase = BroadPhaseMultiSap::new(); let mut narrow_phase = NarrowPhase::new(); let mut collision_pipeline = CollisionPipeline::new(); let physics_hooks = (); @@ -244,7 +245,7 @@ mod tests { let _ = collider_set.insert(collider_b); let integration_parameters = IntegrationParameters::default(); - let mut broad_phase = BroadPhase::new(); + let mut broad_phase = BroadPhaseMultiSap::new(); let mut narrow_phase = NarrowPhase::new(); let mut collision_pipeline = CollisionPipeline::new(); let physics_hooks = (); diff --git a/src/pipeline/physics_pipeline.rs b/src/pipeline/physics_pipeline.rs index 893882d..6b4d11d 100644 --- a/src/pipeline/physics_pipeline.rs +++ b/src/pipeline/physics_pipeline.rs @@ -10,7 +10,7 @@ use crate::dynamics::{ RigidBodyChanges, RigidBodyHandle, RigidBodyPosition, RigidBodyType, }; use crate::geometry::{ - BroadPhase, BroadPhasePairEvent, ColliderChanges, ColliderHandle, ColliderPair, + BroadPhaseMultiSap, BroadPhasePairEvent, ColliderChanges, ColliderHandle, ColliderPair, ContactManifoldIndex, NarrowPhase, TemporaryInteractionIndex, }; use crate::math::{Real, Vector}; @@ -93,7 +93,7 @@ impl PhysicsPipeline { &mut self, integration_parameters: &IntegrationParameters, islands: &mut IslandManager, - broad_phase: &mut BroadPhase, + broad_phase: &mut BroadPhaseMultiSap, narrow_phase: &mut NarrowPhase, bodies: &mut RigidBodySet, colliders: &mut ColliderSet, @@ -406,7 +406,7 @@ impl PhysicsPipeline { gravity: &Vector<Real>, integration_parameters: &IntegrationParameters, islands: &mut IslandManager, - broad_phase: &mut BroadPhase, + broad_phase: &mut BroadPhaseMultiSap, narrow_phase: &mut NarrowPhase, bodies: &mut RigidBodySet, colliders: &mut ColliderSet, @@ -650,7 +650,7 @@ mod test { CCDSolver, ImpulseJointSet, IntegrationParameters, IslandManager, RigidBodyBuilder, RigidBodySet, }; - use crate::geometry::{BroadPhase, ColliderBuilder, ColliderSet, NarrowPhase}; + use crate::geometry::{BroadPhaseMultiSap, ColliderBuilder, ColliderSet, NarrowPhase}; use crate::math::Vector; use crate::pipeline::PhysicsPipeline; use crate::prelude::{MultibodyJointSet, RigidBodyType}; @@ -661,7 +661,7 @@ mod test { let mut impulse_joints = ImpulseJointSet::new(); let mut multibody_joints = MultibodyJointSet::new(); let mut pipeline = PhysicsPipeline::new(); - let mut bf = BroadPhase::new(); + let mut bf = BroadPhaseMultiSap::new(); let mut nf = NarrowPhase::new(); let mut bodies = RigidBodySet::new(); let mut islands = IslandManager::new(); @@ -699,7 +699,7 @@ mod test { let mut impulse_joints = ImpulseJointSet::new(); let mut multibody_joints = MultibodyJointSet::new(); let mut pipeline = PhysicsPipeline::new(); - let mut bf = BroadPhase::new(); + let mut bf = BroadPhaseMultiSap::new(); let mut nf = NarrowPhase::new(); let mut islands = IslandManager::new(); @@ -809,7 +809,7 @@ mod test { let mut pipeline = PhysicsPipeline::new(); let gravity = Vector::y() * -9.81; let integration_parameters = IntegrationParameters::default(); - let mut broad_phase = BroadPhase::new(); + let mut broad_phase = BroadPhaseMultiSap::new(); let mut narrow_phase = NarrowPhase::new(); let mut bodies = RigidBodySet::new(); let mut colliders = ColliderSet::new(); @@ -859,7 +859,7 @@ mod test { let mut impulse_joints = ImpulseJointSet::new(); let mut multibody_joints = MultibodyJointSet::new(); let mut pipeline = PhysicsPipeline::new(); - let mut bf = BroadPhase::new(); + let mut bf = BroadPhaseMultiSap::new(); let mut nf = NarrowPhase::new(); let mut islands = IslandManager::new(); diff --git a/src_testbed/harness/mod.rs b/src_testbed/harness/mod.rs index e27a03a..458f02f 100644 --- a/src_testbed/harness/mod.rs +++ b/src_testbed/harness/mod.rs @@ -9,7 +9,7 @@ use rapier::dynamics::{ CCDSolver, ImpulseJointSet, IntegrationParameters, IslandManager, MultibodyJointSet, RigidBodySet, }; -use rapier::geometry::{BroadPhase, ColliderSet, NarrowPhase}; +use rapier::geometry::{BroadPhaseMultiSap, ColliderSet, NarrowPhase}; use rapier::math::{Real, Vector}; use rapier::pipeline::{ChannelEventCollector, PhysicsHooks, PhysicsPipeline, QueryPipeline}; @@ -179,7 +179,7 @@ impl Harness { self.physics.hooks = Box::new(hooks); self.physics.islands = IslandManager::new(); - self.physics.broad_phase = BroadPhase::new(); + self.physics.broad_phase = BroadPhaseMultiSap::new(); self.physics.narrow_phase = NarrowPhase::new(); self.state.timestep_id = 0; self.state.time = 0.0; diff --git a/src_testbed/physics/mod.rs b/src_testbed/physics/mod.rs index c3b750f..38c9da0 100644 --- a/src_testbed/physics/mod.rs +++ b/src_testbed/physics/mod.rs @@ -3,7 +3,9 @@ use rapier::dynamics::{ CCDSolver, ImpulseJointSet, IntegrationParameters, IslandManager, MultibodyJointSet, RigidBodySet, }; -use rapier::geometry::{BroadPhase, ColliderSet, CollisionEvent, ContactForceEvent, NarrowPhase}; +use rapier::geometry::{ + BroadPhaseMultiSap, ColliderSet, CollisionEvent, ContactForceEvent, NarrowPhase, +}; use rapier::math::{Real, Vector}; use rapier::pipeline::{PhysicsHooks, PhysicsPipeline, QueryPipeline}; @@ -20,7 +22,7 @@ pub struct PhysicsSnapshot { pub struct DeserializedPhysicsSnapshot { pub timestep_id: usize, - pub broad_phase: BroadPhase, + pub broad_phase: BroadPhaseMultiSap, pub narrow_phase: NarrowPhase, pub island_manager: IslandManager, pub bodies: RigidBodySet, @@ -32,7 +34,7 @@ pub struct DeserializedPhysicsSnapshot { impl PhysicsSnapshot { pub fn new( timestep_id: usize, - broad_phase: &BroadPhase, + broad_phase: &BroadPhaseMultiSap, narrow_phase: &NarrowPhase, island_manager: &IslandManager, bodies: &RigidBodySet, @@ -86,7 +88,7 @@ impl PhysicsSnapshot { pub struct PhysicsState { pub islands: IslandManager, - pub broad_phase: BroadPhase, + pub broad_phase: BroadPhaseMultiSap, pub narrow_phase: NarrowPhase, pub bodies: RigidBodySet, pub colliders: ColliderSet, @@ -110,7 +112,7 @@ impl PhysicsState { pub fn new() -> Self { Self { islands: IslandManager::new(), - broad_phase: BroadPhase::new(), + broad_phase: BroadPhaseMultiSap::new(), narrow_phase: NarrowPhase::new(), bodies: RigidBodySet::new(), colliders: ColliderSet::new(), |
