aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/joint/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/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/joint.rs')
-rw-r--r--src/dynamics/joint/joint.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/dynamics/joint/joint.rs b/src/dynamics/joint/joint.rs
index fe77b4b..b4089ae 100644
--- a/src/dynamics/joint/joint.rs
+++ b/src/dynamics/joint/joint.rs
@@ -128,3 +128,14 @@ pub struct Joint {
/// The joint geometric parameters and impulse.
pub params: JointParams,
}
+
+impl Joint {
+ pub fn supports_simd_constraints(&self) -> bool {
+ match &self.params {
+ JointParams::RevoluteJoint(joint) => joint.supports_simd_constraints(),
+ JointParams::PrismaticJoint(joint) => joint.supports_simd_constraints(),
+ JointParams::FixedJoint(joint) => joint.supports_simd_constraints(),
+ JointParams::BallJoint(joint) => joint.supports_simd_constraints(),
+ }
+ }
+}