Properly track some user-initiatied rigid-body modifications.
This commit is contained in:
@@ -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];
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user