diff options
| author | Sébastien Crozet <sebcrozet@dimforge.com> | 2024-03-23 14:47:05 +0100 |
|---|---|---|
| committer | Sébastien Crozet <sebastien@crozet.re> | 2024-03-23 15:17:47 +0100 |
| commit | b3a00b4123c85d047b5ab6b89d4d500cc2b92ba6 (patch) | |
| tree | b77fce1d0d672ef9888136229e289b314fe38066 | |
| parent | 3d112287b9fd5aa3ddf8c17bc1e6065fa721a9ce (diff) | |
| download | rapier-b3a00b4123c85d047b5ab6b89d4d500cc2b92ba6.tar.gz rapier-b3a00b4123c85d047b5ab6b89d4d500cc2b92ba6.tar.bz2 rapier-b3a00b4123c85d047b5ab6b89d4d500cc2b92ba6.zip | |
feat: add the DefaultBroadPhase type alias
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rw-r--r-- | examples3d-f64/debug_serialized3.rs | 2 | ||||
| -rw-r--r-- | examples3d/debug_deserialize3.rs | 2 | ||||
| -rw-r--r-- | src/geometry/mod.rs | 6 | ||||
| -rw-r--r-- | src/pipeline/collision_pipeline.rs | 5 | ||||
| -rw-r--r-- | src_testbed/harness/mod.rs | 4 | ||||
| -rw-r--r-- | src_testbed/physics/mod.rs | 10 |
7 files changed, 17 insertions, 15 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a41b43..c2fb8a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,8 @@ ### Modified - Renamed `BroadPhase` to `BroadPhaseMultiSap`. The `BroadPhase` is no a trait that can be - implemented for providing a custom broad-phase to rapier. + implemented for providing a custom broad-phase to rapier. Equivalently, the `DefaultBroadPhase` type + alias can be used in place of `BroadPhaseMultiSap`. ## v0.18.0 (24 Jan. 2024) diff --git a/examples3d-f64/debug_serialized3.rs b/examples3d-f64/debug_serialized3.rs index 86ff2a8..3801d37 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: BroadPhaseMultiSap, + pub broad_phase: DefaultBroadPhase, pub narrow_phase: NarrowPhase, pub bodies: RigidBodySet, pub colliders: ColliderSet, diff --git a/examples3d/debug_deserialize3.rs b/examples3d/debug_deserialize3.rs index e1ea083..0762b4d 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: BroadPhaseMultiSap, + pub broad_phase: DefaultBroadPhase, pub narrow_phase: NarrowPhase, pub bodies: RigidBodySet, pub colliders: ColliderSet, diff --git a/src/geometry/mod.rs b/src/geometry/mod.rs index 565f9a3..5d2fb2f 100644 --- a/src/geometry/mod.rs +++ b/src/geometry/mod.rs @@ -49,10 +49,12 @@ pub type Aabb = parry::bounding_volume::Aabb; pub type Ray = parry::query::Ray; /// The intersection between a ray and a collider. pub type RayIntersection = parry::query::RayIntersection; -/// The the projection of a point on a collider. +/// The projection of a point on a collider. pub type PointProjection = parry::query::PointProjection; -/// The the time of impact between two shapes. +/// The time of impact between two shapes. pub type TOI = parry::query::TOI; +/// The default broad-phase implementation provided by Rapier. +pub type DefaultBroadPhase = BroadPhaseMultiSap; bitflags::bitflags! { /// Flags providing more information regarding a collision event. diff --git a/src/pipeline/collision_pipeline.rs b/src/pipeline/collision_pipeline.rs index 52f68a3..66bd9ad 100644 --- a/src/pipeline/collision_pipeline.rs +++ b/src/pipeline/collision_pipeline.rs @@ -2,8 +2,7 @@ use crate::dynamics::{ImpulseJointSet, MultibodyJointSet}; use crate::geometry::{ - BroadPhase, BroadPhaseMultiSap, BroadPhasePairEvent, ColliderChanges, ColliderHandle, - ColliderPair, NarrowPhase, + BroadPhase, BroadPhasePairEvent, ColliderChanges, ColliderHandle, ColliderPair, NarrowPhase, }; use crate::math::Real; use crate::pipeline::{EventHandler, PhysicsHooks, QueryPipeline}; @@ -108,7 +107,7 @@ impl CollisionPipeline { pub fn step( &mut self, prediction_distance: Real, - broad_phase: &mut BroadPhaseMultiSap, + broad_phase: &mut dyn BroadPhase, narrow_phase: &mut NarrowPhase, bodies: &mut RigidBodySet, colliders: &mut ColliderSet, diff --git a/src_testbed/harness/mod.rs b/src_testbed/harness/mod.rs index 458f02f..9c41472 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::{BroadPhaseMultiSap, ColliderSet, NarrowPhase}; +use rapier::geometry::{ColliderSet, DefaultBroadPhase, 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 = BroadPhaseMultiSap::new(); + self.physics.broad_phase = DefaultBroadPhase::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 38c9da0..3c69f6e 100644 --- a/src_testbed/physics/mod.rs +++ b/src_testbed/physics/mod.rs @@ -4,7 +4,7 @@ use rapier::dynamics::{ RigidBodySet, }; use rapier::geometry::{ - BroadPhaseMultiSap, ColliderSet, CollisionEvent, ContactForceEvent, NarrowPhase, + ColliderSet, CollisionEvent, ContactForceEvent, DefaultBroadPhase, NarrowPhase, }; use rapier::math::{Real, Vector}; use rapier::pipeline::{PhysicsHooks, PhysicsPipeline, QueryPipeline}; @@ -22,7 +22,7 @@ pub struct PhysicsSnapshot { pub struct DeserializedPhysicsSnapshot { pub timestep_id: usize, - pub broad_phase: BroadPhaseMultiSap, + pub broad_phase: DefaultBroadPhase, pub narrow_phase: NarrowPhase, pub island_manager: IslandManager, pub bodies: RigidBodySet, @@ -34,7 +34,7 @@ pub struct DeserializedPhysicsSnapshot { impl PhysicsSnapshot { pub fn new( timestep_id: usize, - broad_phase: &BroadPhaseMultiSap, + broad_phase: &DefaultBroadPhase, narrow_phase: &NarrowPhase, island_manager: &IslandManager, bodies: &RigidBodySet, @@ -88,7 +88,7 @@ impl PhysicsSnapshot { pub struct PhysicsState { pub islands: IslandManager, - pub broad_phase: BroadPhaseMultiSap, + pub broad_phase: DefaultBroadPhase, pub narrow_phase: NarrowPhase, pub bodies: RigidBodySet, pub colliders: ColliderSet, @@ -112,7 +112,7 @@ impl PhysicsState { pub fn new() -> Self { Self { islands: IslandManager::new(), - broad_phase: BroadPhaseMultiSap::new(), + broad_phase: DefaultBroadPhase::new(), narrow_phase: NarrowPhase::new(), bodies: RigidBodySet::new(), colliders: ColliderSet::new(), |
