diff options
| author | Sébastien Crozet <developer@crozet.re> | 2020-11-02 18:43:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-02 18:43:07 +0100 |
| commit | 9c72a0458b89741ce31744efa2d33f4b75de0d79 (patch) | |
| tree | 1da50d34e9342d99a6f15168862e9572b9127e6a /src/geometry/narrow_phase.rs | |
| parent | 4b8242b9c267a9412c88793575db37f79c544ca2 (diff) | |
| parent | 83482602717d1a9aebb181fb82456a292801cbdc (diff) | |
| download | rapier-9c72a0458b89741ce31744efa2d33f4b75de0d79.tar.gz rapier-9c72a0458b89741ce31744efa2d33f4b75de0d79.tar.bz2 rapier-9c72a0458b89741ce31744efa2d33f4b75de0d79.zip | |
Merge pull request #49 from dimforge/determinism_bug
Fix simulation reaching different states when started from different snaphots
Diffstat (limited to 'src/geometry/narrow_phase.rs')
| -rw-r--r-- | src/geometry/narrow_phase.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/geometry/narrow_phase.rs b/src/geometry/narrow_phase.rs index c1bd411..e3e52e5 100644 --- a/src/geometry/narrow_phase.rs +++ b/src/geometry/narrow_phase.rs @@ -424,7 +424,11 @@ impl NarrowPhase { let (generator, workspace) = dispatcher.dispatch(co1.shape().shape_type(), co2.shape().shape_type()); pair.generator = Some(generator); - pair.generator_workspace = workspace; + + // Keep the workspace if one already exists. + if pair.generator_workspace.is_none() { + pair.generator_workspace = workspace; + } } let context = ContactGenerationContext { |
