From 9367198282f9a30c23cc7ddd3a56db56b7506aae Mon Sep 17 00:00:00 2001 From: Thierry Berger Date: Sun, 9 Jun 2024 14:16:03 +0200 Subject: feat: rework QueryPipeline update API to take less parameters (#647) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- src/dynamics/ccd/ccd_solver.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/dynamics') 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 { // 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 }, ); /* -- cgit