diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-01-22 16:10:24 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-01-22 16:10:24 +0100 |
| commit | cf52e01308cefcce71b9914c539641cb7530b22c (patch) | |
| tree | 8e12a108d040d2b287957bec2b611c569b530bc7 /src/dynamics/solver | |
| parent | 800b35b103c60a3f13dffdfe1c20561074041cea (diff) | |
| parent | e6fc8f67faf3e37afe38d683cbd930d457f289be (diff) | |
| download | rapier-cf52e01308cefcce71b9914c539641cb7530b22c.tar.gz rapier-cf52e01308cefcce71b9914c539641cb7530b22c.tar.bz2 rapier-cf52e01308cefcce71b9914c539641cb7530b22c.zip | |
Merge branch 'master' into split_geom
# Conflicts:
# examples2d/sensor2.rs
# examples3d/sensor3.rs
# src/dynamics/integration_parameters.rs
# src/dynamics/solver/parallel_island_solver.rs
# src/dynamics/solver/velocity_constraint.rs
# src/dynamics/solver/velocity_ground_constraint.rs
# src_testbed/nphysics_backend.rs
# src_testbed/physx_backend.rs
# src_testbed/testbed.rs
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 46d6b75..deed8c2 100644 --- a/src/dynamics/solver/island_solver.rs +++ b/src/dynamics/solver/island_solver.rs @@ -57,8 +57,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 389b6e6..24435db 100644 --- a/src/dynamics/solver/parallel_island_solver.rs +++ b/src/dynamics/solver/parallel_island_solver.rs @@ -251,7 +251,7 @@ impl ParallelIslandSolver { let dvel = mj_lambdas[rb.active_set_offset]; rb.linvel += dvel.linear; rb.angvel += rb.effective_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 c2aa6f5..9d75830 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.data.body_pair.body1]; let rb2 = &bodies[manifold.data.body_pair.body2]; let mj_lambda1 = rb1.active_set_offset; @@ -244,7 +245,7 @@ impl VelocityConstraint { rhs += manifold_point.restitution * rhs } - rhs += manifold_point.dist.max(0.0) * params.inv_dt(); + rhs += manifold_point.dist.max(0.0) * inv_dt; let impulse = manifold_point.data.impulse * warmstart_coeff; diff --git a/src/dynamics/solver/velocity_ground_constraint.rs b/src/dynamics/solver/velocity_ground_constraint.rs index 7ea4fbb..49bb465 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.data.body_pair.body1]; let mut rb2 = &bodies[manifold.data.body_pair.body2]; let flipped = !rb2.is_dynamic(); @@ -159,7 +160,7 @@ impl VelocityGroundConstraint { rhs += manifold_point.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].data.impulse * warmstart_coeff; |
