aboutsummaryrefslogtreecommitdiff
path: root/src/pipeline
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-04-29 11:42:44 +0200
committerCrozet Sébastien <developer@crozet.re>2021-04-29 12:09:35 +0200
commit5cf805075ec8612249d692c319d099f4454931da (patch)
tree50f85d12fb1a6783fbd28f0e65f709657334b0c8 /src/pipeline
parent38104663261fc1617644cc17f6aa3b723a7db2ef (diff)
downloadrapier-5cf805075ec8612249d692c319d099f4454931da.tar.gz
rapier-5cf805075ec8612249d692c319d099f4454931da.tar.bz2
rapier-5cf805075ec8612249d692c319d099f4454931da.zip
Fix compilation of the parallel version
Diffstat (limited to 'src/pipeline')
-rw-r--r--src/pipeline/collision_pipeline.rs7
-rw-r--r--src/pipeline/physics_pipeline.rs6
2 files changed, 9 insertions, 4 deletions
diff --git a/src/pipeline/collision_pipeline.rs b/src/pipeline/collision_pipeline.rs
index c9ab119..455e75d 100644
--- a/src/pipeline/collision_pipeline.rs
+++ b/src/pipeline/collision_pipeline.rs
@@ -3,16 +3,19 @@
use crate::data::{ComponentSet, ComponentSetMut, ComponentSetOption};
use crate::dynamics::{
RigidBodyActivation, RigidBodyChanges, RigidBodyColliders, RigidBodyDominance, RigidBodyHandle,
- RigidBodyIds, RigidBodyPosition, RigidBodySet, RigidBodyType, RigidBodyVelocity,
+ RigidBodyIds, RigidBodyPosition, RigidBodyType, RigidBodyVelocity,
};
use crate::geometry::{
BroadPhase, BroadPhasePairEvent, ColliderBroadPhaseData, ColliderChanges, ColliderGroups,
- ColliderHandle, ColliderMaterial, ColliderPair, ColliderParent, ColliderPosition, ColliderSet,
+ ColliderHandle, ColliderMaterial, ColliderPair, ColliderParent, ColliderPosition,
ColliderShape, ColliderType, NarrowPhase,
};
use crate::math::Real;
use crate::pipeline::{EventHandler, PhysicsHooks};
+#[cfg(feature = "default-sets")]
+use crate::{dynamics::RigidBodySet, geometry::ColliderSet};
+
/// The collision pipeline, responsible for performing collision detection between colliders.
///
/// This structure only contains temporary data buffers. It can be dropped and replaced by a fresh
diff --git a/src/pipeline/physics_pipeline.rs b/src/pipeline/physics_pipeline.rs
index 9557d1f..328e810 100644
--- a/src/pipeline/physics_pipeline.rs
+++ b/src/pipeline/physics_pipeline.rs
@@ -183,7 +183,7 @@ impl PhysicsPipeline {
use rayon::prelude::*;
use std::sync::atomic::Ordering;
- let num_islands = ilands.num_islands();
+ let num_islands = islands.num_islands();
let solvers = &mut self.solvers[..num_islands];
let bodies = &std::sync::atomic::AtomicPtr::new(bodies as *mut _);
@@ -200,6 +200,7 @@ impl PhysicsPipeline {
solver.solve_position_constraints(
scope,
island_id,
+ islands,
integration_parameters,
bodies,
)
@@ -306,7 +307,7 @@ impl PhysicsPipeline {
use rayon::prelude::*;
use std::sync::atomic::Ordering;
- let num_islands = bodies.num_islands();
+ let num_islands = islands.num_islands();
let solvers = &mut self.solvers[..num_islands];
let bodies = &std::sync::atomic::AtomicPtr::new(bodies as *mut _);
let manifolds = &std::sync::atomic::AtomicPtr::new(&mut manifolds as *mut _);
@@ -331,6 +332,7 @@ impl PhysicsPipeline {
solver.init_constraints_and_solve_velocity_constraints(
scope,
island_id,
+ islands,
integration_parameters,
bodies,
manifolds,