aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/island_manager.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-02-20 12:55:00 +0100
committerSébastien Crozet <sebastien@crozet.re>2022-03-20 21:49:16 +0100
commitfb20d72ee29de9311a81aec6eb9f02fd2aa35fc4 (patch)
tree45827ac4c754c3670d1ddb2f91fc498515d6b3b8 /src/dynamics/island_manager.rs
parente740493b980dc9856864ead3206a4fa02aff965f (diff)
downloadrapier-fb20d72ee29de9311a81aec6eb9f02fd2aa35fc4.tar.gz
rapier-fb20d72ee29de9311a81aec6eb9f02fd2aa35fc4.tar.bz2
rapier-fb20d72ee29de9311a81aec6eb9f02fd2aa35fc4.zip
Joint API and joint motors improvements
Diffstat (limited to 'src/dynamics/island_manager.rs')
-rw-r--r--src/dynamics/island_manager.rs32
1 files changed, 1 insertions, 31 deletions
diff --git a/src/dynamics/island_manager.rs b/src/dynamics/island_manager.rs
index 631cf7a..7cf16d6 100644
--- a/src/dynamics/island_manager.rs
+++ b/src/dynamics/island_manager.rs
@@ -136,36 +136,6 @@ impl IslandManager {
.chain(self.active_kinematic_set.iter().copied())
}
- /*
- #[cfg(feature = "parallel")]
- #[inline(always)]
- #[allow(dead_code)]
- pub(crate) fn foreach_active_island_body_mut_internal_parallel<Set>(
- &self,
- island_id: usize,
- bodies: &mut Set,
- f: impl Fn(RigidBodyHandle, &mut RigidBody) + Send + Sync,
- ) where
- Set: ComponentSet<T>,
- {
- use std::sync::atomic::Ordering;
-
- let island_range = self.active_islands[island_id]..self.active_islands[island_id + 1];
- let bodies = std::sync::atomic::AtomicPtr::new(&mut bodies as *mut _);
- self.active_dynamic_set[island_range]
- .par_iter()
- .for_each_init(
- || bodies.load(Ordering::Relaxed),
- |bodies, handle| {
- let bodies: &mut Set = unsafe { std::mem::transmute(*bodies) };
- if let Some(rb) = bodies.get_mut_internal(handle.0) {
- f(*handle, rb)
- }
- },
- );
- }
- */
-
#[cfg(feature = "parallel")]
pub(crate) fn active_island_range(&self, island_id: usize) -> std::ops::Range<usize> {
self.active_islands[island_id]..self.active_islands[island_id + 1]
@@ -203,7 +173,7 @@ impl IslandManager {
// NOTE: the `.rev()` is here so that two successive timesteps preserve
// the order of the bodies in the `active_dynamic_set` vec. This reversal
// does not seem to affect performances nor stability. However it makes
- // debugging slightly nicer so we keep this rev.
+ // debugging slightly nicer.
for h in self.active_dynamic_set.drain(..).rev() {
let can_sleep = &mut self.can_sleep;
let stack = &mut self.stack;