diff options
| author | Crozet Sébastien <developer@crozet.re> | 2020-11-25 16:00:02 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2020-11-25 16:28:49 +0100 |
| commit | 2d4e14b869bd8d0b2eb6629b7b10719d657d2be8 (patch) | |
| tree | 23620aebb55ba1132f29560f9ed1a168fa328f25 /src/geometry | |
| parent | 72eb66425d6875704a59c077e92c1fddc51cd881 (diff) | |
| download | rapier-2d4e14b869bd8d0b2eb6629b7b10719d657d2be8.tar.gz rapier-2d4e14b869bd8d0b2eb6629b7b10719d657d2be8.tar.bz2 rapier-2d4e14b869bd8d0b2eb6629b7b10719d657d2be8.zip | |
Properly track some user-initiatied rigid-body modifications.
Diffstat (limited to 'src/geometry')
| -rw-r--r-- | src/geometry/broad_phase_multi_sap.rs | 1 | ||||
| -rw-r--r-- | src/geometry/collider.rs | 4 | ||||
| -rw-r--r-- | src/geometry/collider_set.rs | 19 |
3 files changed, 12 insertions, 12 deletions
diff --git a/src/geometry/broad_phase_multi_sap.rs b/src/geometry/broad_phase_multi_sap.rs index 4cea113..d3a0d5a 100644 --- a/src/geometry/broad_phase_multi_sap.rs +++ b/src/geometry/broad_phase_multi_sap.rs @@ -634,6 +634,7 @@ impl BroadPhase { .active_dynamic_set .iter() .chain(bodies.active_kinematic_set.iter()) + .chain(bodies.modified_inactive_set.iter()) { for handle in &bodies[*body_handle].colliders { let collider = &mut colliders[*handle]; diff --git a/src/geometry/collider.rs b/src/geometry/collider.rs index 3789cca..c04be35 100644 --- a/src/geometry/collider.rs +++ b/src/geometry/collider.rs @@ -1,7 +1,7 @@ use crate::dynamics::{MassProperties, RigidBodyHandle, RigidBodySet}; use crate::geometry::{ - Ball, Capsule, ColliderGraphIndex, Contact, Cuboid, HeightField, InteractionGraph, - InteractionGroups, Proximity, Segment, Shape, ShapeType, Triangle, Trimesh, + Ball, Capsule, Cuboid, HeightField, InteractionGroups, Segment, Shape, ShapeType, Triangle, + Trimesh, }; #[cfg(feature = "dim3")] use crate::geometry::{Cone, Cylinder, RoundCylinder}; diff --git a/src/geometry/collider_set.rs b/src/geometry/collider_set.rs index 5411ec1..5765a4d 100644 --- a/src/geometry/collider_set.rs +++ b/src/geometry/collider_set.rs @@ -1,7 +1,7 @@ use crate::data::arena::Arena; use crate::data::pubsub::PubSub; use crate::dynamics::{RigidBodyHandle, RigidBodySet}; -use crate::geometry::{Collider, ColliderGraphIndex}; +use crate::geometry::Collider; use std::ops::{Index, IndexMut}; /// The unique identifier of a collider added to a collider set. @@ -70,8 +70,7 @@ impl ColliderSet { coll.predicted_position = parent.predicted_position * coll.delta; let handle = self.colliders.insert(coll); let coll = self.colliders.get(handle).unwrap(); - parent.add_collider_internal(handle, &coll); - bodies.activate(parent_handle); + parent.add_collider(handle, &coll); handle } @@ -147,13 +146,13 @@ impl ColliderSet { self.colliders.get_mut(handle) } - pub(crate) fn get2_mut_internal( - &mut self, - h1: ColliderHandle, - h2: ColliderHandle, - ) -> (Option<&mut Collider>, Option<&mut Collider>) { - self.colliders.get2_mut(h1, h2) - } + // pub(crate) fn get2_mut_internal( + // &mut self, + // h1: ColliderHandle, + // h2: ColliderHandle, + // ) -> (Option<&mut Collider>, Option<&mut Collider>) { + // self.colliders.get2_mut(h1, h2) + // } // pub fn iter_mut(&mut self) -> impl Iterator<Item = (ColliderHandle, ColliderMut)> { // // let sender = &self.activation_channel_sender; |
