diff options
Diffstat (limited to 'src/pipeline')
| -rw-r--r-- | src/pipeline/collision_pipeline.rs | 2 | ||||
| -rw-r--r-- | src/pipeline/physics_pipeline.rs | 8 |
2 files changed, 3 insertions, 7 deletions
diff --git a/src/pipeline/collision_pipeline.rs b/src/pipeline/collision_pipeline.rs index 845bb86..188be27 100644 --- a/src/pipeline/collision_pipeline.rs +++ b/src/pipeline/collision_pipeline.rs @@ -47,7 +47,7 @@ impl CollisionPipeline { proximity_pair_filter: Option<&dyn ProximityPairFilter>, events: &dyn EventHandler, ) { - bodies.maintain_active_set(); + bodies.maintain(colliders); self.broadphase_collider_pairs.clear(); broad_phase.update_aabbs(prediction_distance, bodies, colliders); diff --git a/src/pipeline/physics_pipeline.rs b/src/pipeline/physics_pipeline.rs index 3a4851d..dc4b69f 100644 --- a/src/pipeline/physics_pipeline.rs +++ b/src/pipeline/physics_pipeline.rs @@ -74,9 +74,9 @@ impl PhysicsPipeline { events: &dyn EventHandler, ) { self.counters.step_started(); + bodies.maintain(colliders); broad_phase.maintain(colliders); narrow_phase.maintain(colliders, bodies); - bodies.maintain_active_set(); // Update kinematic bodies velocities. // TODO: what is the best place for this? It should at least be @@ -242,11 +242,7 @@ impl PhysicsPipeline { rb.update_predicted_position(integration_parameters.dt()); } - for handle in &rb.colliders { - let collider = &mut colliders[*handle]; - collider.position = rb.position * collider.delta; - collider.predicted_position = rb.predicted_position * collider.delta; - } + rb.update_colliders_positions(colliders); }); self.counters.stages.solver_time.pause(); |
