diff options
| author | Sébastien Crozet <developer@crozet.re> | 2022-02-20 12:55:00 +0100 |
|---|---|---|
| committer | Sébastien Crozet <sebastien@crozet.re> | 2022-03-20 21:49:16 +0100 |
| commit | fb20d72ee29de9311a81aec6eb9f02fd2aa35fc4 (patch) | |
| tree | 45827ac4c754c3670d1ddb2f91fc498515d6b3b8 /src/dynamics/island_manager.rs | |
| parent | e740493b980dc9856864ead3206a4fa02aff965f (diff) | |
| download | rapier-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.rs | 32 |
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; |
