aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-09-22 15:29:29 +0200
committerCrozet Sébastien <developer@crozet.re>2020-09-28 15:27:25 +0200
commita7d77a01447d2b77694b2a957d000790af60b383 (patch)
tree7225a76f0e912651b2b115800bf0a620c44d6102 /src/dynamics
parent56f6051b047aded906b8a89cbc66672c6f1e698e (diff)
downloadrapier-a7d77a01447d2b77694b2a957d000790af60b383.tar.gz
rapier-a7d77a01447d2b77694b2a957d000790af60b383.tar.bz2
rapier-a7d77a01447d2b77694b2a957d000790af60b383.zip
Add non-topological WQuadtree update.
Diffstat (limited to 'src/dynamics')
-rw-r--r--src/dynamics/rigid_body_set.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/dynamics/rigid_body_set.rs b/src/dynamics/rigid_body_set.rs
index 3970d54..f54bc55 100644
--- a/src/dynamics/rigid_body_set.rs
+++ b/src/dynamics/rigid_body_set.rs
@@ -282,6 +282,16 @@ impl RigidBodySet {
.map(move |(h, rb)| (h, RigidBodyMut::new(h, rb, sender)))
}
+ /// Iter through all the active kinematic rigid-bodies on this set.
+ pub fn iter_active_kinematic<'a>(
+ &'a self,
+ ) -> impl Iterator<Item = (RigidBodyHandle, &'a RigidBody)> {
+ let bodies: &'a _ = &self.bodies;
+ self.active_kinematic_set
+ .iter()
+ .filter_map(move |h| Some((*h, bodies.get(*h)?)))
+ }
+
/// Iter through all the active dynamic rigid-bodies on this set.
pub fn iter_active_dynamic<'a>(
&'a self,