HeightFieldShapeTest.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // SPDX-FileCopyrightText: 2021 Jorrit Rouwe
  2. // SPDX-License-Identifier: MIT
  3. #pragma once
  4. #include <Tests/Test.h>
  5. #include <Jolt/Physics/Collision/Shape/HeightFieldShape.h>
  6. class HeightFieldShapeTest : public Test
  7. {
  8. public:
  9. JPH_DECLARE_RTTI_VIRTUAL(HeightFieldShapeTest)
  10. // Initialize the test
  11. virtual void Initialize() override;
  12. // Update the test, called before the physics update
  13. virtual void PrePhysicsUpdate(const PreUpdateParams &inParams) override;
  14. // Override to specify the initial camera state (local to GetCameraPivot)
  15. virtual void GetInitialCamera(CameraState &ioState) const override;
  16. // Optional settings menu
  17. virtual bool HasSettingsMenu() const override { return true; }
  18. virtual void CreateSettingsMenu(DebugUI *inUI, UIElement *inSubMenu) override;
  19. // Original (uncompressed) terrain
  20. Array<float> mTerrain;
  21. PhysicsMaterialList mMaterials;
  22. Array<uint8> mMaterialIndices;
  23. uint mTerrainSize;
  24. Vec3 mTerrainOffset;
  25. Vec3 mTerrainScale;
  26. // Block size = 1 << sBlockSizeShift
  27. inline static int sBlockSizeShift = 2;
  28. // Bits per sample
  29. inline static int sBitsPerSample = 8;
  30. // Draw the terrain
  31. inline static bool sShowOriginalTerrain = false;
  32. RefConst<HeightFieldShape> mHeightField;
  33. Vec3 mHitPos = Vec3::sZero();
  34. };