Add methods to iterate through all the contact and proximity pairs.

This commit is contained in:
Crozet Sébastien
2020-11-24 16:39:09 +01:00
parent 437748096d
commit d98be2359d
2 changed files with 13 additions and 9 deletions

View File

@@ -74,15 +74,9 @@ impl<T> InteractionGraph<T> {
self.graph.node_weight(id).cloned()
}
/// All the interactions pairs on this graph.
pub fn interaction_pairs(&self) -> impl Iterator<Item = (ColliderHandle, ColliderHandle, &T)> {
self.graph.raw_edges().iter().map(move |edge| {
(
self.graph[edge.source()],
self.graph[edge.target()],
&edge.weight,
)
})
/// All the interactions on this graph.
pub fn interactions(&self) -> impl Iterator<Item = &T> {
self.graph.raw_edges().iter().map(move |edge| &edge.weight)
}
/// The interaction between the two collision objects identified by their graph index.