feat!: rename narrow-phase methods for more clarity.

Renames `contacts_with` to`contact_pairs_with`; and `intersections_with` to `intersection_pairs_with`.
This commit is contained in:
Sébastien Crozet
2024-01-24 22:51:30 +01:00
parent 5bf3983894
commit 46b244167c
2 changed files with 20 additions and 8 deletions

View File

@@ -203,7 +203,7 @@ impl IslandManager {
stack: &mut Vec<RigidBodyHandle>, stack: &mut Vec<RigidBodyHandle>,
) { ) {
for collider_handle in &rb_colliders.0 { for collider_handle in &rb_colliders.0 {
for inter in narrow_phase.contacts_with(*collider_handle) { for inter in narrow_phase.contact_pairs_with(*collider_handle) {
for manifold in &inter.manifolds { for manifold in &inter.manifolds {
if !manifold.data.solver_contacts.is_empty() { if !manifold.data.solver_contacts.is_empty() {
let other = crate::utils::select_other( let other = crate::utils::select_other(

View File

@@ -109,7 +109,10 @@ impl NarrowPhase {
/// ///
/// It is strongly recommended to use the [`NarrowPhase::contacts_with`] method instead. This /// It is strongly recommended to use the [`NarrowPhase::contacts_with`] method instead. This
/// method can be used if the generation number of the collider handle isn't known. /// method can be used if the generation number of the collider handle isn't known.
pub fn contacts_with_unknown_gen(&self, collider: u32) -> impl Iterator<Item = &ContactPair> { pub fn contact_pairs_with_unknown_gen(
&self,
collider: u32,
) -> impl Iterator<Item = &ContactPair> {
self.graph_indices self.graph_indices
.get_unknown_gen(collider) .get_unknown_gen(collider)
.map(|id| id.contact_graph_index) .map(|id| id.contact_graph_index)
@@ -118,8 +121,12 @@ impl NarrowPhase {
.map(|pair| pair.2) .map(|pair| pair.2)
} }
/// All the contacts involving the given collider. /// All the contact pairs involving the given collider.
pub fn contacts_with<'a>( ///
/// The returned contact pairs identify pairs of colliders with intersecting bounding-volumes.
/// To check if any geometric contact happened between the collider shapes, check
/// [`ContactPair::has_any_active_contact`].
pub fn contact_pairs_with<'a>(
&self, &self,
collider: ColliderHandle, collider: ColliderHandle,
) -> impl Iterator<Item = &ContactPair> { ) -> impl Iterator<Item = &ContactPair> {
@@ -131,11 +138,11 @@ impl NarrowPhase {
.map(|pair| pair.2) .map(|pair| pair.2)
} }
/// All the intersections involving the given collider. /// All the intersection pairs involving the given collider.
/// ///
/// It is strongly recommended to use the [`NarrowPhase::intersections_with`] method instead. /// It is strongly recommended to use the [`NarrowPhase::intersections_with`] method instead.
/// This method can be used if the generation number of the collider handle isn't known. /// This method can be used if the generation number of the collider handle isn't known.
pub fn intersections_with_unknown_gen( pub fn intersection_pairs_with_unknown_gen(
&self, &self,
collider: u32, collider: u32,
) -> impl Iterator<Item = (ColliderHandle, ColliderHandle, bool)> + '_ { ) -> impl Iterator<Item = (ColliderHandle, ColliderHandle, bool)> + '_ {
@@ -150,8 +157,13 @@ impl NarrowPhase {
}) })
} }
/// All the intersections involving the given collider. /// All the intersection pairs involving the given collider, where at least one collider
pub fn intersections_with( /// involved in the intersection is a sensor.
///
/// The returned contact pairs identify pairs of colliders (where at least one is a sensor) with
/// intersecting bounding-volumes. To check if any geometric overlap happened between the collider shapes, check
/// the returned boolean.
pub fn intersection_pairs_with(
&self, &self,
collider: ColliderHandle, collider: ColliderHandle,
) -> impl Iterator<Item = (ColliderHandle, ColliderHandle, bool)> + '_ { ) -> impl Iterator<Item = (ColliderHandle, ColliderHandle, bool)> + '_ {