SixDOFConstraintTest.h 970 B

12345678910111213141516171819202122232425262728293031323334
  1. // Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
  2. // SPDX-FileCopyrightText: 2021 Jorrit Rouwe
  3. // SPDX-License-Identifier: MIT
  4. #pragma once
  5. #include <Tests/Test.h>
  6. #include <Jolt/Physics/Constraints/SixDOFConstraint.h>
  7. class SixDOFConstraintTest : public Test
  8. {
  9. public:
  10. JPH_DECLARE_RTTI_VIRTUAL(JPH_NO_EXPORT, SixDOFConstraintTest)
  11. virtual void Initialize() override;
  12. virtual void GetInitialCamera(CameraState &ioState) const override;
  13. virtual bool HasSettingsMenu() const override { return true; }
  14. virtual void CreateSettingsMenu(DebugUI *inUI, UIElement *inSubMenu) override;
  15. private:
  16. using SettingsRef = Ref<SixDOFConstraintSettings>;
  17. using EAxis = SixDOFConstraintSettings::EAxis;
  18. static float sLimitMin[EAxis::Num];
  19. static float sLimitMax[EAxis::Num];
  20. static bool sEnableLimits[EAxis::Num];
  21. static SettingsRef sSettings;
  22. Vec3 mTargetOrientationCS = Vec3::sZero();
  23. Ref<SixDOFConstraint> mConstraint;
  24. };