aboutsummaryrefslogtreecommitdiff
path: root/src/geometry
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2021-04-02 16:47:47 +0200
committerGitHub <noreply@github.com>2021-04-02 16:47:47 +0200
commitb97d377d10be950c08f38b9515e95436d68b5fc7 (patch)
treeb99401ff3cb3efd9c7db3bb1e8c56ac61ad51a58 /src/geometry
parent4a0b390f9b684bcd58a48fec06f4a2c95e6f21d4 (diff)
parentd9d89afb6e681ed9e04c61cc17865df135aa6f92 (diff)
downloadrapier-b97d377d10be950c08f38b9515e95436d68b5fc7.tar.gz
rapier-b97d377d10be950c08f38b9515e95436d68b5fc7.tar.bz2
rapier-b97d377d10be950c08f38b9515e95436d68b5fc7.zip
Merge pull request #162 from dimforge/determinism_after_snapshot
Fix determinism problem in the broad-phase after snapshot restoration.
Diffstat (limited to 'src/geometry')
-rw-r--r--src/geometry/broad_phase_multi_sap/sap_region.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/geometry/broad_phase_multi_sap/sap_region.rs b/src/geometry/broad_phase_multi_sap/sap_region.rs
index 4cebdda..40034c9 100644
--- a/src/geometry/broad_phase_multi_sap/sap_region.rs
+++ b/src/geometry/broad_phase_multi_sap/sap_region.rs
@@ -55,8 +55,16 @@ impl SAPRegion {
}
old.update_count = 0;
- old.existing_proxies.clear();
+
+ if cfg!(feature = "enhanced-determinism") {
+ old.existing_proxies = BitVec::new();
+ } else {
+ old.existing_proxies.clear();
+ }
+
old.id_in_parent_subregion = crate::INVALID_U32;
+ old.subregions.clear();
+ old.needs_update_after_subregion_removal = false;
// The rest of the fields should be "empty"
assert_eq!(old.subproper_proxy_count, 0);