diff options
| author | Thierry Berger <contact@thierryberger.com> | 2024-06-09 14:16:03 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-09 14:16:03 +0200 |
| commit | 9367198282f9a30c23cc7ddd3a56db56b7506aae (patch) | |
| tree | f64438e48b4d3ab90d18e038d7d2c9e34c2dd9ab /src/dynamics/ccd | |
| parent | 8160b4ebdb06afb39f493b5c8f65d1dd280b3dfb (diff) | |
| download | rapier-9367198282f9a30c23cc7ddd3a56db56b7506aae.tar.gz rapier-9367198282f9a30c23cc7ddd3a56db56b7506aae.tar.bz2 rapier-9367198282f9a30c23cc7ddd3a56db56b7506aae.zip | |
feat: rework QueryPipeline update API to take less parameters (#647)
* chore: rework QueryPipeline API to take a generic qbvh updater
This allows to pass less parameters depending on the updating mode.
* chore: rework struct and functions names, and docs
---------
Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
Diffstat (limited to 'src/dynamics/ccd')
| -rw-r--r-- | src/dynamics/ccd/ccd_solver.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/dynamics/ccd/ccd_solver.rs b/src/dynamics/ccd/ccd_solver.rs index 79c4495..eaabf77 100644 --- a/src/dynamics/ccd/ccd_solver.rs +++ b/src/dynamics/ccd/ccd_solver.rs @@ -3,8 +3,8 @@ use crate::dynamics::{IslandManager, RigidBodyHandle, RigidBodySet}; use crate::geometry::{ColliderParent, ColliderSet, CollisionEvent, NarrowPhase}; use crate::math::Real; use crate::parry::utils::SortedPair; -use crate::pipeline::{EventHandler, QueryPipeline, QueryPipelineMode}; -use crate::prelude::{ActiveEvents, CollisionEventFlags}; +use crate::pipeline::{EventHandler, QueryPipeline}; +use crate::prelude::{query_pipeline_generators, ActiveEvents, CollisionEventFlags}; use parry::query::{DefaultQueryDispatcher, QueryDispatcher}; use parry::utils::hashmap::HashMap; use std::collections::BinaryHeap; @@ -117,10 +117,12 @@ impl CCDSolver { narrow_phase: &NarrowPhase, ) -> Option<Real> { // Update the query pipeline. - self.query_pipeline.update_with_mode( - bodies, - colliders, - QueryPipelineMode::SweepTestWithPredictedPosition { dt }, + self.query_pipeline.update_with_generator( + query_pipeline_generators::SweptAabbWithPredictedPosition { + bodies, + colliders, + dt, + }, ); let mut pairs_seen = HashMap::default(); @@ -238,10 +240,8 @@ impl CCDSolver { let mut min_overstep = dt; // Update the query pipeline. - self.query_pipeline.update_with_mode( - bodies, - colliders, - QueryPipelineMode::SweepTestWithNextPosition, + self.query_pipeline.update_with_generator( + query_pipeline_generators::SweptAabbWithNextPosition { bodies, colliders }, ); /* |
