aboutsummaryrefslogtreecommitdiff
path: root/src/geometry/narrow_phase.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2020-11-02 18:43:07 +0100
committerGitHub <noreply@github.com>2020-11-02 18:43:07 +0100
commit9c72a0458b89741ce31744efa2d33f4b75de0d79 (patch)
tree1da50d34e9342d99a6f15168862e9572b9127e6a /src/geometry/narrow_phase.rs
parent4b8242b9c267a9412c88793575db37f79c544ca2 (diff)
parent83482602717d1a9aebb181fb82456a292801cbdc (diff)
downloadrapier-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.rs6
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 {