diff options
Diffstat (limited to 'src/geometry/broad_phase_multi_sap')
| -rw-r--r-- | src/geometry/broad_phase_multi_sap/broad_phase.rs | 5 | ||||
| -rw-r--r-- | src/geometry/broad_phase_multi_sap/mod.rs | 12 | ||||
| -rw-r--r-- | src/geometry/broad_phase_multi_sap/sap_axis.rs | 5 | ||||
| -rw-r--r-- | src/geometry/broad_phase_multi_sap/sap_proxy.rs | 13 | ||||
| -rw-r--r-- | src/geometry/broad_phase_multi_sap/sap_region.rs | 1 |
5 files changed, 15 insertions, 21 deletions
diff --git a/src/geometry/broad_phase_multi_sap/broad_phase.rs b/src/geometry/broad_phase_multi_sap/broad_phase.rs index 0667184..9e1bc06 100644 --- a/src/geometry/broad_phase_multi_sap/broad_phase.rs +++ b/src/geometry/broad_phase_multi_sap/broad_phase.rs @@ -445,9 +445,8 @@ impl BroadPhase { ); } - let need_region_propagation = !layer.created_regions.is_empty(); - - need_region_propagation + // Returns true if propagation is needed. + !layer.created_regions.is_empty() } /// Updates the broad-phase, taking into account the new collider positions. diff --git a/src/geometry/broad_phase_multi_sap/mod.rs b/src/geometry/broad_phase_multi_sap/mod.rs index 01f7847..0f85e96 100644 --- a/src/geometry/broad_phase_multi_sap/mod.rs +++ b/src/geometry/broad_phase_multi_sap/mod.rs @@ -2,12 +2,12 @@ pub use self::broad_phase::BroadPhase; pub use self::broad_phase_pair_event::{BroadPhasePairEvent, ColliderPair}; pub use self::sap_proxy::SAPProxyIndex; -pub(self) use self::sap_axis::*; -pub(self) use self::sap_endpoint::*; -pub(self) use self::sap_layer::*; -pub(self) use self::sap_proxy::*; -pub(self) use self::sap_region::*; -pub(self) use self::sap_utils::*; +use self::sap_axis::*; +use self::sap_endpoint::*; +use self::sap_layer::*; +use self::sap_proxy::*; +use self::sap_region::*; +use self::sap_utils::*; mod broad_phase; mod broad_phase_pair_event; diff --git a/src/geometry/broad_phase_multi_sap/sap_axis.rs b/src/geometry/broad_phase_multi_sap/sap_axis.rs index 4e2ab44..2452148 100644 --- a/src/geometry/broad_phase_multi_sap/sap_axis.rs +++ b/src/geometry/broad_phase_multi_sap/sap_axis.rs @@ -65,9 +65,8 @@ impl SAPAxis { proxy.aabb, self.min_bound ); - let start_endpoint = - SAPEndpoint::start_endpoint(proxy.aabb.mins[dim], *proxy_id as u32); - let end_endpoint = SAPEndpoint::end_endpoint(proxy.aabb.maxs[dim], *proxy_id as u32); + let start_endpoint = SAPEndpoint::start_endpoint(proxy.aabb.mins[dim], *proxy_id); + let end_endpoint = SAPEndpoint::end_endpoint(proxy.aabb.maxs[dim], *proxy_id); self.new_endpoints.push((start_endpoint, 0)); self.new_endpoints.push((end_endpoint, 0)); diff --git a/src/geometry/broad_phase_multi_sap/sap_proxy.rs b/src/geometry/broad_phase_multi_sap/sap_proxy.rs index 9ddd8b9..4d5d79e 100644 --- a/src/geometry/broad_phase_multi_sap/sap_proxy.rs +++ b/src/geometry/broad_phase_multi_sap/sap_proxy.rs @@ -15,10 +15,7 @@ pub enum SAPProxyData { impl SAPProxyData { pub fn is_region(&self) -> bool { - match self { - SAPProxyData::Region(_) => true, - _ => false, - } + matches!(self, SAPProxyData::Region(_)) } pub fn as_region(&self) -> &SAPRegion { @@ -102,7 +99,7 @@ impl SAPProxies { } pub fn insert(&mut self, proxy: SAPProxy) -> SAPProxyIndex { - let result = if self.first_free != NEXT_FREE_SENTINEL { + if self.first_free != NEXT_FREE_SENTINEL { let proxy_id = self.first_free; self.first_free = self.elements[proxy_id as usize].next_free; self.elements[proxy_id as usize] = proxy; @@ -110,15 +107,13 @@ impl SAPProxies { } else { self.elements.push(proxy); self.elements.len() as u32 - 1 - }; - - result + } } pub fn remove(&mut self, proxy_id: SAPProxyIndex) { let proxy = &mut self.elements[proxy_id as usize]; proxy.next_free = self.first_free; - self.first_free = proxy_id as u32; + self.first_free = proxy_id; } // NOTE: this must not take holes into account. diff --git a/src/geometry/broad_phase_multi_sap/sap_region.rs b/src/geometry/broad_phase_multi_sap/sap_region.rs index 1a3903b..21ebca5 100644 --- a/src/geometry/broad_phase_multi_sap/sap_region.rs +++ b/src/geometry/broad_phase_multi_sap/sap_region.rs @@ -73,6 +73,7 @@ impl SAPRegion { old } + #[allow(clippy::vec_box)] // PERF: see if Box actually makes it faster (due to less copying). pub fn recycle_or_new(bounds: Aabb, pool: &mut Vec<Box<Self>>) -> Box<Self> { if let Some(old) = pool.pop() { Self::recycle(bounds, old) |
