aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-01-23 17:06:42 +0100
committerSébastien Crozet <developer@crozet.re>2022-01-23 17:06:42 +0100
commit5e2111bdb1226d818f594d1bad3db6b8f688ecb6 (patch)
tree6201a85a5503e687718b7a8c210f9debcd5e779f
parent9bfcde25e0091bd9ad07949d497f90f0486c18e4 (diff)
downloadrapier-5e2111bdb1226d818f594d1bad3db6b8f688ecb6.tar.gz
rapier-5e2111bdb1226d818f594d1bad3db6b8f688ecb6.tar.bz2
rapier-5e2111bdb1226d818f594d1bad3db6b8f688ecb6.zip
Fix compilation of parallel version
-rw-r--r--.vscode/tasks.json36
-rw-r--r--src/dynamics/solver/parallel_velocity_solver.rs9
2 files changed, 40 insertions, 5 deletions
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index de72ffb..0bc892b 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -29,9 +29,23 @@
"all_examples3",
"--release",
"--features",
- "simd-stable",
+ "simd-stable,other-backends",
+ "--",
+ "--pause"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "run 3d (simd - parallel - release) ",
+ "type": "shell",
+ "command": "cargo",
+ "args": [
+ "run",
+ "--bin",
+ "all_examples3",
+ "--release",
"--features",
- "other-backends",
+ "simd-stable,other-backends,parallel",
"--",
"--pause"
],
@@ -63,9 +77,23 @@
"all_examples2",
"--release",
"--features",
- "simd-stable",
+ "simd-stable,other-backends",
+ "--",
+ "--pause"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "run 2d (simd - parallel - release) ",
+ "type": "shell",
+ "command": "cargo",
+ "args": [
+ "run",
+ "--bin",
+ "all_examples2",
+ "--release",
"--features",
- "other-backends",
+ "simd-stable,other-backends,parallel",
"--",
"--pause"
],
diff --git a/src/dynamics/solver/parallel_velocity_solver.rs b/src/dynamics/solver/parallel_velocity_solver.rs
index 69ceb03..00668b1 100644
--- a/src/dynamics/solver/parallel_velocity_solver.rs
+++ b/src/dynamics/solver/parallel_velocity_solver.rs
@@ -54,6 +54,7 @@ impl ParallelVelocitySolver {
let joint_descs = &joint_constraints.constraint_descs[..];
let mut target_num_desc = 0;
let mut shift = 0;
+ let cfm_factor = params.cfm_factor();
for _ in 0..params.max_velocity_iterations {
macro_rules! solve {
@@ -116,7 +117,13 @@ impl ParallelVelocitySolver {
);
shift += joint_descs.len();
start_index -= joint_descs.len();
- solve!(contact_constraints, &mut self.mj_lambdas, true, true);
+ solve!(
+ contact_constraints,
+ cfm_factor,
+ &mut self.mj_lambdas,
+ true,
+ true
+ );
shift += contact_descs.len();
start_index -= contact_descs.len();
}