From 7b098606c230256c72b73291c15cbd5fabe02653 Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Thu, 31 Dec 2020 16:30:38 +0100 Subject: QueryPipeline: add shape casting, point projection, and intersection queries. --- src/geometry/mod.rs | 9 +++++++++ src/geometry/narrow_phase.rs | 7 +------ 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'src/geometry') diff --git a/src/geometry/mod.rs b/src/geometry/mod.rs index 2b6d14f..ac7e63b 100644 --- a/src/geometry/mod.rs +++ b/src/geometry/mod.rs @@ -86,6 +86,15 @@ pub(crate) use self::narrow_phase::ContactManifoldIndex; pub(crate) use cdl::partitioning::SimdQuadTree; pub use cdl::shape::*; +pub(crate) fn default_persistent_query_dispatcher( +) -> std::sync::Arc> { + std::sync::Arc::new(cdl::query::DefaultQueryDispatcher) +} + +pub(crate) fn default_query_dispatcher() -> std::sync::Arc { + std::sync::Arc::new(cdl::query::DefaultQueryDispatcher) +} + mod broad_phase_multi_sap; mod collider; mod collider_set; diff --git a/src/geometry/narrow_phase.rs b/src/geometry/narrow_phase.rs index fc6d5db..b94ce6f 100644 --- a/src/geometry/narrow_phase.rs +++ b/src/geometry/narrow_phase.rs @@ -38,7 +38,7 @@ impl ColliderGraphIndices { pub struct NarrowPhase { #[cfg_attr( feature = "serde-serialize", - serde(skip, default = "default_query_dispatcher") + serde(skip, default = "crate::geometry::default_persistent_query_dispatcher") )] query_dispatcher: Arc>, contact_graph: InteractionGraph, @@ -47,11 +47,6 @@ pub struct NarrowPhase { removed_colliders: Option>, } -fn default_query_dispatcher() -> Arc> -{ - Arc::new(DefaultQueryDispatcher) -} - pub(crate) type ContactManifoldIndex = usize; impl NarrowPhase { -- cgit