aboutsummaryrefslogtreecommitdiff
path: root/src/geometry
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-11-25 16:00:02 +0100
committerCrozet Sébastien <developer@crozet.re>2020-11-25 16:28:49 +0100
commit2d4e14b869bd8d0b2eb6629b7b10719d657d2be8 (patch)
tree23620aebb55ba1132f29560f9ed1a168fa328f25 /src/geometry
parent72eb66425d6875704a59c077e92c1fddc51cd881 (diff)
downloadrapier-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.rs1
-rw-r--r--src/geometry/collider.rs4
-rw-r--r--src/geometry/collider_set.rs19
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;