diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-04-02 16:23:20 +0200 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-04-02 16:23:20 +0200 |
| commit | d9d89afb6e681ed9e04c61cc17865df135aa6f92 (patch) | |
| tree | b99401ff3cb3efd9c7db3bb1e8c56ac61ad51a58 /src/geometry | |
| parent | 4a0b390f9b684bcd58a48fec06f4a2c95e6f21d4 (diff) | |
| download | rapier-d9d89afb6e681ed9e04c61cc17865df135aa6f92.tar.gz rapier-d9d89afb6e681ed9e04c61cc17865df135aa6f92.tar.bz2 rapier-d9d89afb6e681ed9e04c61cc17865df135aa6f92.zip | |
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.rs | 10 |
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); |
