diff --git a/src/lava-vr/RopeLocomotion.cc b/src/lava-vr/RopeLocomotion.cc index c392b669132e979665ebace7bfa48261a3984476..b5d107cfeeafb5de54c42e23aba8da335bde6ce1 100644 --- a/src/lava-vr/RopeLocomotion.cc +++ b/src/lava-vr/RopeLocomotion.cc @@ -64,7 +64,9 @@ glm::mat4 RopeLocomotion::updateMatrix(glm::mat4 old) { : 1.0f; auto axis = glm::vec3{0.f, 1.f, 0.f}; - auto angle = glm::orientedAngle(old_dir, new_dir, axis); + auto angle = (mConfig.allowRotation) + ? glm::orientedAngle(old_dir, new_dir, axis) + : 0.0f; auto rot = glm::rotate(angle, axis); auto combined = glm::translate(new_cog) * rot * diff --git a/src/lava-vr/RopeLocomotion.hh b/src/lava-vr/RopeLocomotion.hh index 08a739ec4038239ee1147369b8c6262f2b12fceb..53a4661f3845d4d6f096b28bcd763e134788a15f 100644 --- a/src/lava-vr/RopeLocomotion.hh +++ b/src/lava-vr/RopeLocomotion.hh @@ -10,7 +10,8 @@ namespace vr { class RopeLocomotion { public: struct Config { - bool allowZoom; + bool allowZoom = true; + bool allowRotation = true; }; RopeLocomotion(lava::openvr::SharedOpenVRHmd const &output);