fix: less invasive solve_character_collision_impulses function (#652)

* fix: less invasive `solve_character_collision_impulses` function

Taking ownership of the elements is not necessary.

It also conveys the information that elements are only read.

* Add Changelog
This commit is contained in:
Thierry Berger
2024-06-23 23:01:55 +02:00
committed by GitHub
parent 3004a7d38d
commit 5308a28435
3 changed files with 8 additions and 4 deletions

View File

@@ -788,7 +788,7 @@ impl KinematicCharacterController {
/// impulses to the rigid-bodies surrounding the character shape at the time of the collisions.
/// Note that the impulse calculation is only approximate as it is not based on a global
/// constraints resolution scheme.
pub fn solve_character_collision_impulses(
pub fn solve_character_collision_impulses<'a>(
&self,
dt: Real,
bodies: &mut RigidBodySet,
@@ -796,7 +796,7 @@ impl KinematicCharacterController {
queries: &QueryPipeline,
character_shape: &dyn Shape,
character_mass: Real,
collisions: impl IntoIterator<Item = CharacterCollision>,
collisions: impl IntoIterator<Item = &'a CharacterCollision>,
filter: QueryFilter,
) {
for collision in collisions {
@@ -807,7 +807,7 @@ impl KinematicCharacterController {
queries,
character_shape,
character_mass,
&collision,
collision,
filter,
);
}