diff options
Diffstat (limited to 'src/dynamics/solver/velocity_solver.rs')
| -rw-r--r-- | src/dynamics/solver/velocity_solver.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/dynamics/solver/velocity_solver.rs b/src/dynamics/solver/velocity_solver.rs index 9d5c279..a4e03b2 100644 --- a/src/dynamics/solver/velocity_solver.rs +++ b/src/dynamics/solver/velocity_solver.rs @@ -205,17 +205,19 @@ impl VelocitySolver { /* * Resolution without bias. */ - for _ in 0..params.num_internal_stabilization_iterations { - joint_constraints - .solve_wo_bias(&mut self.solver_vels, &mut self.generic_solver_vels); - contact_constraints.solve_restitution_wo_bias( - &mut self.solver_vels, - &mut self.generic_solver_vels, - ); - } + if params.num_internal_stabilization_iterations > 0 { + for _ in 0..params.num_internal_stabilization_iterations { + joint_constraints + .solve_wo_bias(&mut self.solver_vels, &mut self.generic_solver_vels); + contact_constraints.solve_restitution_wo_bias( + &mut self.solver_vels, + &mut self.generic_solver_vels, + ); + } - contact_constraints - .solve_friction(&mut self.solver_vels, &mut self.generic_solver_vels); + contact_constraints + .solve_friction(&mut self.solver_vels, &mut self.generic_solver_vels); + } } } |
