@bloomengine/engine 0.3.3 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/native/shared/build.rs +137 -6
- package/package.json +4 -11
- package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/build.gradle +0 -51
- package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/AndroidManifest.xml +0 -20
- package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/cpp/CMakeLists.txt +0 -20
- package/native/third_party/JoltPhysics/Build/Android/UnitTests/build.gradle +0 -51
- package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/AndroidManifest.xml +0 -20
- package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/cpp/CMakeLists.txt +0 -20
- package/native/third_party/JoltPhysics/Build/Android/build.gradle +0 -17
- package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.properties +0 -5
- package/native/third_party/JoltPhysics/Build/Android/gradle.properties +0 -21
- package/native/third_party/JoltPhysics/Build/Android/gradlew +0 -185
- package/native/third_party/JoltPhysics/Build/Android/gradlew.bat +0 -89
- package/native/third_party/JoltPhysics/Build/Android/settings.gradle +0 -10
- package/native/third_party/JoltPhysics/Build/CMakeLists.txt +0 -449
- package/native/third_party/JoltPhysics/Build/README.md +0 -250
- package/native/third_party/JoltPhysics/Build/cmake_linux_clang_gcc.sh +0 -28
- package/native/third_party/JoltPhysics/Build/cmake_linux_emscripten.sh +0 -19
- package/native/third_party/JoltPhysics/Build/cmake_linux_mingw.sh +0 -19
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_32bit.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm_32bit.bat +0 -4
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_cross_platform_deterministic.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_double.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_no_object_stream.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_cross_platform_deterministic.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_double.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp.bat +0 -5
- package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp_arm.bat +0 -5
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_cross_platform_deterministic.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_double.bat +0 -3
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_cross_platform_deterministic.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_double.bat +0 -10
- package/native/third_party/JoltPhysics/Build/cmake_windows_mingw.sh +0 -19
- package/native/third_party/JoltPhysics/Build/cmake_xcode_ios.sh +0 -4
- package/native/third_party/JoltPhysics/Build/cmake_xcode_macos.sh +0 -4
- package/native/third_party/JoltPhysics/Build/iOS/JoltViewerInfo.plist +0 -34
- package/native/third_party/JoltPhysics/Build/iOS/SamplesInfo.plist +0 -34
- package/native/third_party/JoltPhysics/Build/iOS/UnitTestsInfo.plist +0 -34
- package/native/third_party/JoltPhysics/Build/macOS/icon.icns +0 -0
- package/native/third_party/JoltPhysics/Build/macos_install_vulkan_sdk.sh +0 -13
- package/native/third_party/JoltPhysics/Build/ubuntu24_install_vulkan_sdk.sh +0 -4
- package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.cpp +0 -242
- package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.h +0 -121
- package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeToBuffer.h +0 -296
- package/native/third_party/JoltPhysics/Jolt/AABBTree/NodeCodec/NodeCodecQuadTreeHalfFloat.h +0 -323
- package/native/third_party/JoltPhysics/Jolt/AABBTree/TriangleCodec/TriangleCodecIndexed8BitPackSOA4Flags.h +0 -555
- package/native/third_party/JoltPhysics/Jolt/ConfigurationString.h +0 -112
- package/native/third_party/JoltPhysics/Jolt/Core/ARMNeon.h +0 -94
- package/native/third_party/JoltPhysics/Jolt/Core/Array.h +0 -713
- package/native/third_party/JoltPhysics/Jolt/Core/Atomics.h +0 -44
- package/native/third_party/JoltPhysics/Jolt/Core/BinaryHeap.h +0 -96
- package/native/third_party/JoltPhysics/Jolt/Core/ByteBuffer.h +0 -74
- package/native/third_party/JoltPhysics/Jolt/Core/Color.cpp +0 -38
- package/native/third_party/JoltPhysics/Jolt/Core/Color.h +0 -98
- package/native/third_party/JoltPhysics/Jolt/Core/Core.h +0 -652
- package/native/third_party/JoltPhysics/Jolt/Core/FPControlWord.h +0 -143
- package/native/third_party/JoltPhysics/Jolt/Core/FPException.h +0 -96
- package/native/third_party/JoltPhysics/Jolt/Core/FPFlushDenormals.h +0 -43
- package/native/third_party/JoltPhysics/Jolt/Core/Factory.cpp +0 -92
- package/native/third_party/JoltPhysics/Jolt/Core/Factory.h +0 -54
- package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.h +0 -122
- package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.inl +0 -215
- package/native/third_party/JoltPhysics/Jolt/Core/HashCombine.h +0 -234
- package/native/third_party/JoltPhysics/Jolt/Core/HashTable.h +0 -876
- package/native/third_party/JoltPhysics/Jolt/Core/InsertionSort.h +0 -58
- package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.cpp +0 -27
- package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.h +0 -38
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.h +0 -311
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.inl +0 -56
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.cpp +0 -65
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.h +0 -62
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.cpp +0 -364
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.h +0 -101
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.cpp +0 -230
- package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.h +0 -85
- package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.cpp +0 -51
- package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.h +0 -67
- package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.h +0 -182
- package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.inl +0 -351
- package/native/third_party/JoltPhysics/Jolt/Core/Memory.cpp +0 -85
- package/native/third_party/JoltPhysics/Jolt/Core/Memory.h +0 -85
- package/native/third_party/JoltPhysics/Jolt/Core/Mutex.h +0 -223
- package/native/third_party/JoltPhysics/Jolt/Core/MutexArray.h +0 -98
- package/native/third_party/JoltPhysics/Jolt/Core/NonCopyable.h +0 -18
- package/native/third_party/JoltPhysics/Jolt/Core/Profiler.cpp +0 -677
- package/native/third_party/JoltPhysics/Jolt/Core/Profiler.h +0 -301
- package/native/third_party/JoltPhysics/Jolt/Core/Profiler.inl +0 -90
- package/native/third_party/JoltPhysics/Jolt/Core/QuickSort.h +0 -137
- package/native/third_party/JoltPhysics/Jolt/Core/RTTI.cpp +0 -149
- package/native/third_party/JoltPhysics/Jolt/Core/RTTI.h +0 -436
- package/native/third_party/JoltPhysics/Jolt/Core/Reference.h +0 -244
- package/native/third_party/JoltPhysics/Jolt/Core/Result.h +0 -174
- package/native/third_party/JoltPhysics/Jolt/Core/STLAlignedAllocator.h +0 -72
- package/native/third_party/JoltPhysics/Jolt/Core/STLAllocator.h +0 -127
- package/native/third_party/JoltPhysics/Jolt/Core/STLLocalAllocator.h +0 -170
- package/native/third_party/JoltPhysics/Jolt/Core/STLTempAllocator.h +0 -80
- package/native/third_party/JoltPhysics/Jolt/Core/ScopeExit.h +0 -49
- package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.cpp +0 -135
- package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.h +0 -68
- package/native/third_party/JoltPhysics/Jolt/Core/StaticArray.h +0 -329
- package/native/third_party/JoltPhysics/Jolt/Core/StreamIn.h +0 -120
- package/native/third_party/JoltPhysics/Jolt/Core/StreamOut.h +0 -97
- package/native/third_party/JoltPhysics/Jolt/Core/StreamUtils.h +0 -168
- package/native/third_party/JoltPhysics/Jolt/Core/StreamWrapper.h +0 -53
- package/native/third_party/JoltPhysics/Jolt/Core/StridedPtr.h +0 -63
- package/native/third_party/JoltPhysics/Jolt/Core/StringTools.cpp +0 -101
- package/native/third_party/JoltPhysics/Jolt/Core/StringTools.h +0 -38
- package/native/third_party/JoltPhysics/Jolt/Core/TempAllocator.h +0 -209
- package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.cpp +0 -37
- package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.h +0 -58
- package/native/third_party/JoltPhysics/Jolt/Core/UnorderedMap.h +0 -80
- package/native/third_party/JoltPhysics/Jolt/Core/UnorderedSet.h +0 -32
- package/native/third_party/JoltPhysics/Jolt/Geometry/AABox.h +0 -313
- package/native/third_party/JoltPhysics/Jolt/Geometry/AABox4.h +0 -224
- package/native/third_party/JoltPhysics/Jolt/Geometry/ClipPoly.h +0 -200
- package/native/third_party/JoltPhysics/Jolt/Geometry/ClosestPoint.h +0 -498
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.cpp +0 -1467
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.h +0 -276
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.cpp +0 -335
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.h +0 -105
- package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexSupport.h +0 -188
- package/native/third_party/JoltPhysics/Jolt/Geometry/EPAConvexHullBuilder.h +0 -845
- package/native/third_party/JoltPhysics/Jolt/Geometry/EPAPenetrationDepth.h +0 -557
- package/native/third_party/JoltPhysics/Jolt/Geometry/Ellipse.h +0 -77
- package/native/third_party/JoltPhysics/Jolt/Geometry/GJKClosestPoint.h +0 -945
- package/native/third_party/JoltPhysics/Jolt/Geometry/IndexedTriangle.h +0 -130
- package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.cpp +0 -222
- package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.h +0 -19
- package/native/third_party/JoltPhysics/Jolt/Geometry/MortonCode.h +0 -40
- package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.cpp +0 -178
- package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.h +0 -39
- package/native/third_party/JoltPhysics/Jolt/Geometry/Plane.h +0 -104
- package/native/third_party/JoltPhysics/Jolt/Geometry/RayAABox.h +0 -241
- package/native/third_party/JoltPhysics/Jolt/Geometry/RayCapsule.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Geometry/RayCylinder.h +0 -101
- package/native/third_party/JoltPhysics/Jolt/Geometry/RaySphere.h +0 -96
- package/native/third_party/JoltPhysics/Jolt/Geometry/RayTriangle.h +0 -158
- package/native/third_party/JoltPhysics/Jolt/Geometry/Sphere.h +0 -72
- package/native/third_party/JoltPhysics/Jolt/Geometry/Triangle.h +0 -34
- package/native/third_party/JoltPhysics/Jolt/Jolt.cmake +0 -703
- package/native/third_party/JoltPhysics/Jolt/Jolt.h +0 -16
- package/native/third_party/JoltPhysics/Jolt/Jolt.natvis +0 -116
- package/native/third_party/JoltPhysics/Jolt/Math/BVec16.h +0 -99
- package/native/third_party/JoltPhysics/Jolt/Math/BVec16.inl +0 -177
- package/native/third_party/JoltPhysics/Jolt/Math/DMat44.h +0 -158
- package/native/third_party/JoltPhysics/Jolt/Math/DMat44.inl +0 -310
- package/native/third_party/JoltPhysics/Jolt/Math/DVec3.h +0 -291
- package/native/third_party/JoltPhysics/Jolt/Math/DVec3.inl +0 -941
- package/native/third_party/JoltPhysics/Jolt/Math/Double3.h +0 -48
- package/native/third_party/JoltPhysics/Jolt/Math/DynMatrix.h +0 -31
- package/native/third_party/JoltPhysics/Jolt/Math/EigenValueSymmetric.h +0 -177
- package/native/third_party/JoltPhysics/Jolt/Math/FindRoot.h +0 -42
- package/native/third_party/JoltPhysics/Jolt/Math/Float2.h +0 -36
- package/native/third_party/JoltPhysics/Jolt/Math/Float3.h +0 -50
- package/native/third_party/JoltPhysics/Jolt/Math/Float4.h +0 -44
- package/native/third_party/JoltPhysics/Jolt/Math/GaussianElimination.h +0 -102
- package/native/third_party/JoltPhysics/Jolt/Math/HalfFloat.h +0 -208
- package/native/third_party/JoltPhysics/Jolt/Math/Mat44.h +0 -243
- package/native/third_party/JoltPhysics/Jolt/Math/Mat44.inl +0 -952
- package/native/third_party/JoltPhysics/Jolt/Math/Math.h +0 -208
- package/native/third_party/JoltPhysics/Jolt/Math/MathTypes.h +0 -32
- package/native/third_party/JoltPhysics/Jolt/Math/Matrix.h +0 -259
- package/native/third_party/JoltPhysics/Jolt/Math/Quat.h +0 -268
- package/native/third_party/JoltPhysics/Jolt/Math/Quat.inl +0 -406
- package/native/third_party/JoltPhysics/Jolt/Math/Real.h +0 -44
- package/native/third_party/JoltPhysics/Jolt/Math/Swizzle.h +0 -19
- package/native/third_party/JoltPhysics/Jolt/Math/Trigonometry.h +0 -79
- package/native/third_party/JoltPhysics/Jolt/Math/UVec4.h +0 -232
- package/native/third_party/JoltPhysics/Jolt/Math/UVec4.inl +0 -636
- package/native/third_party/JoltPhysics/Jolt/Math/Vec3.cpp +0 -71
- package/native/third_party/JoltPhysics/Jolt/Math/Vec3.h +0 -308
- package/native/third_party/JoltPhysics/Jolt/Math/Vec3.inl +0 -942
- package/native/third_party/JoltPhysics/Jolt/Math/Vec4.h +0 -320
- package/native/third_party/JoltPhysics/Jolt/Math/Vec4.inl +0 -1152
- package/native/third_party/JoltPhysics/Jolt/Math/Vector.h +0 -211
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/GetPrimitiveTypeOfType.h +0 -54
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.cpp +0 -38
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.h +0 -337
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.cpp +0 -252
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.h +0 -57
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.cpp +0 -165
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.h +0 -57
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.cpp +0 -635
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.h +0 -148
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.cpp +0 -166
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.h +0 -101
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.cpp +0 -418
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.h +0 -55
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.cpp +0 -255
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.h +0 -62
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTypes.h +0 -26
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttribute.h +0 -111
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeEnum.h +0 -67
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeTyped.h +0 -60
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.cpp +0 -15
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.h +0 -170
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.cpp +0 -70
- package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.h +0 -45
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/AllowedDOFs.h +0 -68
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.cpp +0 -426
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.h +0 -452
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.inl +0 -197
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyAccess.h +0 -68
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyActivationListener.h +0 -28
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.cpp +0 -234
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.h +0 -124
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyFilter.h +0 -130
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyID.h +0 -101
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.cpp +0 -1099
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.h +0 -324
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLock.h +0 -111
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockInterface.h +0 -134
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockMulti.h +0 -120
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.cpp +0 -1220
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.h +0 -403
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyPair.h +0 -36
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyType.h +0 -19
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.cpp +0 -185
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.h +0 -58
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.cpp +0 -92
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.h +0 -308
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.inl +0 -178
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionQuality.h +0 -31
- package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionType.h +0 -17
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.cpp +0 -354
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.h +0 -159
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.cpp +0 -59
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.h +0 -157
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterID.h +0 -98
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.cpp +0 -1933
- package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.h +0 -752
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/AABoxCast.h +0 -20
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdgeMode.h +0 -17
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdges.h +0 -114
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BackFaceMode.h +0 -16
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.cpp +0 -16
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.h +0 -109
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.cpp +0 -313
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.h +0 -38
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayer.h +0 -148
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceMask.h +0 -92
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceTable.h +0 -64
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.cpp +0 -629
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.h +0 -108
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuery.h +0 -56
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterMask.h +0 -35
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterTable.h +0 -66
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.cpp +0 -1768
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.h +0 -389
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.cpp +0 -107
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.h +0 -46
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastResult.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.cpp +0 -223
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.h +0 -49
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollectFacesMode.h +0 -16
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.cpp +0 -155
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.h +0 -56
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollidePointResult.h +0 -25
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShape.h +0 -106
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShapeVsShapePerLeaf.h +0 -94
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVertexIterator.h +0 -110
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVerticesVsTriangles.h +0 -102
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.cpp +0 -121
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.h +0 -50
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollector.h +0 -109
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollectorImpl.h +0 -219
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.cpp +0 -107
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.h +0 -97
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.cpp +0 -35
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.h +0 -97
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ContactListener.h +0 -143
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.cpp +0 -213
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.h +0 -48
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.cpp +0 -32
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.h +0 -46
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.cpp +0 -38
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.h +0 -130
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/InternalEdgeRemovingCollector.h +0 -279
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.cpp +0 -271
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.h +0 -44
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.cpp +0 -448
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.h +0 -77
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.cpp +0 -62
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.h +0 -110
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayer.h +0 -111
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterMask.h +0 -52
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterTable.h +0 -78
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.cpp +0 -35
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.h +0 -57
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.cpp +0 -38
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/RayCast.h +0 -87
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.cpp +0 -318
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.h +0 -115
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.cpp +0 -438
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.h +0 -129
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.cpp +0 -433
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.h +0 -354
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShapeVisitors.h +0 -461
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.cpp +0 -1311
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.h +0 -202
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.cpp +0 -566
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.h +0 -150
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.cpp +0 -418
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.h +0 -126
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.cpp +0 -87
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.h +0 -80
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.cpp +0 -64
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.h +0 -75
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/GetTrianglesContext.h +0 -248
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.cpp +0 -2754
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.h +0 -380
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.cpp +0 -1305
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.h +0 -228
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.cpp +0 -596
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.h +0 -176
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.cpp +0 -217
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.h +0 -140
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.cpp +0 -541
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.h +0 -147
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PolyhedronSubmergedVolumeCalculator.h +0 -319
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.cpp +0 -333
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.h +0 -161
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaleHelpers.h +0 -83
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.cpp +0 -238
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.h +0 -145
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.cpp +0 -325
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.h +0 -466
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.cpp +0 -347
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.h +0 -125
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.cpp +0 -674
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.h +0 -139
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeID.h +0 -138
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeIDPair.h +0 -65
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.cpp +0 -453
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.gliffy +0 -1
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.h +0 -135
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.cpp +0 -691
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.h +0 -132
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.cpp +0 -430
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.h +0 -143
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeCast.h +0 -173
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeFilter.h +0 -73
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilter.h +0 -40
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilterWrapper.h +0 -58
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SortReverseAndStore.h +0 -48
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.cpp +0 -180
- package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.h +0 -194
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/CalculateSolverSteps.h +0 -70
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.cpp +0 -246
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.h +0 -133
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.cpp +0 -73
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.h +0 -243
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.cpp +0 -289
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.h +0 -100
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AngleConstraintPart.h +0 -257
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AxisConstraintPart.h +0 -682
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/DualAxisConstraintPart.h +0 -276
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/GearConstraintPart.h +0 -195
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/HingeRotationConstraintPart.h +0 -222
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/IndependentAxisConstraintPart.h +0 -246
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/PointConstraintPart.h +0 -239
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RackAndPinionConstraintPart.h +0 -196
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationEulerConstraintPart.h +0 -283
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationQuatConstraintPart.h +0 -246
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SpringPart.h +0 -169
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SwingTwistConstraintPart.h +0 -597
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.cpp +0 -1804
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.h +0 -524
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.cpp +0 -266
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.h +0 -120
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.cpp +0 -215
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.h +0 -96
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.cpp +0 -188
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.h +0 -116
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.cpp +0 -443
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.h +0 -205
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.cpp +0 -43
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.h +0 -66
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.cpp +0 -458
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.h +0 -191
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.cpp +0 -85
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.h +0 -76
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.cpp +0 -308
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.h +0 -54
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.cpp +0 -157
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.h +0 -94
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.cpp +0 -253
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.h +0 -137
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.cpp +0 -189
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.h +0 -118
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.cpp +0 -900
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.h +0 -289
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.cpp +0 -501
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.h +0 -198
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.cpp +0 -35
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.h +0 -70
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.cpp +0 -524
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.h +0 -197
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.cpp +0 -56
- package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.h +0 -65
- package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.cpp +0 -17
- package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.h +0 -159
- package/native/third_party/JoltPhysics/Jolt/Physics/EActivation.h +0 -16
- package/native/third_party/JoltPhysics/Jolt/Physics/EPhysicsUpdateError.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.cpp +0 -492
- package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.h +0 -144
- package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.cpp +0 -582
- package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.h +0 -187
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsLock.h +0 -169
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.cpp +0 -261
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.h +0 -104
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSettings.h +0 -125
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsStepListener.h +0 -37
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.cpp +0 -2915
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.h +0 -391
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.cpp +0 -25
- package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.h +0 -176
- package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.cpp +0 -744
- package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.h +0 -245
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyContactListener.h +0 -55
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.cpp +0 -128
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.h +0 -75
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyManifold.h +0 -74
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.cpp +0 -1501
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.h +0 -333
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.cpp +0 -354
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.h +0 -73
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.cpp +0 -1487
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.h +0 -390
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyUpdateContext.h +0 -63
- package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyVertex.h +0 -36
- package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorder.h +0 -136
- package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.cpp +0 -90
- package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.h +0 -50
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.cpp +0 -306
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.h +0 -119
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.cpp +0 -547
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.h +0 -169
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.cpp +0 -33
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.h +0 -33
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.cpp +0 -376
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.h +0 -146
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.cpp +0 -703
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.h +0 -252
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.cpp +0 -17
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.h +0 -87
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.cpp +0 -81
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.h +0 -39
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.cpp +0 -122
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.h +0 -93
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.cpp +0 -52
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.h +0 -56
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.cpp +0 -159
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.h +0 -87
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.cpp +0 -93
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.h +0 -148
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.cpp +0 -866
- package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.h +0 -205
- package/native/third_party/JoltPhysics/Jolt/RegisterTypes.cpp +0 -204
- package/native/third_party/JoltPhysics/Jolt/RegisterTypes.h +0 -29
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.cpp +0 -1107
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.h +0 -383
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.cpp +0 -168
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.h +0 -48
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.cpp +0 -158
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.h +0 -130
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.cpp +0 -80
- package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.h +0 -88
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.cpp +0 -165
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.h +0 -91
- package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.cpp +0 -82
- package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.h +0 -72
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.cpp +0 -237
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.h +0 -145
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.cpp +0 -87
- package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.h +0 -82
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.cpp +0 -73
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.h +0 -84
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.cpp +0 -139
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.h +0 -52
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.cpp +0 -43
- package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.h +0 -28
- package/native/third_party/JoltPhysics/LICENSE +0 -7
- package/native/third_party/JoltPhysics/README.md +0 -173
- package/native/third_party/bloom_jolt/CMakeLists.txt +0 -87
- package/native/third_party/bloom_jolt/include/bloom_jolt.h +0 -519
- package/native/third_party/bloom_jolt/src/bloom_jolt.cpp +0 -1780
|
@@ -1,443 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#include <Jolt/Jolt.h>
|
|
6
|
-
|
|
7
|
-
#include <Jolt/Physics/Constraints/HingeConstraint.h>
|
|
8
|
-
#include <Jolt/Physics/Constraints/ConstraintPart/RotationEulerConstraintPart.h>
|
|
9
|
-
#include <Jolt/Physics/Body/Body.h>
|
|
10
|
-
#include <Jolt/ObjectStream/TypeDeclarations.h>
|
|
11
|
-
#include <Jolt/Core/StreamIn.h>
|
|
12
|
-
#include <Jolt/Core/StreamOut.h>
|
|
13
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
14
|
-
#include <Jolt/Renderer/DebugRenderer.h>
|
|
15
|
-
#endif // JPH_DEBUG_RENDERER
|
|
16
|
-
|
|
17
|
-
JPH_NAMESPACE_BEGIN
|
|
18
|
-
|
|
19
|
-
JPH_IMPLEMENT_SERIALIZABLE_VIRTUAL(HingeConstraintSettings)
|
|
20
|
-
{
|
|
21
|
-
JPH_ADD_BASE_CLASS(HingeConstraintSettings, TwoBodyConstraintSettings)
|
|
22
|
-
|
|
23
|
-
JPH_ADD_ENUM_ATTRIBUTE(HingeConstraintSettings, mSpace)
|
|
24
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mPoint1)
|
|
25
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mHingeAxis1)
|
|
26
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mNormalAxis1)
|
|
27
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mPoint2)
|
|
28
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mHingeAxis2)
|
|
29
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mNormalAxis2)
|
|
30
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mLimitsMin)
|
|
31
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mLimitsMax)
|
|
32
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mLimitsSpringSettings)
|
|
33
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mMaxFrictionTorque)
|
|
34
|
-
JPH_ADD_ATTRIBUTE(HingeConstraintSettings, mMotorSettings)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
void HingeConstraintSettings::SaveBinaryState(StreamOut &inStream) const
|
|
38
|
-
{
|
|
39
|
-
ConstraintSettings::SaveBinaryState(inStream);
|
|
40
|
-
|
|
41
|
-
inStream.Write(mSpace);
|
|
42
|
-
inStream.Write(mPoint1);
|
|
43
|
-
inStream.Write(mHingeAxis1);
|
|
44
|
-
inStream.Write(mNormalAxis1);
|
|
45
|
-
inStream.Write(mPoint2);
|
|
46
|
-
inStream.Write(mHingeAxis2);
|
|
47
|
-
inStream.Write(mNormalAxis2);
|
|
48
|
-
inStream.Write(mLimitsMin);
|
|
49
|
-
inStream.Write(mLimitsMax);
|
|
50
|
-
inStream.Write(mMaxFrictionTorque);
|
|
51
|
-
mLimitsSpringSettings.SaveBinaryState(inStream);
|
|
52
|
-
mMotorSettings.SaveBinaryState(inStream);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
void HingeConstraintSettings::RestoreBinaryState(StreamIn &inStream)
|
|
56
|
-
{
|
|
57
|
-
ConstraintSettings::RestoreBinaryState(inStream);
|
|
58
|
-
|
|
59
|
-
inStream.Read(mSpace);
|
|
60
|
-
inStream.Read(mPoint1);
|
|
61
|
-
inStream.Read(mHingeAxis1);
|
|
62
|
-
inStream.Read(mNormalAxis1);
|
|
63
|
-
inStream.Read(mPoint2);
|
|
64
|
-
inStream.Read(mHingeAxis2);
|
|
65
|
-
inStream.Read(mNormalAxis2);
|
|
66
|
-
inStream.Read(mLimitsMin);
|
|
67
|
-
inStream.Read(mLimitsMax);
|
|
68
|
-
inStream.Read(mMaxFrictionTorque);
|
|
69
|
-
mLimitsSpringSettings.RestoreBinaryState(inStream);
|
|
70
|
-
mMotorSettings.RestoreBinaryState(inStream);}
|
|
71
|
-
|
|
72
|
-
TwoBodyConstraint *HingeConstraintSettings::Create(Body &inBody1, Body &inBody2) const
|
|
73
|
-
{
|
|
74
|
-
return new HingeConstraint(inBody1, inBody2, *this);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
HingeConstraint::HingeConstraint(Body &inBody1, Body &inBody2, const HingeConstraintSettings &inSettings) :
|
|
78
|
-
TwoBodyConstraint(inBody1, inBody2, inSettings),
|
|
79
|
-
mMaxFrictionTorque(inSettings.mMaxFrictionTorque),
|
|
80
|
-
mMotorSettings(inSettings.mMotorSettings)
|
|
81
|
-
{
|
|
82
|
-
// Store limits
|
|
83
|
-
JPH_ASSERT(inSettings.mLimitsMin != inSettings.mLimitsMax || inSettings.mLimitsSpringSettings.mFrequency > 0.0f, "Better use a fixed constraint in this case");
|
|
84
|
-
SetLimits(inSettings.mLimitsMin, inSettings.mLimitsMax);
|
|
85
|
-
|
|
86
|
-
// Store inverse of initial rotation from body 1 to body 2 in body 1 space
|
|
87
|
-
mInvInitialOrientation = RotationEulerConstraintPart::sGetInvInitialOrientationXZ(inSettings.mNormalAxis1, inSettings.mHingeAxis1, inSettings.mNormalAxis2, inSettings.mHingeAxis2);
|
|
88
|
-
|
|
89
|
-
if (inSettings.mSpace == EConstraintSpace::WorldSpace)
|
|
90
|
-
{
|
|
91
|
-
// If all properties were specified in world space, take them to local space now
|
|
92
|
-
RMat44 inv_transform1 = inBody1.GetInverseCenterOfMassTransform();
|
|
93
|
-
mLocalSpacePosition1 = Vec3(inv_transform1 * inSettings.mPoint1);
|
|
94
|
-
mLocalSpaceHingeAxis1 = inv_transform1.Multiply3x3(inSettings.mHingeAxis1).Normalized();
|
|
95
|
-
mLocalSpaceNormalAxis1 = inv_transform1.Multiply3x3(inSettings.mNormalAxis1).Normalized();
|
|
96
|
-
|
|
97
|
-
RMat44 inv_transform2 = inBody2.GetInverseCenterOfMassTransform();
|
|
98
|
-
mLocalSpacePosition2 = Vec3(inv_transform2 * inSettings.mPoint2);
|
|
99
|
-
mLocalSpaceHingeAxis2 = inv_transform2.Multiply3x3(inSettings.mHingeAxis2).Normalized();
|
|
100
|
-
mLocalSpaceNormalAxis2 = inv_transform2.Multiply3x3(inSettings.mNormalAxis2).Normalized();
|
|
101
|
-
|
|
102
|
-
// Constraints were specified in world space, so we should have replaced c1 with q10^-1 c1 and c2 with q20^-1 c2
|
|
103
|
-
// => r0^-1 = (q20^-1 c2) (q10^-1 c1)^1 = q20^-1 (c2 c1^-1) q10
|
|
104
|
-
mInvInitialOrientation = inBody2.GetRotation().Conjugated() * mInvInitialOrientation * inBody1.GetRotation();
|
|
105
|
-
}
|
|
106
|
-
else
|
|
107
|
-
{
|
|
108
|
-
mLocalSpacePosition1 = Vec3(inSettings.mPoint1);
|
|
109
|
-
mLocalSpaceHingeAxis1 = inSettings.mHingeAxis1;
|
|
110
|
-
mLocalSpaceNormalAxis1 = inSettings.mNormalAxis1;
|
|
111
|
-
|
|
112
|
-
mLocalSpacePosition2 = Vec3(inSettings.mPoint2);
|
|
113
|
-
mLocalSpaceHingeAxis2 = inSettings.mHingeAxis2;
|
|
114
|
-
mLocalSpaceNormalAxis2 = inSettings.mNormalAxis2;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// Store spring settings
|
|
118
|
-
SetLimitsSpringSettings(inSettings.mLimitsSpringSettings);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
void HingeConstraint::NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM)
|
|
122
|
-
{
|
|
123
|
-
if (mBody1->GetID() == inBodyID)
|
|
124
|
-
mLocalSpacePosition1 -= inDeltaCOM;
|
|
125
|
-
else if (mBody2->GetID() == inBodyID)
|
|
126
|
-
mLocalSpacePosition2 -= inDeltaCOM;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
float HingeConstraint::GetCurrentAngle() const
|
|
130
|
-
{
|
|
131
|
-
// See: CalculateA1AndTheta
|
|
132
|
-
Quat rotation1 = mBody1->GetRotation();
|
|
133
|
-
Quat diff = mBody2->GetRotation() * mInvInitialOrientation * rotation1.Conjugated();
|
|
134
|
-
return diff.GetRotationAngle(rotation1 * mLocalSpaceHingeAxis1);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
void HingeConstraint::SetTargetOrientationBS(QuatArg inOrientation)
|
|
138
|
-
{
|
|
139
|
-
// See: CalculateA1AndTheta
|
|
140
|
-
//
|
|
141
|
-
// The rotation between body 1 and 2 can be written as:
|
|
142
|
-
//
|
|
143
|
-
// q2 = q1 rh1 r0
|
|
144
|
-
//
|
|
145
|
-
// where rh1 is a rotation around local hinge axis 1, also:
|
|
146
|
-
//
|
|
147
|
-
// q2 = q1 inOrientation
|
|
148
|
-
//
|
|
149
|
-
// This means:
|
|
150
|
-
//
|
|
151
|
-
// rh1 r0 = inOrientation <=> rh1 = inOrientation * r0^-1
|
|
152
|
-
Quat rh1 = inOrientation * mInvInitialOrientation;
|
|
153
|
-
SetTargetAngle(rh1.GetRotationAngle(mLocalSpaceHingeAxis1));
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
void HingeConstraint::SetLimits(float inLimitsMin, float inLimitsMax)
|
|
157
|
-
{
|
|
158
|
-
JPH_ASSERT(inLimitsMin <= 0.0f && inLimitsMin >= -JPH_PI);
|
|
159
|
-
JPH_ASSERT(inLimitsMax >= 0.0f && inLimitsMax <= JPH_PI);
|
|
160
|
-
mLimitsMin = inLimitsMin;
|
|
161
|
-
mLimitsMax = inLimitsMax;
|
|
162
|
-
mHasLimits = mLimitsMin > -JPH_PI || mLimitsMax < JPH_PI;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
void HingeConstraint::CalculateA1AndTheta()
|
|
166
|
-
{
|
|
167
|
-
if (mHasLimits || mMotorState != EMotorState::Off || mMaxFrictionTorque > 0.0f)
|
|
168
|
-
{
|
|
169
|
-
Quat rotation1 = mBody1->GetRotation();
|
|
170
|
-
|
|
171
|
-
// Calculate relative rotation in world space
|
|
172
|
-
//
|
|
173
|
-
// The rest rotation is:
|
|
174
|
-
//
|
|
175
|
-
// q2 = q1 r0
|
|
176
|
-
//
|
|
177
|
-
// But the actual rotation is
|
|
178
|
-
//
|
|
179
|
-
// q2 = diff q1 r0
|
|
180
|
-
// <=> diff = q2 r0^-1 q1^-1
|
|
181
|
-
//
|
|
182
|
-
// Where:
|
|
183
|
-
// q1 = current rotation of body 1
|
|
184
|
-
// q2 = current rotation of body 2
|
|
185
|
-
// diff = relative rotation in world space
|
|
186
|
-
Quat diff = mBody2->GetRotation() * mInvInitialOrientation * rotation1.Conjugated();
|
|
187
|
-
|
|
188
|
-
// Calculate hinge axis in world space
|
|
189
|
-
mA1 = rotation1 * mLocalSpaceHingeAxis1;
|
|
190
|
-
|
|
191
|
-
// Get rotation angle around the hinge axis
|
|
192
|
-
mTheta = diff.GetRotationAngle(mA1);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
void HingeConstraint::CalculateRotationLimitsConstraintProperties(float inDeltaTime)
|
|
197
|
-
{
|
|
198
|
-
// Apply constraint if outside of limits
|
|
199
|
-
if (mHasLimits && (mTheta <= mLimitsMin || mTheta >= mLimitsMax))
|
|
200
|
-
mRotationLimitsConstraintPart.CalculateConstraintPropertiesWithSettings(inDeltaTime, *mBody1, *mBody2, mA1, 0.0f, GetSmallestAngleToLimit(), mLimitsSpringSettings);
|
|
201
|
-
else
|
|
202
|
-
mRotationLimitsConstraintPart.Deactivate();
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
void HingeConstraint::CalculateMotorConstraintProperties(float inDeltaTime)
|
|
206
|
-
{
|
|
207
|
-
switch (mMotorState)
|
|
208
|
-
{
|
|
209
|
-
case EMotorState::Off:
|
|
210
|
-
if (mMaxFrictionTorque > 0.0f)
|
|
211
|
-
mMotorConstraintPart.CalculateConstraintProperties(*mBody1, *mBody2, mA1);
|
|
212
|
-
else
|
|
213
|
-
mMotorConstraintPart.Deactivate();
|
|
214
|
-
break;
|
|
215
|
-
|
|
216
|
-
case EMotorState::Velocity:
|
|
217
|
-
mMotorConstraintPart.CalculateConstraintProperties(*mBody1, *mBody2, mA1, -mTargetAngularVelocity);
|
|
218
|
-
break;
|
|
219
|
-
|
|
220
|
-
case EMotorState::Position:
|
|
221
|
-
if (mMotorSettings.mSpringSettings.HasStiffness())
|
|
222
|
-
mMotorConstraintPart.CalculateConstraintPropertiesWithSettings(inDeltaTime, *mBody1, *mBody2, mA1, 0.0f, CenterAngleAroundZero(mTheta - mTargetAngle), mMotorSettings.mSpringSettings);
|
|
223
|
-
else
|
|
224
|
-
mMotorConstraintPart.Deactivate();
|
|
225
|
-
break;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
void HingeConstraint::SetupVelocityConstraint(float inDeltaTime)
|
|
230
|
-
{
|
|
231
|
-
// Cache constraint values that are valid until the bodies move
|
|
232
|
-
Mat44 rotation1 = Mat44::sRotation(mBody1->GetRotation());
|
|
233
|
-
Mat44 rotation2 = Mat44::sRotation(mBody2->GetRotation());
|
|
234
|
-
mPointConstraintPart.CalculateConstraintProperties(*mBody1, rotation1, mLocalSpacePosition1, *mBody2, rotation2, mLocalSpacePosition2);
|
|
235
|
-
mRotationConstraintPart.CalculateConstraintProperties(*mBody1, rotation1, rotation1.Multiply3x3(mLocalSpaceHingeAxis1), *mBody2, rotation2, rotation2.Multiply3x3(mLocalSpaceHingeAxis2));
|
|
236
|
-
CalculateA1AndTheta();
|
|
237
|
-
CalculateRotationLimitsConstraintProperties(inDeltaTime);
|
|
238
|
-
CalculateMotorConstraintProperties(inDeltaTime);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
void HingeConstraint::ResetWarmStart()
|
|
242
|
-
{
|
|
243
|
-
mMotorConstraintPart.Deactivate();
|
|
244
|
-
mPointConstraintPart.Deactivate();
|
|
245
|
-
mRotationConstraintPart.Deactivate();
|
|
246
|
-
mRotationLimitsConstraintPart.Deactivate();
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
void HingeConstraint::WarmStartVelocityConstraint(float inWarmStartImpulseRatio)
|
|
250
|
-
{
|
|
251
|
-
// Warm starting: Apply previous frame impulse
|
|
252
|
-
mMotorConstraintPart.WarmStart(*mBody1, *mBody2, inWarmStartImpulseRatio);
|
|
253
|
-
mPointConstraintPart.WarmStart(*mBody1, *mBody2, inWarmStartImpulseRatio);
|
|
254
|
-
mRotationConstraintPart.WarmStart(*mBody1, *mBody2, inWarmStartImpulseRatio);
|
|
255
|
-
mRotationLimitsConstraintPart.WarmStart(*mBody1, *mBody2, inWarmStartImpulseRatio);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
float HingeConstraint::GetSmallestAngleToLimit() const
|
|
259
|
-
{
|
|
260
|
-
float dist_to_min = CenterAngleAroundZero(mTheta - mLimitsMin);
|
|
261
|
-
float dist_to_max = CenterAngleAroundZero(mTheta - mLimitsMax);
|
|
262
|
-
return abs(dist_to_min) < abs(dist_to_max)? dist_to_min : dist_to_max;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
bool HingeConstraint::IsMinLimitClosest() const
|
|
266
|
-
{
|
|
267
|
-
float dist_to_min = CenterAngleAroundZero(mTheta - mLimitsMin);
|
|
268
|
-
float dist_to_max = CenterAngleAroundZero(mTheta - mLimitsMax);
|
|
269
|
-
return abs(dist_to_min) < abs(dist_to_max);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
bool HingeConstraint::SolveVelocityConstraint(float inDeltaTime)
|
|
273
|
-
{
|
|
274
|
-
// Solve motor
|
|
275
|
-
bool motor = false;
|
|
276
|
-
if (mMotorConstraintPart.IsActive())
|
|
277
|
-
{
|
|
278
|
-
switch (mMotorState)
|
|
279
|
-
{
|
|
280
|
-
case EMotorState::Off:
|
|
281
|
-
{
|
|
282
|
-
float max_lambda = mMaxFrictionTorque * inDeltaTime;
|
|
283
|
-
motor = mMotorConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2, mA1, -max_lambda, max_lambda);
|
|
284
|
-
break;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
case EMotorState::Velocity:
|
|
288
|
-
case EMotorState::Position:
|
|
289
|
-
motor = mMotorConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2, mA1, inDeltaTime * mMotorSettings.mMinTorqueLimit, inDeltaTime * mMotorSettings.mMaxTorqueLimit);
|
|
290
|
-
break;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
// Solve point constraint
|
|
295
|
-
bool pos = mPointConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2);
|
|
296
|
-
|
|
297
|
-
// Solve rotation constraint
|
|
298
|
-
bool rot = mRotationConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2);
|
|
299
|
-
|
|
300
|
-
// Solve rotation limits
|
|
301
|
-
bool limit = false;
|
|
302
|
-
if (mRotationLimitsConstraintPart.IsActive())
|
|
303
|
-
{
|
|
304
|
-
float min_lambda, max_lambda;
|
|
305
|
-
if (mLimitsMin == mLimitsMax)
|
|
306
|
-
{
|
|
307
|
-
min_lambda = -FLT_MAX;
|
|
308
|
-
max_lambda = FLT_MAX;
|
|
309
|
-
}
|
|
310
|
-
else if (IsMinLimitClosest())
|
|
311
|
-
{
|
|
312
|
-
min_lambda = 0.0f;
|
|
313
|
-
max_lambda = FLT_MAX;
|
|
314
|
-
}
|
|
315
|
-
else
|
|
316
|
-
{
|
|
317
|
-
min_lambda = -FLT_MAX;
|
|
318
|
-
max_lambda = 0.0f;
|
|
319
|
-
}
|
|
320
|
-
limit = mRotationLimitsConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2, mA1, min_lambda, max_lambda);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
return motor || pos || rot || limit;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
bool HingeConstraint::SolvePositionConstraint(float inDeltaTime, float inBaumgarte)
|
|
327
|
-
{
|
|
328
|
-
// Motor operates on velocities only, don't call SolvePositionConstraint
|
|
329
|
-
|
|
330
|
-
// Solve point constraint
|
|
331
|
-
mPointConstraintPart.CalculateConstraintProperties(*mBody1, Mat44::sRotation(mBody1->GetRotation()), mLocalSpacePosition1, *mBody2, Mat44::sRotation(mBody2->GetRotation()), mLocalSpacePosition2);
|
|
332
|
-
bool pos = mPointConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, inBaumgarte);
|
|
333
|
-
|
|
334
|
-
// Solve rotation constraint
|
|
335
|
-
Mat44 rotation1 = Mat44::sRotation(mBody1->GetRotation()); // Note that previous call to GetRotation() is out of date since the rotation has changed
|
|
336
|
-
Mat44 rotation2 = Mat44::sRotation(mBody2->GetRotation());
|
|
337
|
-
mRotationConstraintPart.CalculateConstraintProperties(*mBody1, rotation1, rotation1.Multiply3x3(mLocalSpaceHingeAxis1), *mBody2, rotation2, rotation2.Multiply3x3(mLocalSpaceHingeAxis2));
|
|
338
|
-
bool rot = mRotationConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, inBaumgarte);
|
|
339
|
-
|
|
340
|
-
// Solve rotation limits
|
|
341
|
-
bool limit = false;
|
|
342
|
-
if (mHasLimits && mLimitsSpringSettings.mFrequency <= 0.0f)
|
|
343
|
-
{
|
|
344
|
-
CalculateA1AndTheta();
|
|
345
|
-
CalculateRotationLimitsConstraintProperties(inDeltaTime);
|
|
346
|
-
if (mRotationLimitsConstraintPart.IsActive())
|
|
347
|
-
limit = mRotationLimitsConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, GetSmallestAngleToLimit(), inBaumgarte);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
return pos || rot || limit;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
354
|
-
void HingeConstraint::DrawConstraint(DebugRenderer *inRenderer) const
|
|
355
|
-
{
|
|
356
|
-
RMat44 transform1 = mBody1->GetCenterOfMassTransform();
|
|
357
|
-
RMat44 transform2 = mBody2->GetCenterOfMassTransform();
|
|
358
|
-
|
|
359
|
-
// Draw constraint
|
|
360
|
-
RVec3 constraint_pos1 = transform1 * mLocalSpacePosition1;
|
|
361
|
-
inRenderer->DrawMarker(constraint_pos1, Color::sRed, 0.1f);
|
|
362
|
-
inRenderer->DrawLine(constraint_pos1, transform1 * (mLocalSpacePosition1 + mDrawConstraintSize * mLocalSpaceHingeAxis1), Color::sRed);
|
|
363
|
-
|
|
364
|
-
RVec3 constraint_pos2 = transform2 * mLocalSpacePosition2;
|
|
365
|
-
inRenderer->DrawMarker(constraint_pos2, Color::sGreen, 0.1f);
|
|
366
|
-
inRenderer->DrawLine(constraint_pos2, transform2 * (mLocalSpacePosition2 + mDrawConstraintSize * mLocalSpaceHingeAxis2), Color::sGreen);
|
|
367
|
-
inRenderer->DrawLine(constraint_pos2, transform2 * (mLocalSpacePosition2 + mDrawConstraintSize * mLocalSpaceNormalAxis2), Color::sWhite);
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
void HingeConstraint::DrawConstraintLimits(DebugRenderer *inRenderer) const
|
|
371
|
-
{
|
|
372
|
-
if (mHasLimits && mLimitsMax > mLimitsMin)
|
|
373
|
-
{
|
|
374
|
-
// Get constraint properties in world space
|
|
375
|
-
RMat44 transform1 = mBody1->GetCenterOfMassTransform();
|
|
376
|
-
RVec3 position1 = transform1 * mLocalSpacePosition1;
|
|
377
|
-
Vec3 hinge_axis1 = transform1.Multiply3x3(mLocalSpaceHingeAxis1);
|
|
378
|
-
Vec3 normal_axis1 = transform1.Multiply3x3(mLocalSpaceNormalAxis1);
|
|
379
|
-
|
|
380
|
-
inRenderer->DrawPie(position1, mDrawConstraintSize, hinge_axis1, normal_axis1, mLimitsMin, mLimitsMax, Color::sPurple, DebugRenderer::ECastShadow::Off);
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
#endif // JPH_DEBUG_RENDERER
|
|
384
|
-
|
|
385
|
-
void HingeConstraint::SaveState(StateRecorder &inStream) const
|
|
386
|
-
{
|
|
387
|
-
TwoBodyConstraint::SaveState(inStream);
|
|
388
|
-
|
|
389
|
-
mMotorConstraintPart.SaveState(inStream);
|
|
390
|
-
mRotationConstraintPart.SaveState(inStream);
|
|
391
|
-
mPointConstraintPart.SaveState(inStream);
|
|
392
|
-
mRotationLimitsConstraintPart.SaveState(inStream);
|
|
393
|
-
|
|
394
|
-
inStream.Write(mMotorState);
|
|
395
|
-
inStream.Write(mTargetAngularVelocity);
|
|
396
|
-
inStream.Write(mTargetAngle);
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
void HingeConstraint::RestoreState(StateRecorder &inStream)
|
|
400
|
-
{
|
|
401
|
-
TwoBodyConstraint::RestoreState(inStream);
|
|
402
|
-
|
|
403
|
-
mMotorConstraintPart.RestoreState(inStream);
|
|
404
|
-
mRotationConstraintPart.RestoreState(inStream);
|
|
405
|
-
mPointConstraintPart.RestoreState(inStream);
|
|
406
|
-
mRotationLimitsConstraintPart.RestoreState(inStream);
|
|
407
|
-
|
|
408
|
-
inStream.Read(mMotorState);
|
|
409
|
-
inStream.Read(mTargetAngularVelocity);
|
|
410
|
-
inStream.Read(mTargetAngle);
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
Ref<ConstraintSettings> HingeConstraint::GetConstraintSettings() const
|
|
415
|
-
{
|
|
416
|
-
HingeConstraintSettings *settings = new HingeConstraintSettings;
|
|
417
|
-
ToConstraintSettings(*settings);
|
|
418
|
-
settings->mSpace = EConstraintSpace::LocalToBodyCOM;
|
|
419
|
-
settings->mPoint1 = RVec3(mLocalSpacePosition1);
|
|
420
|
-
settings->mHingeAxis1 = mLocalSpaceHingeAxis1;
|
|
421
|
-
settings->mNormalAxis1 = mLocalSpaceNormalAxis1;
|
|
422
|
-
settings->mPoint2 = RVec3(mLocalSpacePosition2);
|
|
423
|
-
settings->mHingeAxis2 = mLocalSpaceHingeAxis2;
|
|
424
|
-
settings->mNormalAxis2 = mLocalSpaceNormalAxis2;
|
|
425
|
-
settings->mLimitsMin = mLimitsMin;
|
|
426
|
-
settings->mLimitsMax = mLimitsMax;
|
|
427
|
-
settings->mLimitsSpringSettings = mLimitsSpringSettings;
|
|
428
|
-
settings->mMaxFrictionTorque = mMaxFrictionTorque;
|
|
429
|
-
settings->mMotorSettings = mMotorSettings;
|
|
430
|
-
return settings;
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
Mat44 HingeConstraint::GetConstraintToBody1Matrix() const
|
|
434
|
-
{
|
|
435
|
-
return Mat44(Vec4(mLocalSpaceHingeAxis1, 0), Vec4(mLocalSpaceNormalAxis1, 0), Vec4(mLocalSpaceHingeAxis1.Cross(mLocalSpaceNormalAxis1), 0), Vec4(mLocalSpacePosition1, 1));
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
Mat44 HingeConstraint::GetConstraintToBody2Matrix() const
|
|
439
|
-
{
|
|
440
|
-
return Mat44(Vec4(mLocalSpaceHingeAxis2, 0), Vec4(mLocalSpaceNormalAxis2, 0), Vec4(mLocalSpaceHingeAxis2.Cross(mLocalSpaceNormalAxis2), 0), Vec4(mLocalSpacePosition2, 1));
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
JPH_NAMESPACE_END
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#pragma once
|
|
6
|
-
|
|
7
|
-
#include <Jolt/Physics/Constraints/TwoBodyConstraint.h>
|
|
8
|
-
#include <Jolt/Physics/Constraints/MotorSettings.h>
|
|
9
|
-
#include <Jolt/Physics/Constraints/ConstraintPart/PointConstraintPart.h>
|
|
10
|
-
#include <Jolt/Physics/Constraints/ConstraintPart/HingeRotationConstraintPart.h>
|
|
11
|
-
#include <Jolt/Physics/Constraints/ConstraintPart/AngleConstraintPart.h>
|
|
12
|
-
|
|
13
|
-
JPH_NAMESPACE_BEGIN
|
|
14
|
-
|
|
15
|
-
/// Hinge constraint settings, used to create a hinge constraint
|
|
16
|
-
class JPH_EXPORT HingeConstraintSettings final : public TwoBodyConstraintSettings
|
|
17
|
-
{
|
|
18
|
-
JPH_DECLARE_SERIALIZABLE_VIRTUAL(JPH_EXPORT, HingeConstraintSettings)
|
|
19
|
-
|
|
20
|
-
public:
|
|
21
|
-
// See: ConstraintSettings::SaveBinaryState
|
|
22
|
-
virtual void SaveBinaryState(StreamOut &inStream) const override;
|
|
23
|
-
|
|
24
|
-
/// Create an instance of this constraint
|
|
25
|
-
virtual TwoBodyConstraint * Create(Body &inBody1, Body &inBody2) const override;
|
|
26
|
-
|
|
27
|
-
/// This determines in which space the constraint is setup, all properties below should be in the specified space
|
|
28
|
-
EConstraintSpace mSpace = EConstraintSpace::WorldSpace;
|
|
29
|
-
|
|
30
|
-
/// Body 1 constraint reference frame (space determined by mSpace).
|
|
31
|
-
/// Hinge axis is the axis where rotation is allowed.
|
|
32
|
-
/// When the normal axis of both bodies align in world space, the hinge angle is defined to be 0.
|
|
33
|
-
/// mHingeAxis1 and mNormalAxis1 should be perpendicular. mHingeAxis2 and mNormalAxis2 should also be perpendicular.
|
|
34
|
-
/// If you configure the joint in world space and create both bodies with a relative rotation you want to be defined as zero,
|
|
35
|
-
/// you can simply set mHingeAxis1 = mHingeAxis2 and mNormalAxis1 = mNormalAxis2.
|
|
36
|
-
RVec3 mPoint1 = RVec3::sZero();
|
|
37
|
-
Vec3 mHingeAxis1 = Vec3::sAxisY();
|
|
38
|
-
Vec3 mNormalAxis1 = Vec3::sAxisX();
|
|
39
|
-
|
|
40
|
-
/// Body 2 constraint reference frame (space determined by mSpace)
|
|
41
|
-
RVec3 mPoint2 = RVec3::sZero();
|
|
42
|
-
Vec3 mHingeAxis2 = Vec3::sAxisY();
|
|
43
|
-
Vec3 mNormalAxis2 = Vec3::sAxisX();
|
|
44
|
-
|
|
45
|
-
/// Rotation around the hinge axis will be limited between [mLimitsMin, mLimitsMax] where mLimitsMin e [-pi, 0] and mLimitsMax e [0, pi].
|
|
46
|
-
/// Both angles are in radians.
|
|
47
|
-
float mLimitsMin = -JPH_PI;
|
|
48
|
-
float mLimitsMax = JPH_PI;
|
|
49
|
-
|
|
50
|
-
/// When enabled, this makes the limits soft. When the constraint exceeds the limits, a spring force will pull it back.
|
|
51
|
-
SpringSettings mLimitsSpringSettings;
|
|
52
|
-
|
|
53
|
-
/// Maximum amount of torque (N m) to apply as friction when the constraint is not powered by a motor
|
|
54
|
-
float mMaxFrictionTorque = 0.0f;
|
|
55
|
-
|
|
56
|
-
/// In case the constraint is powered, this determines the motor settings around the hinge axis
|
|
57
|
-
MotorSettings mMotorSettings;
|
|
58
|
-
|
|
59
|
-
protected:
|
|
60
|
-
// See: ConstraintSettings::RestoreBinaryState
|
|
61
|
-
virtual void RestoreBinaryState(StreamIn &inStream) override;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
/// A hinge constraint constrains 2 bodies on a single point and allows only a single axis of rotation
|
|
65
|
-
class JPH_EXPORT HingeConstraint final : public TwoBodyConstraint
|
|
66
|
-
{
|
|
67
|
-
public:
|
|
68
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
69
|
-
|
|
70
|
-
/// Construct hinge constraint
|
|
71
|
-
HingeConstraint(Body &inBody1, Body &inBody2, const HingeConstraintSettings &inSettings);
|
|
72
|
-
|
|
73
|
-
// Generic interface of a constraint
|
|
74
|
-
virtual EConstraintSubType GetSubType() const override { return EConstraintSubType::Hinge; }
|
|
75
|
-
virtual void NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM) override;
|
|
76
|
-
virtual void SetupVelocityConstraint(float inDeltaTime) override;
|
|
77
|
-
virtual void ResetWarmStart() override;
|
|
78
|
-
virtual void WarmStartVelocityConstraint(float inWarmStartImpulseRatio) override;
|
|
79
|
-
virtual bool SolveVelocityConstraint(float inDeltaTime) override;
|
|
80
|
-
virtual bool SolvePositionConstraint(float inDeltaTime, float inBaumgarte) override;
|
|
81
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
82
|
-
virtual void DrawConstraint(DebugRenderer *inRenderer) const override;
|
|
83
|
-
virtual void DrawConstraintLimits(DebugRenderer *inRenderer) const override;
|
|
84
|
-
#endif // JPH_DEBUG_RENDERER
|
|
85
|
-
virtual void SaveState(StateRecorder &inStream) const override;
|
|
86
|
-
virtual void RestoreState(StateRecorder &inStream) override;
|
|
87
|
-
virtual Ref<ConstraintSettings> GetConstraintSettings() const override;
|
|
88
|
-
|
|
89
|
-
// See: TwoBodyConstraint
|
|
90
|
-
virtual Mat44 GetConstraintToBody1Matrix() const override;
|
|
91
|
-
virtual Mat44 GetConstraintToBody2Matrix() const override;
|
|
92
|
-
|
|
93
|
-
/// Get the attachment point for body 1 relative to body 1 COM (transform by Body::GetCenterOfMassTransform to take to world space)
|
|
94
|
-
inline Vec3 GetLocalSpacePoint1() const { return mLocalSpacePosition1; }
|
|
95
|
-
|
|
96
|
-
/// Get the attachment point for body 2 relative to body 2 COM (transform by Body::GetCenterOfMassTransform to take to world space)
|
|
97
|
-
inline Vec3 GetLocalSpacePoint2() const { return mLocalSpacePosition2; }
|
|
98
|
-
|
|
99
|
-
// Local space hinge directions (transform direction by Body::GetCenterOfMassTransform to take to world space)
|
|
100
|
-
Vec3 GetLocalSpaceHingeAxis1() const { return mLocalSpaceHingeAxis1; }
|
|
101
|
-
Vec3 GetLocalSpaceHingeAxis2() const { return mLocalSpaceHingeAxis2; }
|
|
102
|
-
|
|
103
|
-
// Local space normal directions (transform direction by Body::GetCenterOfMassTransform to take to world space)
|
|
104
|
-
Vec3 GetLocalSpaceNormalAxis1() const { return mLocalSpaceNormalAxis1; }
|
|
105
|
-
Vec3 GetLocalSpaceNormalAxis2() const { return mLocalSpaceNormalAxis2; }
|
|
106
|
-
|
|
107
|
-
/// Get the current rotation angle from the rest position
|
|
108
|
-
float GetCurrentAngle() const;
|
|
109
|
-
|
|
110
|
-
// Friction control
|
|
111
|
-
void SetMaxFrictionTorque(float inFrictionTorque) { mMaxFrictionTorque = inFrictionTorque; }
|
|
112
|
-
float GetMaxFrictionTorque() const { return mMaxFrictionTorque; }
|
|
113
|
-
|
|
114
|
-
// Motor settings
|
|
115
|
-
MotorSettings & GetMotorSettings() { return mMotorSettings; }
|
|
116
|
-
const MotorSettings & GetMotorSettings() const { return mMotorSettings; }
|
|
117
|
-
|
|
118
|
-
// Motor controls
|
|
119
|
-
void SetMotorState(EMotorState inState) { JPH_ASSERT(inState == EMotorState::Off || mMotorSettings.IsValid()); mMotorState = inState; }
|
|
120
|
-
EMotorState GetMotorState() const { return mMotorState; }
|
|
121
|
-
void SetTargetAngularVelocity(float inAngularVelocity) { mTargetAngularVelocity = inAngularVelocity; } ///< rad/s
|
|
122
|
-
float GetTargetAngularVelocity() const { return mTargetAngularVelocity; }
|
|
123
|
-
void SetTargetAngle(float inAngle) { mTargetAngle = mHasLimits? Clamp(inAngle, mLimitsMin, mLimitsMax) : inAngle; } ///< rad
|
|
124
|
-
float GetTargetAngle() const { return mTargetAngle; }
|
|
125
|
-
|
|
126
|
-
/// Set the target orientation in body space (R2 = R1 * inOrientation, where R1 and R2 are the world space rotations for body 1 and 2).
|
|
127
|
-
/// Calculates the local space target angle and calls SetTargetAngle. Motor state must be EMotorState::Position for this to have any effect.
|
|
128
|
-
/// May set the wrong angle if inOrientation contains large rotations around other axis than the hinge axis.
|
|
129
|
-
void SetTargetOrientationBS(QuatArg inOrientation);
|
|
130
|
-
|
|
131
|
-
/// Update the rotation limits of the hinge, value in radians (see HingeConstraintSettings)
|
|
132
|
-
void SetLimits(float inLimitsMin, float inLimitsMax);
|
|
133
|
-
float GetLimitsMin() const { return mLimitsMin; }
|
|
134
|
-
float GetLimitsMax() const { return mLimitsMax; }
|
|
135
|
-
bool HasLimits() const { return mHasLimits; }
|
|
136
|
-
|
|
137
|
-
/// Update the limits spring settings
|
|
138
|
-
const SpringSettings & GetLimitsSpringSettings() const { return mLimitsSpringSettings; }
|
|
139
|
-
SpringSettings & GetLimitsSpringSettings() { return mLimitsSpringSettings; }
|
|
140
|
-
void SetLimitsSpringSettings(const SpringSettings &inLimitsSpringSettings) { mLimitsSpringSettings = inLimitsSpringSettings; }
|
|
141
|
-
|
|
142
|
-
///@name Get Lagrange multiplier from last physics update (the linear/angular impulse applied to satisfy the constraint)
|
|
143
|
-
inline Vec3 GetTotalLambdaPosition() const { return mPointConstraintPart.GetTotalLambda(); }
|
|
144
|
-
inline Vector<2> GetTotalLambdaRotation() const { return mRotationConstraintPart.GetTotalLambda(); }
|
|
145
|
-
inline float GetTotalLambdaRotationLimits() const { return mRotationLimitsConstraintPart.GetTotalLambda(); }
|
|
146
|
-
inline float GetTotalLambdaMotor() const { return mMotorConstraintPart.GetTotalLambda(); }
|
|
147
|
-
|
|
148
|
-
private:
|
|
149
|
-
// Internal helper function to calculate the values below
|
|
150
|
-
void CalculateA1AndTheta();
|
|
151
|
-
void CalculateRotationLimitsConstraintProperties(float inDeltaTime);
|
|
152
|
-
void CalculateMotorConstraintProperties(float inDeltaTime);
|
|
153
|
-
inline float GetSmallestAngleToLimit() const;
|
|
154
|
-
inline bool IsMinLimitClosest() const;
|
|
155
|
-
|
|
156
|
-
// CONFIGURATION PROPERTIES FOLLOW
|
|
157
|
-
|
|
158
|
-
// Local space constraint positions
|
|
159
|
-
Vec3 mLocalSpacePosition1;
|
|
160
|
-
Vec3 mLocalSpacePosition2;
|
|
161
|
-
|
|
162
|
-
// Local space hinge directions
|
|
163
|
-
Vec3 mLocalSpaceHingeAxis1;
|
|
164
|
-
Vec3 mLocalSpaceHingeAxis2;
|
|
165
|
-
|
|
166
|
-
// Local space normal direction (direction relative to which to draw constraint limits)
|
|
167
|
-
Vec3 mLocalSpaceNormalAxis1;
|
|
168
|
-
Vec3 mLocalSpaceNormalAxis2;
|
|
169
|
-
|
|
170
|
-
// Inverse of initial relative orientation between bodies (which defines hinge angle = 0)
|
|
171
|
-
Quat mInvInitialOrientation;
|
|
172
|
-
|
|
173
|
-
// Hinge limits
|
|
174
|
-
bool mHasLimits;
|
|
175
|
-
float mLimitsMin;
|
|
176
|
-
float mLimitsMax;
|
|
177
|
-
|
|
178
|
-
// Soft constraint limits
|
|
179
|
-
SpringSettings mLimitsSpringSettings;
|
|
180
|
-
|
|
181
|
-
// Friction
|
|
182
|
-
float mMaxFrictionTorque;
|
|
183
|
-
|
|
184
|
-
// Motor controls
|
|
185
|
-
MotorSettings mMotorSettings;
|
|
186
|
-
EMotorState mMotorState = EMotorState::Off;
|
|
187
|
-
float mTargetAngularVelocity = 0.0f;
|
|
188
|
-
float mTargetAngle = 0.0f;
|
|
189
|
-
|
|
190
|
-
// RUN TIME PROPERTIES FOLLOW
|
|
191
|
-
|
|
192
|
-
// Current rotation around the hinge axis
|
|
193
|
-
float mTheta = 0.0f;
|
|
194
|
-
|
|
195
|
-
// World space hinge axis for body 1
|
|
196
|
-
Vec3 mA1;
|
|
197
|
-
|
|
198
|
-
// The constraint parts
|
|
199
|
-
PointConstraintPart mPointConstraintPart;
|
|
200
|
-
HingeRotationConstraintPart mRotationConstraintPart;
|
|
201
|
-
AngleConstraintPart mRotationLimitsConstraintPart;
|
|
202
|
-
AngleConstraintPart mMotorConstraintPart;
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
JPH_NAMESPACE_END
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#include <Jolt/Jolt.h>
|
|
6
|
-
|
|
7
|
-
#include <Jolt/Physics/Constraints/MotorSettings.h>
|
|
8
|
-
#include <Jolt/ObjectStream/TypeDeclarations.h>
|
|
9
|
-
#include <Jolt/Core/StreamIn.h>
|
|
10
|
-
#include <Jolt/Core/StreamOut.h>
|
|
11
|
-
|
|
12
|
-
JPH_NAMESPACE_BEGIN
|
|
13
|
-
|
|
14
|
-
JPH_IMPLEMENT_SERIALIZABLE_NON_VIRTUAL(MotorSettings)
|
|
15
|
-
{
|
|
16
|
-
JPH_ADD_ENUM_ATTRIBUTE_WITH_ALIAS(MotorSettings, mSpringSettings.mMode, "mSpringMode")
|
|
17
|
-
JPH_ADD_ATTRIBUTE_WITH_ALIAS(MotorSettings, mSpringSettings.mFrequency, "mFrequency") // Renaming attributes to stay compatible with old versions of the library
|
|
18
|
-
JPH_ADD_ATTRIBUTE_WITH_ALIAS(MotorSettings, mSpringSettings.mDamping, "mDamping")
|
|
19
|
-
JPH_ADD_ATTRIBUTE(MotorSettings, mMinForceLimit)
|
|
20
|
-
JPH_ADD_ATTRIBUTE(MotorSettings, mMaxForceLimit)
|
|
21
|
-
JPH_ADD_ATTRIBUTE(MotorSettings, mMinTorqueLimit)
|
|
22
|
-
JPH_ADD_ATTRIBUTE(MotorSettings, mMaxTorqueLimit)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
void MotorSettings::SaveBinaryState(StreamOut &inStream) const
|
|
26
|
-
{
|
|
27
|
-
mSpringSettings.SaveBinaryState(inStream);
|
|
28
|
-
inStream.Write(mMinForceLimit);
|
|
29
|
-
inStream.Write(mMaxForceLimit);
|
|
30
|
-
inStream.Write(mMinTorqueLimit);
|
|
31
|
-
inStream.Write(mMaxTorqueLimit);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
void MotorSettings::RestoreBinaryState(StreamIn &inStream)
|
|
35
|
-
{
|
|
36
|
-
mSpringSettings.RestoreBinaryState(inStream);
|
|
37
|
-
inStream.Read(mMinForceLimit);
|
|
38
|
-
inStream.Read(mMaxForceLimit);
|
|
39
|
-
inStream.Read(mMinTorqueLimit);
|
|
40
|
-
inStream.Read(mMaxTorqueLimit);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
JPH_NAMESPACE_END
|