aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/ccd/ccd_solver.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-06-01 17:59:07 +0200
committerCrozet Sébastien <developer@crozet.re>2021-06-01 17:59:07 +0200
commit7153eb7779a29853289df90f28efaac738620386 (patch)
tree561a81b65609b60c4429c134ea474a160d70d80e /src/dynamics/ccd/ccd_solver.rs
parent1839f61d816af37c95889caf592b5a7cf8d89412 (diff)
downloadrapier-7153eb7779a29853289df90f28efaac738620386.tar.gz
rapier-7153eb7779a29853289df90f28efaac738620386.tar.bz2
rapier-7153eb7779a29853289df90f28efaac738620386.zip
Add ActiveCollisionTypes to easily enable collision-detection between two non-static rigid-body.
Diffstat (limited to 'src/dynamics/ccd/ccd_solver.rs')
-rw-r--r--src/dynamics/ccd/ccd_solver.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/dynamics/ccd/ccd_solver.rs b/src/dynamics/ccd/ccd_solver.rs
index dab4f73..7e95f08 100644
--- a/src/dynamics/ccd/ccd_solver.rs
+++ b/src/dynamics/ccd/ccd_solver.rs
@@ -10,7 +10,7 @@ use crate::geometry::{
use crate::math::Real;
use crate::parry::utils::SortedPair;
use crate::pipeline::{EventHandler, QueryPipeline, QueryPipelineMode};
-use crate::prelude::{ActiveEvents, ColliderFlags, ColliderGroups};
+use crate::prelude::{ActiveEvents, ColliderFlags};
use parry::query::{DefaultQueryDispatcher, QueryDispatcher};
use parry::utils::hashmap::HashMap;
use std::collections::BinaryHeap;
@@ -141,7 +141,7 @@ impl CCDSolver {
+ ComponentSet<ColliderPosition>
+ ComponentSet<ColliderShape>
+ ComponentSet<ColliderType>
- + ComponentSet<ColliderGroups>,
+ + ComponentSet<ColliderFlags>,
{
// Update the query pipeline.
self.query_pipeline.update_with_mode(
@@ -202,8 +202,8 @@ impl CCDSolver {
{
let co_parent1: Option<&ColliderParent> = colliders.get(ch1.0);
let co_parent2: Option<&ColliderParent> = colliders.get(ch2.0);
- let c1: (_, _, _, &ColliderGroups) = colliders.index_bundle(ch1.0);
- let c2: (_, _, _, &ColliderGroups) = colliders.index_bundle(ch2.0);
+ let c1: (_, _, _, &ColliderFlags) = colliders.index_bundle(ch1.0);
+ let c2: (_, _, _, &ColliderFlags) = colliders.index_bundle(ch2.0);
let co_type1: &ColliderType = colliders.index(ch1.0);
let co_type2: &ColliderType = colliders.index(ch1.0);
@@ -281,7 +281,7 @@ impl CCDSolver {
+ ComponentSet<ColliderShape>
+ ComponentSet<ColliderType>
+ ComponentSet<ColliderFlags>
- + ComponentSet<ColliderGroups>,
+ + ComponentSet<ColliderFlags>,
{
let mut frozen = HashMap::<_, Real>::default();
let mut all_toi = BinaryHeap::new();
@@ -343,8 +343,8 @@ impl CCDSolver {
{
let co_parent1: Option<&ColliderParent> = colliders.get(ch1.0);
let co_parent2: Option<&ColliderParent> = colliders.get(ch2.0);
- let c1: (_, _, _, &ColliderGroups) = colliders.index_bundle(ch1.0);
- let c2: (_, _, _, &ColliderGroups) = colliders.index_bundle(ch2.0);
+ let c1: (_, _, _, &ColliderFlags) = colliders.index_bundle(ch1.0);
+ let c2: (_, _, _, &ColliderFlags) = colliders.index_bundle(ch2.0);
let bh1 = co_parent1.map(|p| p.handle);
let bh2 = co_parent2.map(|p| p.handle);
@@ -470,8 +470,8 @@ impl CCDSolver {
.colliders_with_aabb_intersecting_aabb(&aabb, |ch2| {
let co_parent1: Option<&ColliderParent> = colliders.get(ch1.0);
let co_parent2: Option<&ColliderParent> = colliders.get(ch2.0);
- let c1: (_, _, _, &ColliderGroups) = colliders.index_bundle(ch1.0);
- let c2: (_, _, _, &ColliderGroups) = colliders.index_bundle(ch2.0);
+ let c1: (_, _, _, &ColliderFlags) = colliders.index_bundle(ch1.0);
+ let c2: (_, _, _, &ColliderFlags) = colliders.index_bundle(ch2.0);
let bh1 = co_parent1.map(|p| p.handle);
let bh2 = co_parent2.map(|p| p.handle);