aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEmil Ernerfeldt <emil.ernerfeldt@gmail.com>2021-02-17 19:38:57 +0100
committerEmil Ernerfeldt <emil.ernerfeldt@gmail.com>2021-02-26 11:06:29 +0100
commitede4f0f7703dee4fc6a53e6da7775f7455a0b94e (patch)
tree08a85093ff73f0e6899ef1ff1fffd3c6efe5fd9f /src
parent3f26b46196531cfca10ae487bb242e8bb3f84f65 (diff)
downloadrapier-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.rs18
-rw-r--r--src/dynamics/solver/velocity_constraint.rs2
-rw-r--r--src/dynamics/solver/velocity_ground_constraint.rs2
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 {