aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver/parallel_island_solver.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-03-26 18:16:27 +0100
committerCrozet Sébastien <developer@crozet.re>2021-03-26 18:16:27 +0100
commit97157c9423f3360c5e941b4065377689221014ae (patch)
tree707adf6e1feab0a9b7752d292baa161de790a8a1 /src/dynamics/solver/parallel_island_solver.rs
parent326469a1df9d8502903d88fe8e47a67e9e7c9edd (diff)
downloadrapier-97157c9423f3360c5e941b4065377689221014ae.tar.gz
rapier-97157c9423f3360c5e941b4065377689221014ae.tar.bz2
rapier-97157c9423f3360c5e941b4065377689221014ae.zip
First working version of non-linear CCD based on single-substep motion-clamping.
Diffstat (limited to 'src/dynamics/solver/parallel_island_solver.rs')
-rw-r--r--src/dynamics/solver/parallel_island_solver.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynamics/solver/parallel_island_solver.rs b/src/dynamics/solver/parallel_island_solver.rs
index 99c1ec5..f32f49f 100644
--- a/src/dynamics/solver/parallel_island_solver.rs
+++ b/src/dynamics/solver/parallel_island_solver.rs
@@ -277,7 +277,7 @@ impl ParallelIslandSolver {
rb.linvel += dvel.linear;
rb.angvel += rb.effective_world_inv_inertia_sqrt.transform_vector(dvel.angular);
rb.integrate(params.dt);
- positions[rb.active_set_offset] = rb.position;
+ positions[rb.active_set_offset] = rb.next_position;
}
}
@@ -298,7 +298,7 @@ impl ParallelIslandSolver {
let batch_size = thread.batch_size;
for handle in active_bodies[thread.position_writeback_index] {
let rb = &mut bodies[handle.0];
- rb.set_position_internal(positions[rb.active_set_offset]);
+ rb.set_next_position(positions[rb.active_set_offset]);
}
}
})