aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver/contact_constraint
diff options
context:
space:
mode:
authorSébastien Crozet <sebcrozet@dimforge.com>2024-05-25 11:05:00 +0200
committerSébastien Crozet <sebastien@crozet.re>2024-05-25 12:00:15 +0200
commitfdd935dbf13d02b3b08a139baca8a96aa5a3247e (patch)
treeb7c3c9050578a8f952474a54defd7c004330ecb7 /src/dynamics/solver/contact_constraint
parent62379de9ecc81fb42b7c2a0d2b8e3e1b02d63f38 (diff)
downloadrapier-fdd935dbf13d02b3b08a139baca8a96aa5a3247e.tar.gz
rapier-fdd935dbf13d02b3b08a139baca8a96aa5a3247e.tar.bz2
rapier-fdd935dbf13d02b3b08a139baca8a96aa5a3247e.zip
feat: make the constraints regularization coefficients configurable with angular frequency instead of explicit ERP
Diffstat (limited to 'src/dynamics/solver/contact_constraint')
-rw-r--r--src/dynamics/solver/contact_constraint/one_body_constraint.rs3
-rw-r--r--src/dynamics/solver/contact_constraint/one_body_constraint_simd.rs3
-rw-r--r--src/dynamics/solver/contact_constraint/two_body_constraint.rs3
-rw-r--r--src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs3
4 files changed, 8 insertions, 4 deletions
diff --git a/src/dynamics/solver/contact_constraint/one_body_constraint.rs b/src/dynamics/solver/contact_constraint/one_body_constraint.rs
index 1243d11..cf9fe67 100644
--- a/src/dynamics/solver/contact_constraint/one_body_constraint.rs
+++ b/src/dynamics/solver/contact_constraint/one_body_constraint.rs
@@ -333,7 +333,8 @@ impl OneBodyConstraintBuilder {
}
}
- constraint.cfm_factor = if is_fast_contact { 1.0 } else { cfm_factor };
+ constraint.cfm_factor = cfm_factor;
+ // constraint.cfm_factor = if is_fast_contact { 1.0 } else { cfm_factor };
}
}
diff --git a/src/dynamics/solver/contact_constraint/one_body_constraint_simd.rs b/src/dynamics/solver/contact_constraint/one_body_constraint_simd.rs
index 5710bc4..131702c 100644
--- a/src/dynamics/solver/contact_constraint/one_body_constraint_simd.rs
+++ b/src/dynamics/solver/contact_constraint/one_body_constraint_simd.rs
@@ -330,7 +330,8 @@ impl SimdOneBodyConstraintBuilder {
}
}
- constraint.cfm_factor = SimdReal::splat(1.0).select(is_fast_contact, cfm_factor);
+ constraint.cfm_factor = cfm_factor;
+ // constraint.cfm_factor = SimdReal::splat(1.0).select(is_fast_contact, cfm_factor);
}
}
diff --git a/src/dynamics/solver/contact_constraint/two_body_constraint.rs b/src/dynamics/solver/contact_constraint/two_body_constraint.rs
index 1511d4f..e98305a 100644
--- a/src/dynamics/solver/contact_constraint/two_body_constraint.rs
+++ b/src/dynamics/solver/contact_constraint/two_body_constraint.rs
@@ -432,7 +432,8 @@ impl TwoBodyConstraintBuilder {
}
}
- constraint.cfm_factor = if is_fast_contact { 1.0 } else { cfm_factor };
+ constraint.cfm_factor = cfm_factor;
+ // constraint.cfm_factor = if is_fast_contact { 1.0 } else { cfm_factor };
}
}
diff --git a/src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs b/src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs
index 4c4ef52..4af0d10 100644
--- a/src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs
+++ b/src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs
@@ -317,7 +317,8 @@ impl TwoBodyConstraintBuilderSimd {
}
}
- constraint.cfm_factor = SimdReal::splat(1.0).select(is_fast_contact, cfm_factor);
+ constraint.cfm_factor = cfm_factor;
+ // constraint.cfm_factor = SimdReal::splat(1.0).select(is_fast_contact, cfm_factor);
}
}