diff options
Diffstat (limited to 'src/geometry/narrow_phase.rs')
| -rw-r--r-- | src/geometry/narrow_phase.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/geometry/narrow_phase.rs b/src/geometry/narrow_phase.rs index fd2652d..69678cd 100644 --- a/src/geometry/narrow_phase.rs +++ b/src/geometry/narrow_phase.rs @@ -320,10 +320,10 @@ impl NarrowPhase { if let Some(filter) = pair_filter { let context = PairFilterContext { - collider1: co1, - collider2: co2, rigid_body1: rb1, rigid_body2: rb2, + collider1: co1, + collider2: co2, }; if !filter.filter_proximity_pair(&context) { @@ -389,12 +389,12 @@ impl NarrowPhase { return; } - let solver_flags = if let Some(filter) = pair_filter { + let mut solver_flags = if let Some(filter) = pair_filter { let context = PairFilterContext { - collider1: co1, - collider2: co2, rigid_body1: rb1, rigid_body2: rb2, + collider1: co1, + collider2: co2, }; if let Some(solver_flags) = filter.filter_contact_pair(&context) { @@ -404,13 +404,13 @@ impl NarrowPhase { return; } } else { - if co1.solver_groups.test(co2.solver_groups) { - SolverFlags::COMPUTE_IMPULSES - } else { - SolverFlags::empty() - } + SolverFlags::COMPUTE_IMPULSES }; + if !co1.solver_groups.test(co2.solver_groups) { + solver_flags.remove(SolverFlags::COMPUTE_IMPULSES); + } + let dispatcher = DefaultContactDispatcher; if pair.generator.is_none() { // We need a redispatch for this generator. |
