From 24bd97636e890195c8a72f8e265809bbae44ab13 Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Tue, 27 Oct 2020 16:21:33 +0100 Subject: Rename SolverFlags::COMPUTE_FORCES to SolverFlags::COMPUTE_IMPULSES. This is closer to what the solver actually does. --- src/geometry/contact.rs | 2 +- src/geometry/narrow_phase.rs | 6 ++++-- src/geometry/user_callbacks.rs | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src/geometry') diff --git a/src/geometry/contact.rs b/src/geometry/contact.rs index 1f50e43..d8f3632 100644 --- a/src/geometry/contact.rs +++ b/src/geometry/contact.rs @@ -15,7 +15,7 @@ bitflags::bitflags! { pub struct SolverFlags: u32 { /// The constraint solver will take this contact manifold into /// account for force computation. - const COMPUTE_FORCES = 0b01; + const COMPUTE_IMPULSES = 0b01; } } diff --git a/src/geometry/narrow_phase.rs b/src/geometry/narrow_phase.rs index fb5da99..fd2652d 100644 --- a/src/geometry/narrow_phase.rs +++ b/src/geometry/narrow_phase.rs @@ -405,7 +405,7 @@ impl NarrowPhase { } } else { if co1.solver_groups.test(co2.solver_groups) { - SolverFlags::COMPUTE_FORCES + SolverFlags::COMPUTE_IMPULSES } else { SolverFlags::empty() } @@ -454,7 +454,9 @@ impl NarrowPhase { for manifold in &mut inter.weight.manifolds { let rb1 = &bodies[manifold.body_pair.body1]; let rb2 = &bodies[manifold.body_pair.body2]; - if manifold.solver_flags.contains(SolverFlags::COMPUTE_FORCES) + if manifold + .solver_flags + .contains(SolverFlags::COMPUTE_IMPULSES) && manifold.num_active_contacts() != 0 && (rb1.is_dynamic() || rb2.is_dynamic()) && (!rb1.is_dynamic() || !rb1.is_sleeping()) diff --git a/src/geometry/user_callbacks.rs b/src/geometry/user_callbacks.rs index 3602faf..9b36695 100644 --- a/src/geometry/user_callbacks.rs +++ b/src/geometry/user_callbacks.rs @@ -33,7 +33,7 @@ pub trait ContactPairFilter: Send + Sync { /// not compute any contact manifolds for it. /// If this returns `Some`, then the narrow-phase will compute contact manifolds for /// this pair of colliders, and configure them with the returned solver flags. For - /// example, if this returns `Some(SolverFlags::COMPUTE_FORCES)` then the contacts + /// example, if this returns `Some(SolverFlags::COMPUTE_IMPULSES)` then the contacts /// will be taken into account by the constraints solver. If this returns /// `Some(SolverFlags::empty())` then the constraints solver will ignore these /// contacts. -- cgit