diff options
| author | Crozet Sébastien <developer@crozet.re> | 2020-10-27 13:36:53 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2020-10-27 14:35:01 +0100 |
| commit | cb6a7ff9468347735ef63db9a9e38faeb476981b (patch) | |
| tree | 49f3a20afbd5a3be4c3d9de25f630f6b353e6406 /src/geometry/narrow_phase.rs | |
| parent | 3def91d62eba6ca2486fdaa386f78d82923c705a (diff) | |
| download | rapier-cb6a7ff9468347735ef63db9a9e38faeb476981b.tar.gz rapier-cb6a7ff9468347735ef63db9a9e38faeb476981b.tar.bz2 rapier-cb6a7ff9468347735ef63db9a9e38faeb476981b.zip | |
Add solver flags for controlling whether or not some contacts should be taken into account by the constraints solver.
Diffstat (limited to 'src/geometry/narrow_phase.rs')
| -rw-r--r-- | src/geometry/narrow_phase.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/geometry/narrow_phase.rs b/src/geometry/narrow_phase.rs index 5bcdcdb..290d55f 100644 --- a/src/geometry/narrow_phase.rs +++ b/src/geometry/narrow_phase.rs @@ -15,7 +15,7 @@ use crate::geometry::proximity_detector::{ //}; use crate::geometry::{ BroadPhasePairEvent, ColliderGraphIndex, ColliderHandle, ContactEvent, ProximityEvent, - ProximityPair, RemovedCollider, + ProximityPair, RemovedCollider, SolverFlags, }; use crate::geometry::{ColliderSet, ContactManifold, ContactPair, InteractionGraph}; //#[cfg(feature = "simd-is-enabled")] @@ -374,11 +374,18 @@ impl NarrowPhase { pair.generator_workspace = workspace; } + let solver_flags = if co1.solver_groups.test(co2.solver_groups) { + SolverFlags::COMPUTE_FORCES + } else { + SolverFlags::empty() + }; + let context = ContactGenerationContext { dispatcher: &dispatcher, prediction_distance, colliders, pair, + solver_flags, }; context |
