fix compilation for feature enhanced-determinism (#739)
This commit is contained in:
4
.github/workflows/rapier-ci-build.yml
vendored
4
.github/workflows/rapier-ci-build.yml
vendored
@@ -59,6 +59,10 @@ jobs:
|
||||
run: cd crates/rapier_testbed2d; cargo check --verbose --features parallel;
|
||||
- name: Check rapier_testbed3d --features parallel
|
||||
run: cd crates/rapier_testbed3d; cargo check --verbose --features parallel;
|
||||
- name: Check rapier_testbed2d --features enhanced-determinism
|
||||
run: cd crates/rapier2d; cargo check --verbose --features enhanced-determinism;
|
||||
- name: Check rapier_testbed3d --features enhanced-determinism
|
||||
run: cd crates/rapier3d; cargo check --verbose --features enhanced-determinism;
|
||||
- name: Check rapier-examples-2d
|
||||
run: cargo check -j 1 --verbose -p rapier-examples-2d;
|
||||
- name: Check rapier-examples-3d
|
||||
|
||||
@@ -231,7 +231,12 @@ impl BroadPhaseMultiSap {
|
||||
* Actually remove the colliders proxies.
|
||||
*/
|
||||
for removed in removed_colliders {
|
||||
if let Some(proxy_id) = self.colliders_proxy_ids.remove(removed) {
|
||||
#[cfg(feature = "enhanced-determinism")]
|
||||
let proxy_id = self.colliders_proxy_ids.swap_remove(removed);
|
||||
#[cfg(not(feature = "enhanced-determinism"))]
|
||||
let proxy_id = self.colliders_proxy_ids.remove(removed);
|
||||
|
||||
if let Some(proxy_id) = proxy_id {
|
||||
if proxy_id != crate::INVALID_U32 {
|
||||
self.proxies.remove(proxy_id);
|
||||
}
|
||||
|
||||
@@ -356,6 +356,9 @@ impl SAPLayer {
|
||||
|
||||
// Check if we can actually delete this region.
|
||||
if !region.contains_subproper_proxies() {
|
||||
#[cfg(feature = "enhanced-determinism")]
|
||||
let region_id = region_id.swap_remove();
|
||||
#[cfg(not(feature = "enhanced-determinism"))]
|
||||
let region_id = region_id.remove();
|
||||
|
||||
// We can delete this region. So we need to tell the larger
|
||||
|
||||
@@ -426,11 +426,17 @@ impl PhysicsPipeline {
|
||||
|
||||
// Apply some of delayed wake-ups.
|
||||
self.counters.stages.user_changes.start();
|
||||
for handle in impulse_joints
|
||||
#[cfg(feature = "enhanced-determinism")]
|
||||
let impulse_joints_iterator = impulse_joints
|
||||
.to_wake_up
|
||||
.drain(..)
|
||||
.chain(multibody_joints.to_wake_up.drain(..));
|
||||
#[cfg(not(feature = "enhanced-determinism"))]
|
||||
let impulse_joints_iterator = impulse_joints
|
||||
.to_wake_up
|
||||
.drain()
|
||||
.chain(multibody_joints.to_wake_up.drain())
|
||||
{
|
||||
.chain(multibody_joints.to_wake_up.drain());
|
||||
for handle in impulse_joints_iterator {
|
||||
islands.wake_up(bodies, handle.0, true);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user