diff options
| author | Emil Ernerfeldt <emil.ernerfeldt@gmail.com> | 2021-02-17 19:38:57 +0100 |
|---|---|---|
| committer | Emil Ernerfeldt <emil.ernerfeldt@gmail.com> | 2021-02-26 11:06:29 +0100 |
| commit | ede4f0f7703dee4fc6a53e6da7775f7455a0b94e (patch) | |
| tree | 08a85093ff73f0e6899ef1ff1fffd3c6efe5fd9f /src | |
| parent | 3f26b46196531cfca10ae487bb242e8bb3f84f65 (diff) | |
| download | rapier-ede4f0f7703dee4fc6a53e6da7775f7455a0b94e.tar.gz rapier-ede4f0f7703dee4fc6a53e6da7775f7455a0b94e.tar.bz2 rapier-ede4f0f7703dee4fc6a53e6da7775f7455a0b94e.zip | |
cleanup
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynamics/solver/joint_constraint/fixed_velocity_constraint.rs | 18 | ||||
| -rw-r--r-- | src/dynamics/solver/velocity_constraint.rs | 2 | ||||
| -rw-r--r-- | src/dynamics/solver/velocity_ground_constraint.rs | 2 |
3 files changed, 10 insertions, 12 deletions
diff --git a/src/dynamics/solver/joint_constraint/fixed_velocity_constraint.rs b/src/dynamics/solver/joint_constraint/fixed_velocity_constraint.rs index db33fde..dc7569c 100644 --- a/src/dynamics/solver/joint_constraint/fixed_velocity_constraint.rs +++ b/src/dynamics/solver/joint_constraint/fixed_velocity_constraint.rs @@ -104,13 +104,12 @@ impl FixedVelocityConstraint { #[cfg(feature = "dim2")] let mut rhs = - params.velocity_solve_fraction * Vector3::new(lin_dvel.x, lin_dvel.y, ang_dvel); + Vector3::new(lin_dvel.x, lin_dvel.y, ang_dvel) * params.velocity_solve_fraction; #[cfg(feature = "dim3")] - let mut rhs = params.velocity_solve_fraction - * Vector6::new( - lin_dvel.x, lin_dvel.y, lin_dvel.z, ang_dvel.x, ang_dvel.y, ang_dvel.z, - ); + let mut rhs = Vector6::new( + lin_dvel.x, lin_dvel.y, lin_dvel.z, ang_dvel.x, ang_dvel.y, ang_dvel.z, + ) * params.velocity_solve_fraction; let velocity_based_erp_inv_dt = params.velocity_based_erp_inv_dt(); if velocity_based_erp_inv_dt != 0.0 { @@ -316,12 +315,11 @@ impl FixedVelocityGroundConstraint { #[cfg(feature = "dim2")] let mut rhs = - params.velocity_solve_fraction * Vector3::new(lin_dvel.x, lin_dvel.y, ang_dvel); + Vector3::new(lin_dvel.x, lin_dvel.y, ang_dvel) * params.velocity_solve_fraction; #[cfg(feature = "dim3")] - let mut rhs = params.velocity_solve_fraction - * Vector6::new( - lin_dvel.x, lin_dvel.y, lin_dvel.z, ang_dvel.x, ang_dvel.y, ang_dvel.z, - ); + let mut rhs = Vector6::new( + lin_dvel.x, lin_dvel.y, lin_dvel.z, ang_dvel.x, ang_dvel.y, ang_dvel.z, + ) * params.velocity_solve_fraction; let velocity_based_erp_inv_dt = params.velocity_based_erp_inv_dt(); if velocity_based_erp_inv_dt != 0.0 { diff --git a/src/dynamics/solver/velocity_constraint.rs b/src/dynamics/solver/velocity_constraint.rs index b7c257a..243d7d7 100644 --- a/src/dynamics/solver/velocity_constraint.rs +++ b/src/dynamics/solver/velocity_constraint.rs @@ -251,7 +251,7 @@ impl VelocityConstraint { let mut rhs = (1.0 + is_bouncy * manifold_point.restitution) * (vel1 - vel2).dot(&force_dir1); rhs += manifold_point.dist.max(0.0) * inv_dt; - rhs *= params.velocity_solve_fraction; + rhs *= is_bouncy + is_resting * params.velocity_solve_fraction; rhs += is_resting * velocity_based_erp_inv_dt * manifold_point.dist.min(0.0); constraint.elements[k].normal_part = VelocityConstraintElementPart { diff --git a/src/dynamics/solver/velocity_ground_constraint.rs b/src/dynamics/solver/velocity_ground_constraint.rs index 5d29510..4e195cd 100644 --- a/src/dynamics/solver/velocity_ground_constraint.rs +++ b/src/dynamics/solver/velocity_ground_constraint.rs @@ -163,7 +163,7 @@ impl VelocityGroundConstraint { let mut rhs = (1.0 + is_bouncy * manifold_point.restitution) * (vel1 - vel2).dot(&force_dir1); rhs += manifold_point.dist.max(0.0) * inv_dt; - rhs *= params.velocity_solve_fraction; + rhs *= is_bouncy + is_resting * params.velocity_solve_fraction; rhs += is_resting * velocity_based_erp_inv_dt * manifold_point.dist.min(0.0); constraint.elements[k].normal_part = VelocityGroundConstraintElementPart { |
