aboutsummaryrefslogtreecommitdiff
path: root/src/pipeline
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-10-20 11:55:33 +0200
committerCrozet Sébastien <developer@crozet.re>2020-10-20 11:56:09 +0200
commit865ce8a8e5301b23ca474adaaffe8b43e725803e (patch)
tree67b57d0c63d11a6d5e4a23c6f1242f72efc721b9 /src/pipeline
parent947c4813c9666fd8215743de298fe17780fa3ef2 (diff)
downloadrapier-865ce8a8e5301b23ca474adaaffe8b43e725803e.tar.gz
rapier-865ce8a8e5301b23ca474adaaffe8b43e725803e.tar.bz2
rapier-865ce8a8e5301b23ca474adaaffe8b43e725803e.zip
Collider shape: use a trait-object instead of an enum.
Diffstat (limited to 'src/pipeline')
-rw-r--r--src/pipeline/query_pipeline.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/pipeline/query_pipeline.rs b/src/pipeline/query_pipeline.rs
index 32f59fc..03103be 100644
--- a/src/pipeline/query_pipeline.rs
+++ b/src/pipeline/query_pipeline.rs
@@ -69,7 +69,11 @@ impl QueryPipeline {
for handle in inter {
let collider = &colliders[handle];
- if let Some(inter) = collider.shape().cast_ray(collider.position(), ray, max_toi) {
+ if let Some(inter) =
+ collider
+ .shape()
+ .toi_and_normal_with_ray(collider.position(), ray, max_toi, true)
+ {
if inter.toi < best {
best = inter.toi;
result = Some((handle, collider, inter));
@@ -103,7 +107,11 @@ impl QueryPipeline {
for handle in inter {
let collider = &colliders[handle];
- if let Some(inter) = collider.shape().cast_ray(collider.position(), ray, max_toi) {
+ if let Some(inter) =
+ collider
+ .shape()
+ .toi_and_normal_with_ray(collider.position(), ray, max_toi, true)
+ {
if !callback(handle, collider, inter) {
return;
}