diff options
Diffstat (limited to 'src/dynamics/solver')
| -rw-r--r-- | src/dynamics/solver/island_solver.rs | 3 | ||||
| -rw-r--r-- | src/dynamics/solver/parallel_island_solver.rs | 2 | ||||
| -rw-r--r-- | src/dynamics/solver/velocity_constraint.rs | 3 | ||||
| -rw-r--r-- | src/dynamics/solver/velocity_ground_constraint.rs | 3 |
4 files changed, 6 insertions, 5 deletions
diff --git a/src/dynamics/solver/island_solver.rs b/src/dynamics/solver/island_solver.rs index 7ce142a..b548c6b 100644 --- a/src/dynamics/solver/island_solver.rs +++ b/src/dynamics/solver/island_solver.rs @@ -59,8 +59,7 @@ impl IslandSolver { } counters.solver.velocity_update_time.resume(); - bodies - .foreach_active_island_body_mut_internal(island_id, |_, rb| rb.integrate(params.dt())); + bodies.foreach_active_island_body_mut_internal(island_id, |_, rb| rb.integrate(params.dt)); counters.solver.velocity_update_time.pause(); if manifold_indices.len() != 0 || joint_indices.len() != 0 { diff --git a/src/dynamics/solver/parallel_island_solver.rs b/src/dynamics/solver/parallel_island_solver.rs index 3b7ab9f..1393067 100644 --- a/src/dynamics/solver/parallel_island_solver.rs +++ b/src/dynamics/solver/parallel_island_solver.rs @@ -234,7 +234,7 @@ impl ParallelIslandSolver { let dvel = mj_lambdas[rb.active_set_offset]; rb.linvel += dvel.linear; rb.angvel += rb.world_inv_inertia_sqrt.transform_vector(dvel.angular); - rb.integrate(params.dt()); + rb.integrate(params.dt); positions[rb.active_set_offset] = rb.position; } } diff --git a/src/dynamics/solver/velocity_constraint.rs b/src/dynamics/solver/velocity_constraint.rs index 948081d..f9e38ac 100644 --- a/src/dynamics/solver/velocity_constraint.rs +++ b/src/dynamics/solver/velocity_constraint.rs @@ -144,6 +144,7 @@ impl VelocityConstraint { out_constraints: &mut Vec<AnyVelocityConstraint>, push: bool, ) { + let inv_dt = params.inv_dt(); let rb1 = &bodies[manifold.body_pair.body1]; let rb2 = &bodies[manifold.body_pair.body2]; let mj_lambda1 = rb1.active_set_offset; @@ -244,7 +245,7 @@ impl VelocityConstraint { rhs += manifold.restitution * rhs } - rhs += manifold_point.dist.max(0.0) * params.inv_dt(); + rhs += manifold_point.dist.max(0.0) * inv_dt; let impulse = manifold_points[k].impulse * warmstart_coeff; diff --git a/src/dynamics/solver/velocity_ground_constraint.rs b/src/dynamics/solver/velocity_ground_constraint.rs index d8ef8be..23b41c1 100644 --- a/src/dynamics/solver/velocity_ground_constraint.rs +++ b/src/dynamics/solver/velocity_ground_constraint.rs @@ -63,6 +63,7 @@ impl VelocityGroundConstraint { out_constraints: &mut Vec<AnyVelocityConstraint>, push: bool, ) { + let inv_dt = params.inv_dt(); let mut rb1 = &bodies[manifold.body_pair.body1]; let mut rb2 = &bodies[manifold.body_pair.body2]; let flipped = !rb2.is_dynamic(); @@ -176,7 +177,7 @@ impl VelocityGroundConstraint { rhs += manifold.restitution * rhs } - rhs += manifold_point.dist.max(0.0) * params.inv_dt(); + rhs += manifold_point.dist.max(0.0) * inv_dt; let impulse = manifold_points[k].impulse * warmstart_coeff; |
