aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/coefficient_combine_rule.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2021-04-01 11:00:27 +0200
committerGitHub <noreply@github.com>2021-04-01 11:00:27 +0200
commitf8536e73fc092da5ded5c793d513c59296949aff (patch)
tree50af9e4312b22ea2c1cabc0e6d80dc73e59b3104 /src/dynamics/coefficient_combine_rule.rs
parent4b637c66ca40695f97f1ebdc38965e0d83ac5934 (diff)
parentcc3f16eb85f23a86ddd9d182d967cb12acc32354 (diff)
downloadrapier-f8536e73fc092da5ded5c793d513c59296949aff.tar.gz
rapier-f8536e73fc092da5ded5c793d513c59296949aff.tar.bz2
rapier-f8536e73fc092da5ded5c793d513c59296949aff.zip
Merge pull request #157 from dimforge/ccd
Implement Continuous Collision Detection
Diffstat (limited to 'src/dynamics/coefficient_combine_rule.rs')
-rw-r--r--src/dynamics/coefficient_combine_rule.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/dynamics/coefficient_combine_rule.rs b/src/dynamics/coefficient_combine_rule.rs
index 2c66888..9b3b9ee 100644
--- a/src/dynamics/coefficient_combine_rule.rs
+++ b/src/dynamics/coefficient_combine_rule.rs
@@ -21,6 +21,16 @@ pub enum CoefficientCombineRule {
}
impl CoefficientCombineRule {
+ pub(crate) fn from_value(val: u8) -> Self {
+ match val {
+ 0 => CoefficientCombineRule::Average,
+ 1 => CoefficientCombineRule::Min,
+ 2 => CoefficientCombineRule::Multiply,
+ 3 => CoefficientCombineRule::Max,
+ _ => panic!("Invalid coefficient combine rule."),
+ }
+ }
+
pub(crate) fn combine(coeff1: Real, coeff2: Real, rule_value1: u8, rule_value2: u8) -> Real {
let effective_rule = rule_value1.max(rule_value2);