aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/joint/revolute_joint.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-02-19 17:32:09 +0100
committerCrozet Sébastien <developer@crozet.re>2021-02-19 17:32:09 +0100
commitdc8ccc0c30e75aea8f144dbfad16be088d4d4ea2 (patch)
treebdf50466616f449570713ca61f419aa04807d4b1 /src/dynamics/joint/revolute_joint.rs
parente9f17f32e8dda4b97d2eb7b2118b7373d0c554d0 (diff)
downloadrapier-dc8ccc0c30e75aea8f144dbfad16be088d4d4ea2.tar.gz
rapier-dc8ccc0c30e75aea8f144dbfad16be088d4d4ea2.tar.bz2
rapier-dc8ccc0c30e75aea8f144dbfad16be088d4d4ea2.zip
Make revolute joint actuation work properly even when SIMD is enabled.
Diffstat (limited to 'src/dynamics/joint/revolute_joint.rs')
-rw-r--r--src/dynamics/joint/revolute_joint.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/dynamics/joint/revolute_joint.rs b/src/dynamics/joint/revolute_joint.rs
index 9af0ae6..022779d 100644
--- a/src/dynamics/joint/revolute_joint.rs
+++ b/src/dynamics/joint/revolute_joint.rs
@@ -77,6 +77,12 @@ impl RevoluteJoint {
}
}
+ /// Can a SIMD constraint be used for resolving this joint?
+ pub fn supports_simd_constraints(&self) -> bool {
+ // SIMD revolute constraints don't support motors right now.
+ self.motor_max_impulse == 0.0 || (self.motor_stiffness == 0.0 && self.motor_damping == 0.0)
+ }
+
pub fn configure_motor_model(&mut self, model: SpringModel) {
self.motor_model = model;
}