aboutsummaryrefslogtreecommitdiff
path: root/src/geometry
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-12-31 16:30:38 +0100
committerCrozet Sébastien <developer@crozet.re>2020-12-31 16:30:38 +0100
commit7b098606c230256c72b73291c15cbd5fabe02653 (patch)
tree4d970a89860bbcc304b0f74832c3932ab094f797 /src/geometry
parent1feac2e02d8779a1a03c9c16d5fbe4fd79c9324a (diff)
downloadrapier-7b098606c230256c72b73291c15cbd5fabe02653.tar.gz
rapier-7b098606c230256c72b73291c15cbd5fabe02653.tar.bz2
rapier-7b098606c230256c72b73291c15cbd5fabe02653.zip
QueryPipeline: add shape casting, point projection, and intersection queries.
Diffstat (limited to 'src/geometry')
-rw-r--r--src/geometry/mod.rs9
-rw-r--r--src/geometry/narrow_phase.rs7
2 files changed, 10 insertions, 6 deletions
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<dyn cdl::query::PersistentQueryDispatcher<ContactManifoldData, ContactData>> {
+ std::sync::Arc::new(cdl::query::DefaultQueryDispatcher)
+}
+
+pub(crate) fn default_query_dispatcher() -> std::sync::Arc<dyn cdl::query::QueryDispatcher> {
+ 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<dyn PersistentQueryDispatcher<ContactManifoldData, ContactData>>,
contact_graph: InteractionGraph<ContactPair>,
@@ -47,11 +47,6 @@ pub struct NarrowPhase {
removed_colliders: Option<Subscription<RemovedCollider>>,
}
-fn default_query_dispatcher() -> Arc<dyn PersistentQueryDispatcher<ContactManifoldData, ContactData>>
-{
- Arc::new(DefaultQueryDispatcher)
-}
-
pub(crate) type ContactManifoldIndex = usize;
impl NarrowPhase {