@bloomengine/engine 0.4.0 → 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/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,501 +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/SliderConstraint.h>
|
|
8
|
-
#include <Jolt/Physics/Body/Body.h>
|
|
9
|
-
#include <Jolt/ObjectStream/TypeDeclarations.h>
|
|
10
|
-
#include <Jolt/Core/StreamIn.h>
|
|
11
|
-
#include <Jolt/Core/StreamOut.h>
|
|
12
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
13
|
-
#include <Jolt/Renderer/DebugRenderer.h>
|
|
14
|
-
#endif // JPH_DEBUG_RENDERER
|
|
15
|
-
|
|
16
|
-
JPH_NAMESPACE_BEGIN
|
|
17
|
-
|
|
18
|
-
using namespace literals;
|
|
19
|
-
|
|
20
|
-
JPH_IMPLEMENT_SERIALIZABLE_VIRTUAL(SliderConstraintSettings)
|
|
21
|
-
{
|
|
22
|
-
JPH_ADD_BASE_CLASS(SliderConstraintSettings, TwoBodyConstraintSettings)
|
|
23
|
-
|
|
24
|
-
JPH_ADD_ENUM_ATTRIBUTE(SliderConstraintSettings, mSpace)
|
|
25
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mAutoDetectPoint)
|
|
26
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mPoint1)
|
|
27
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mSliderAxis1)
|
|
28
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mNormalAxis1)
|
|
29
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mPoint2)
|
|
30
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mSliderAxis2)
|
|
31
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mNormalAxis2)
|
|
32
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mLimitsMin)
|
|
33
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mLimitsMax)
|
|
34
|
-
JPH_ADD_ENUM_ATTRIBUTE_WITH_ALIAS(SliderConstraintSettings, mLimitsSpringSettings.mMode, "mSpringMode")
|
|
35
|
-
JPH_ADD_ATTRIBUTE_WITH_ALIAS(SliderConstraintSettings, mLimitsSpringSettings.mFrequency, "mFrequency") // Renaming attributes to stay compatible with old versions of the library
|
|
36
|
-
JPH_ADD_ATTRIBUTE_WITH_ALIAS(SliderConstraintSettings, mLimitsSpringSettings.mDamping, "mDamping")
|
|
37
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mMaxFrictionForce)
|
|
38
|
-
JPH_ADD_ATTRIBUTE(SliderConstraintSettings, mMotorSettings)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
void SliderConstraintSettings::SetSliderAxis(Vec3Arg inSliderAxis)
|
|
42
|
-
{
|
|
43
|
-
JPH_ASSERT(mSpace == EConstraintSpace::WorldSpace);
|
|
44
|
-
|
|
45
|
-
mSliderAxis1 = mSliderAxis2 = inSliderAxis;
|
|
46
|
-
mNormalAxis1 = mNormalAxis2 = inSliderAxis.GetNormalizedPerpendicular();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
void SliderConstraintSettings::SaveBinaryState(StreamOut &inStream) const
|
|
50
|
-
{
|
|
51
|
-
ConstraintSettings::SaveBinaryState(inStream);
|
|
52
|
-
|
|
53
|
-
inStream.Write(mSpace);
|
|
54
|
-
inStream.Write(mAutoDetectPoint);
|
|
55
|
-
inStream.Write(mPoint1);
|
|
56
|
-
inStream.Write(mSliderAxis1);
|
|
57
|
-
inStream.Write(mNormalAxis1);
|
|
58
|
-
inStream.Write(mPoint2);
|
|
59
|
-
inStream.Write(mSliderAxis2);
|
|
60
|
-
inStream.Write(mNormalAxis2);
|
|
61
|
-
inStream.Write(mLimitsMin);
|
|
62
|
-
inStream.Write(mLimitsMax);
|
|
63
|
-
inStream.Write(mMaxFrictionForce);
|
|
64
|
-
mLimitsSpringSettings.SaveBinaryState(inStream);
|
|
65
|
-
mMotorSettings.SaveBinaryState(inStream);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
void SliderConstraintSettings::RestoreBinaryState(StreamIn &inStream)
|
|
69
|
-
{
|
|
70
|
-
ConstraintSettings::RestoreBinaryState(inStream);
|
|
71
|
-
|
|
72
|
-
inStream.Read(mSpace);
|
|
73
|
-
inStream.Read(mAutoDetectPoint);
|
|
74
|
-
inStream.Read(mPoint1);
|
|
75
|
-
inStream.Read(mSliderAxis1);
|
|
76
|
-
inStream.Read(mNormalAxis1);
|
|
77
|
-
inStream.Read(mPoint2);
|
|
78
|
-
inStream.Read(mSliderAxis2);
|
|
79
|
-
inStream.Read(mNormalAxis2);
|
|
80
|
-
inStream.Read(mLimitsMin);
|
|
81
|
-
inStream.Read(mLimitsMax);
|
|
82
|
-
inStream.Read(mMaxFrictionForce);
|
|
83
|
-
mLimitsSpringSettings.RestoreBinaryState(inStream);
|
|
84
|
-
mMotorSettings.RestoreBinaryState(inStream);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
TwoBodyConstraint *SliderConstraintSettings::Create(Body &inBody1, Body &inBody2) const
|
|
88
|
-
{
|
|
89
|
-
return new SliderConstraint(inBody1, inBody2, *this);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
SliderConstraint::SliderConstraint(Body &inBody1, Body &inBody2, const SliderConstraintSettings &inSettings) :
|
|
93
|
-
TwoBodyConstraint(inBody1, inBody2, inSettings),
|
|
94
|
-
mMaxFrictionForce(inSettings.mMaxFrictionForce),
|
|
95
|
-
mMotorSettings(inSettings.mMotorSettings)
|
|
96
|
-
{
|
|
97
|
-
// Store inverse of initial rotation from body 1 to body 2 in body 1 space
|
|
98
|
-
mInvInitialOrientation = RotationEulerConstraintPart::sGetInvInitialOrientationXY(inSettings.mSliderAxis1, inSettings.mNormalAxis1, inSettings.mSliderAxis2, inSettings.mNormalAxis2);
|
|
99
|
-
|
|
100
|
-
if (inSettings.mSpace == EConstraintSpace::WorldSpace)
|
|
101
|
-
{
|
|
102
|
-
RMat44 inv_transform1 = inBody1.GetInverseCenterOfMassTransform();
|
|
103
|
-
RMat44 inv_transform2 = inBody2.GetInverseCenterOfMassTransform();
|
|
104
|
-
|
|
105
|
-
if (inSettings.mAutoDetectPoint)
|
|
106
|
-
{
|
|
107
|
-
// Determine anchor point: If any of the bodies can never be dynamic use the other body as anchor point
|
|
108
|
-
RVec3 anchor;
|
|
109
|
-
if (!inBody1.CanBeKinematicOrDynamic())
|
|
110
|
-
anchor = inBody2.GetCenterOfMassPosition();
|
|
111
|
-
else if (!inBody2.CanBeKinematicOrDynamic())
|
|
112
|
-
anchor = inBody1.GetCenterOfMassPosition();
|
|
113
|
-
else
|
|
114
|
-
{
|
|
115
|
-
// Otherwise use weighted anchor point towards the lightest body
|
|
116
|
-
Real inv_m1 = Real(inBody1.GetMotionPropertiesUnchecked()->GetInverseMassUnchecked());
|
|
117
|
-
Real inv_m2 = Real(inBody2.GetMotionPropertiesUnchecked()->GetInverseMassUnchecked());
|
|
118
|
-
Real total_inv_mass = inv_m1 + inv_m2;
|
|
119
|
-
if (total_inv_mass != 0.0_r)
|
|
120
|
-
anchor = (inv_m1 * inBody1.GetCenterOfMassPosition() + inv_m2 * inBody2.GetCenterOfMassPosition()) / total_inv_mass;
|
|
121
|
-
else
|
|
122
|
-
anchor = inBody1.GetCenterOfMassPosition();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// Store local positions
|
|
126
|
-
mLocalSpacePosition1 = Vec3(inv_transform1 * anchor);
|
|
127
|
-
mLocalSpacePosition2 = Vec3(inv_transform2 * anchor);
|
|
128
|
-
}
|
|
129
|
-
else
|
|
130
|
-
{
|
|
131
|
-
// Store local positions
|
|
132
|
-
mLocalSpacePosition1 = Vec3(inv_transform1 * inSettings.mPoint1);
|
|
133
|
-
mLocalSpacePosition2 = Vec3(inv_transform2 * inSettings.mPoint2);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// If all properties were specified in world space, take them to local space now
|
|
137
|
-
mLocalSpaceSliderAxis1 = inv_transform1.Multiply3x3(inSettings.mSliderAxis1).Normalized();
|
|
138
|
-
mLocalSpaceNormal1 = inv_transform1.Multiply3x3(inSettings.mNormalAxis1).Normalized();
|
|
139
|
-
|
|
140
|
-
// Constraints were specified in world space, so we should have replaced c1 with q10^-1 c1 and c2 with q20^-1 c2
|
|
141
|
-
// => r0^-1 = (q20^-1 c2) (q10^-1 c1)^1 = q20^-1 (c2 c1^-1) q10
|
|
142
|
-
mInvInitialOrientation = inBody2.GetRotation().Conjugated() * mInvInitialOrientation * inBody1.GetRotation();
|
|
143
|
-
}
|
|
144
|
-
else
|
|
145
|
-
{
|
|
146
|
-
// Store local positions
|
|
147
|
-
mLocalSpacePosition1 = Vec3(inSettings.mPoint1);
|
|
148
|
-
mLocalSpacePosition2 = Vec3(inSettings.mPoint2);
|
|
149
|
-
|
|
150
|
-
// Store local space axis
|
|
151
|
-
mLocalSpaceSliderAxis1 = inSettings.mSliderAxis1;
|
|
152
|
-
mLocalSpaceNormal1 = inSettings.mNormalAxis1;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// Calculate 2nd local space normal
|
|
156
|
-
mLocalSpaceNormal2 = mLocalSpaceSliderAxis1.Cross(mLocalSpaceNormal1);
|
|
157
|
-
|
|
158
|
-
// Store limits
|
|
159
|
-
JPH_ASSERT(inSettings.mLimitsMin != inSettings.mLimitsMax || inSettings.mLimitsSpringSettings.mFrequency > 0.0f, "Better use a fixed constraint");
|
|
160
|
-
SetLimits(inSettings.mLimitsMin, inSettings.mLimitsMax);
|
|
161
|
-
|
|
162
|
-
// Store spring settings
|
|
163
|
-
SetLimitsSpringSettings(inSettings.mLimitsSpringSettings);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
void SliderConstraint::NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM)
|
|
167
|
-
{
|
|
168
|
-
if (mBody1->GetID() == inBodyID)
|
|
169
|
-
mLocalSpacePosition1 -= inDeltaCOM;
|
|
170
|
-
else if (mBody2->GetID() == inBodyID)
|
|
171
|
-
mLocalSpacePosition2 -= inDeltaCOM;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
float SliderConstraint::GetCurrentPosition() const
|
|
175
|
-
{
|
|
176
|
-
// See: CalculateR1R2U and CalculateSlidingAxisAndPosition
|
|
177
|
-
Vec3 r1 = mBody1->GetRotation() * mLocalSpacePosition1;
|
|
178
|
-
Vec3 r2 = mBody2->GetRotation() * mLocalSpacePosition2;
|
|
179
|
-
Vec3 u = Vec3(mBody2->GetCenterOfMassPosition() - mBody1->GetCenterOfMassPosition()) + r2 - r1;
|
|
180
|
-
return u.Dot(mBody1->GetRotation() * mLocalSpaceSliderAxis1);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
void SliderConstraint::SetLimits(float inLimitsMin, float inLimitsMax)
|
|
184
|
-
{
|
|
185
|
-
JPH_ASSERT(inLimitsMin <= 0.0f);
|
|
186
|
-
JPH_ASSERT(inLimitsMax >= 0.0f);
|
|
187
|
-
mLimitsMin = inLimitsMin;
|
|
188
|
-
mLimitsMax = inLimitsMax;
|
|
189
|
-
mHasLimits = mLimitsMin != -FLT_MAX || mLimitsMax != FLT_MAX;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
void SliderConstraint::CalculateR1R2U(Mat44Arg inRotation1, Mat44Arg inRotation2)
|
|
193
|
-
{
|
|
194
|
-
// Calculate points relative to body
|
|
195
|
-
mR1 = inRotation1 * mLocalSpacePosition1;
|
|
196
|
-
mR2 = inRotation2 * mLocalSpacePosition2;
|
|
197
|
-
|
|
198
|
-
// Calculate X2 + R2 - X1 - R1
|
|
199
|
-
mU = Vec3(mBody2->GetCenterOfMassPosition() - mBody1->GetCenterOfMassPosition()) + mR2 - mR1;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
void SliderConstraint::CalculatePositionConstraintProperties(Mat44Arg inRotation1, Mat44Arg inRotation2)
|
|
203
|
-
{
|
|
204
|
-
// Calculate world space normals
|
|
205
|
-
mN1 = inRotation1 * mLocalSpaceNormal1;
|
|
206
|
-
mN2 = inRotation1 * mLocalSpaceNormal2;
|
|
207
|
-
|
|
208
|
-
mPositionConstraintPart.CalculateConstraintProperties(*mBody1, inRotation1, mR1 + mU, *mBody2, inRotation2, mR2, mN1, mN2);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
void SliderConstraint::CalculateSlidingAxisAndPosition(Mat44Arg inRotation1)
|
|
212
|
-
{
|
|
213
|
-
if (mHasLimits || mMotorState != EMotorState::Off || mMaxFrictionForce > 0.0f)
|
|
214
|
-
{
|
|
215
|
-
// Calculate world space slider axis
|
|
216
|
-
mWorldSpaceSliderAxis = inRotation1 * mLocalSpaceSliderAxis1;
|
|
217
|
-
|
|
218
|
-
// Calculate slide distance along axis
|
|
219
|
-
mD = mU.Dot(mWorldSpaceSliderAxis);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
void SliderConstraint::CalculatePositionLimitsConstraintProperties(float inDeltaTime)
|
|
224
|
-
{
|
|
225
|
-
// Check if distance is within limits
|
|
226
|
-
bool below_min = mD <= mLimitsMin;
|
|
227
|
-
if (mHasLimits && (below_min || mD >= mLimitsMax))
|
|
228
|
-
mPositionLimitsConstraintPart.CalculateConstraintPropertiesWithSettings(inDeltaTime, *mBody1, mR1 + mU, *mBody2, mR2, mWorldSpaceSliderAxis, 0.0f, mD - (below_min? mLimitsMin : mLimitsMax), mLimitsSpringSettings);
|
|
229
|
-
else
|
|
230
|
-
mPositionLimitsConstraintPart.Deactivate();
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
void SliderConstraint::CalculateMotorConstraintProperties(float inDeltaTime)
|
|
234
|
-
{
|
|
235
|
-
switch (mMotorState)
|
|
236
|
-
{
|
|
237
|
-
case EMotorState::Off:
|
|
238
|
-
if (mMaxFrictionForce > 0.0f)
|
|
239
|
-
mMotorConstraintPart.CalculateConstraintProperties(*mBody1, mR1 + mU, *mBody2, mR2, mWorldSpaceSliderAxis);
|
|
240
|
-
else
|
|
241
|
-
mMotorConstraintPart.Deactivate();
|
|
242
|
-
break;
|
|
243
|
-
|
|
244
|
-
case EMotorState::Velocity:
|
|
245
|
-
mMotorConstraintPart.CalculateConstraintProperties(*mBody1, mR1 + mU, *mBody2, mR2, mWorldSpaceSliderAxis, -mTargetVelocity);
|
|
246
|
-
break;
|
|
247
|
-
|
|
248
|
-
case EMotorState::Position:
|
|
249
|
-
if (mMotorSettings.mSpringSettings.HasStiffness())
|
|
250
|
-
mMotorConstraintPart.CalculateConstraintPropertiesWithSettings(inDeltaTime, *mBody1, mR1 + mU, *mBody2, mR2, mWorldSpaceSliderAxis, 0.0f, mD - mTargetPosition, mMotorSettings.mSpringSettings);
|
|
251
|
-
else
|
|
252
|
-
mMotorConstraintPart.Deactivate();
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
void SliderConstraint::SetupVelocityConstraint(float inDeltaTime)
|
|
258
|
-
{
|
|
259
|
-
// Calculate constraint properties that are constant while bodies don't move
|
|
260
|
-
Mat44 rotation1 = Mat44::sRotation(mBody1->GetRotation());
|
|
261
|
-
Mat44 rotation2 = Mat44::sRotation(mBody2->GetRotation());
|
|
262
|
-
CalculateR1R2U(rotation1, rotation2);
|
|
263
|
-
CalculatePositionConstraintProperties(rotation1, rotation2);
|
|
264
|
-
mRotationConstraintPart.CalculateConstraintProperties(*mBody1, rotation1, *mBody2, rotation2);
|
|
265
|
-
CalculateSlidingAxisAndPosition(rotation1);
|
|
266
|
-
CalculatePositionLimitsConstraintProperties(inDeltaTime);
|
|
267
|
-
CalculateMotorConstraintProperties(inDeltaTime);
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
void SliderConstraint::ResetWarmStart()
|
|
271
|
-
{
|
|
272
|
-
mMotorConstraintPart.Deactivate();
|
|
273
|
-
mPositionConstraintPart.Deactivate();
|
|
274
|
-
mRotationConstraintPart.Deactivate();
|
|
275
|
-
mPositionLimitsConstraintPart.Deactivate();
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
void SliderConstraint::WarmStartVelocityConstraint(float inWarmStartImpulseRatio)
|
|
279
|
-
{
|
|
280
|
-
// Warm starting: Apply previous frame impulse
|
|
281
|
-
mMotorConstraintPart.WarmStart(*mBody1, *mBody2, mWorldSpaceSliderAxis, inWarmStartImpulseRatio);
|
|
282
|
-
mPositionConstraintPart.WarmStart(*mBody1, *mBody2, mN1, mN2, inWarmStartImpulseRatio);
|
|
283
|
-
mRotationConstraintPart.WarmStart(*mBody1, *mBody2, inWarmStartImpulseRatio);
|
|
284
|
-
mPositionLimitsConstraintPart.WarmStart(*mBody1, *mBody2, mWorldSpaceSliderAxis, inWarmStartImpulseRatio);
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
bool SliderConstraint::SolveVelocityConstraint(float inDeltaTime)
|
|
288
|
-
{
|
|
289
|
-
// Solve motor
|
|
290
|
-
bool motor = false;
|
|
291
|
-
if (mMotorConstraintPart.IsActive())
|
|
292
|
-
{
|
|
293
|
-
switch (mMotorState)
|
|
294
|
-
{
|
|
295
|
-
case EMotorState::Off:
|
|
296
|
-
{
|
|
297
|
-
float max_lambda = mMaxFrictionForce * inDeltaTime;
|
|
298
|
-
motor = mMotorConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2, mWorldSpaceSliderAxis, -max_lambda, max_lambda);
|
|
299
|
-
break;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
case EMotorState::Velocity:
|
|
303
|
-
case EMotorState::Position:
|
|
304
|
-
motor = mMotorConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2, mWorldSpaceSliderAxis, inDeltaTime * mMotorSettings.mMinForceLimit, inDeltaTime * mMotorSettings.mMaxForceLimit);
|
|
305
|
-
break;
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
// Solve position constraint along 2 axis
|
|
310
|
-
bool pos = mPositionConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2, mN1, mN2);
|
|
311
|
-
|
|
312
|
-
// Solve rotation constraint
|
|
313
|
-
bool rot = mRotationConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2);
|
|
314
|
-
|
|
315
|
-
// Solve limits along slider axis
|
|
316
|
-
bool limit = false;
|
|
317
|
-
if (mPositionLimitsConstraintPart.IsActive())
|
|
318
|
-
{
|
|
319
|
-
float min_lambda, max_lambda;
|
|
320
|
-
if (mLimitsMin == mLimitsMax)
|
|
321
|
-
{
|
|
322
|
-
min_lambda = -FLT_MAX;
|
|
323
|
-
max_lambda = FLT_MAX;
|
|
324
|
-
}
|
|
325
|
-
else if (mD <= mLimitsMin)
|
|
326
|
-
{
|
|
327
|
-
min_lambda = 0.0f;
|
|
328
|
-
max_lambda = FLT_MAX;
|
|
329
|
-
}
|
|
330
|
-
else
|
|
331
|
-
{
|
|
332
|
-
min_lambda = -FLT_MAX;
|
|
333
|
-
max_lambda = 0.0f;
|
|
334
|
-
}
|
|
335
|
-
limit = mPositionLimitsConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2, mWorldSpaceSliderAxis, min_lambda, max_lambda);
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
return motor || pos || rot || limit;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
bool SliderConstraint::SolvePositionConstraint(float inDeltaTime, float inBaumgarte)
|
|
342
|
-
{
|
|
343
|
-
// Motor operates on velocities only, don't call SolvePositionConstraint
|
|
344
|
-
|
|
345
|
-
// Solve position constraint along 2 axis
|
|
346
|
-
Mat44 rotation1 = Mat44::sRotation(mBody1->GetRotation());
|
|
347
|
-
Mat44 rotation2 = Mat44::sRotation(mBody2->GetRotation());
|
|
348
|
-
CalculateR1R2U(rotation1, rotation2);
|
|
349
|
-
CalculatePositionConstraintProperties(rotation1, rotation2);
|
|
350
|
-
bool pos = mPositionConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, mU, mN1, mN2, inBaumgarte);
|
|
351
|
-
|
|
352
|
-
// Solve rotation constraint
|
|
353
|
-
mRotationConstraintPart.CalculateConstraintProperties(*mBody1, Mat44::sRotation(mBody1->GetRotation()), *mBody2, Mat44::sRotation(mBody2->GetRotation()));
|
|
354
|
-
bool rot = mRotationConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, mInvInitialOrientation, inBaumgarte);
|
|
355
|
-
|
|
356
|
-
// Solve limits along slider axis
|
|
357
|
-
bool limit = false;
|
|
358
|
-
if (mHasLimits && mLimitsSpringSettings.mFrequency <= 0.0f)
|
|
359
|
-
{
|
|
360
|
-
rotation1 = Mat44::sRotation(mBody1->GetRotation());
|
|
361
|
-
rotation2 = Mat44::sRotation(mBody2->GetRotation());
|
|
362
|
-
CalculateR1R2U(rotation1, rotation2);
|
|
363
|
-
CalculateSlidingAxisAndPosition(rotation1);
|
|
364
|
-
CalculatePositionLimitsConstraintProperties(inDeltaTime);
|
|
365
|
-
if (mPositionLimitsConstraintPart.IsActive())
|
|
366
|
-
{
|
|
367
|
-
if (mD <= mLimitsMin)
|
|
368
|
-
limit = mPositionLimitsConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, mWorldSpaceSliderAxis, mD - mLimitsMin, inBaumgarte);
|
|
369
|
-
else
|
|
370
|
-
{
|
|
371
|
-
JPH_ASSERT(mD >= mLimitsMax);
|
|
372
|
-
limit = mPositionLimitsConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, mWorldSpaceSliderAxis, mD - mLimitsMax, inBaumgarte);
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
return pos || rot || limit;
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
381
|
-
void SliderConstraint::DrawConstraint(DebugRenderer *inRenderer) const
|
|
382
|
-
{
|
|
383
|
-
RMat44 transform1 = mBody1->GetCenterOfMassTransform();
|
|
384
|
-
RMat44 transform2 = mBody2->GetCenterOfMassTransform();
|
|
385
|
-
|
|
386
|
-
// Transform the local positions into world space
|
|
387
|
-
Vec3 slider_axis = transform1.Multiply3x3(mLocalSpaceSliderAxis1);
|
|
388
|
-
RVec3 position1 = transform1 * mLocalSpacePosition1;
|
|
389
|
-
RVec3 position2 = transform2 * mLocalSpacePosition2;
|
|
390
|
-
|
|
391
|
-
// Draw constraint
|
|
392
|
-
inRenderer->DrawMarker(position1, Color::sRed, 0.1f);
|
|
393
|
-
inRenderer->DrawMarker(position2, Color::sGreen, 0.1f);
|
|
394
|
-
inRenderer->DrawLine(position1, position2, Color::sGreen);
|
|
395
|
-
|
|
396
|
-
// Draw motor
|
|
397
|
-
switch (mMotorState)
|
|
398
|
-
{
|
|
399
|
-
case EMotorState::Position:
|
|
400
|
-
inRenderer->DrawMarker(position1 + mTargetPosition * slider_axis, Color::sYellow, 1.0f);
|
|
401
|
-
break;
|
|
402
|
-
|
|
403
|
-
case EMotorState::Velocity:
|
|
404
|
-
{
|
|
405
|
-
Vec3 cur_vel = (mBody2->GetLinearVelocity() - mBody1->GetLinearVelocity()).Dot(slider_axis) * slider_axis;
|
|
406
|
-
inRenderer->DrawLine(position2, position2 + cur_vel, Color::sBlue);
|
|
407
|
-
inRenderer->DrawArrow(position2 + cur_vel, position2 + mTargetVelocity * slider_axis, Color::sRed, 0.1f);
|
|
408
|
-
break;
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
case EMotorState::Off:
|
|
412
|
-
break;
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
void SliderConstraint::DrawConstraintLimits(DebugRenderer *inRenderer) const
|
|
417
|
-
{
|
|
418
|
-
if (mHasLimits)
|
|
419
|
-
{
|
|
420
|
-
RMat44 transform1 = mBody1->GetCenterOfMassTransform();
|
|
421
|
-
RMat44 transform2 = mBody2->GetCenterOfMassTransform();
|
|
422
|
-
|
|
423
|
-
// Transform the local positions into world space
|
|
424
|
-
Vec3 slider_axis = transform1.Multiply3x3(mLocalSpaceSliderAxis1);
|
|
425
|
-
RVec3 position1 = transform1 * mLocalSpacePosition1;
|
|
426
|
-
RVec3 position2 = transform2 * mLocalSpacePosition2;
|
|
427
|
-
|
|
428
|
-
// Calculate the limits in world space
|
|
429
|
-
RVec3 limits_min = position1 + mLimitsMin * slider_axis;
|
|
430
|
-
RVec3 limits_max = position1 + mLimitsMax * slider_axis;
|
|
431
|
-
|
|
432
|
-
inRenderer->DrawLine(limits_min, position1, Color::sWhite);
|
|
433
|
-
inRenderer->DrawLine(position2, limits_max, Color::sWhite);
|
|
434
|
-
|
|
435
|
-
inRenderer->DrawMarker(limits_min, Color::sWhite, 0.1f);
|
|
436
|
-
inRenderer->DrawMarker(limits_max, Color::sWhite, 0.1f);
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
#endif // JPH_DEBUG_RENDERER
|
|
440
|
-
|
|
441
|
-
void SliderConstraint::SaveState(StateRecorder &inStream) const
|
|
442
|
-
{
|
|
443
|
-
TwoBodyConstraint::SaveState(inStream);
|
|
444
|
-
|
|
445
|
-
mMotorConstraintPart.SaveState(inStream);
|
|
446
|
-
mPositionConstraintPart.SaveState(inStream);
|
|
447
|
-
mRotationConstraintPart.SaveState(inStream);
|
|
448
|
-
mPositionLimitsConstraintPart.SaveState(inStream);
|
|
449
|
-
|
|
450
|
-
inStream.Write(mMotorState);
|
|
451
|
-
inStream.Write(mTargetVelocity);
|
|
452
|
-
inStream.Write(mTargetPosition);
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
void SliderConstraint::RestoreState(StateRecorder &inStream)
|
|
456
|
-
{
|
|
457
|
-
TwoBodyConstraint::RestoreState(inStream);
|
|
458
|
-
|
|
459
|
-
mMotorConstraintPart.RestoreState(inStream);
|
|
460
|
-
mPositionConstraintPart.RestoreState(inStream);
|
|
461
|
-
mRotationConstraintPart.RestoreState(inStream);
|
|
462
|
-
mPositionLimitsConstraintPart.RestoreState(inStream);
|
|
463
|
-
|
|
464
|
-
inStream.Read(mMotorState);
|
|
465
|
-
inStream.Read(mTargetVelocity);
|
|
466
|
-
inStream.Read(mTargetPosition);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
Ref<ConstraintSettings> SliderConstraint::GetConstraintSettings() const
|
|
470
|
-
{
|
|
471
|
-
SliderConstraintSettings *settings = new SliderConstraintSettings;
|
|
472
|
-
ToConstraintSettings(*settings);
|
|
473
|
-
settings->mSpace = EConstraintSpace::LocalToBodyCOM;
|
|
474
|
-
settings->mPoint1 = RVec3(mLocalSpacePosition1);
|
|
475
|
-
settings->mSliderAxis1 = mLocalSpaceSliderAxis1;
|
|
476
|
-
settings->mNormalAxis1 = mLocalSpaceNormal1;
|
|
477
|
-
settings->mPoint2 = RVec3(mLocalSpacePosition2);
|
|
478
|
-
Mat44 inv_initial_rotation = Mat44::sRotation(mInvInitialOrientation);
|
|
479
|
-
settings->mSliderAxis2 = inv_initial_rotation.Multiply3x3(mLocalSpaceSliderAxis1);
|
|
480
|
-
settings->mNormalAxis2 = inv_initial_rotation.Multiply3x3(mLocalSpaceNormal1);
|
|
481
|
-
settings->mLimitsMin = mLimitsMin;
|
|
482
|
-
settings->mLimitsMax = mLimitsMax;
|
|
483
|
-
settings->mLimitsSpringSettings = mLimitsSpringSettings;
|
|
484
|
-
settings->mMaxFrictionForce = mMaxFrictionForce;
|
|
485
|
-
settings->mMotorSettings = mMotorSettings;
|
|
486
|
-
return settings;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
Mat44 SliderConstraint::GetConstraintToBody1Matrix() const
|
|
490
|
-
{
|
|
491
|
-
return Mat44(Vec4(mLocalSpaceSliderAxis1, 0), Vec4(mLocalSpaceNormal1, 0), Vec4(mLocalSpaceNormal2, 0), Vec4(mLocalSpacePosition1, 1));
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
Mat44 SliderConstraint::GetConstraintToBody2Matrix() const
|
|
495
|
-
{
|
|
496
|
-
Mat44 mat = Mat44::sRotation(mInvInitialOrientation).Multiply3x3(Mat44(Vec4(mLocalSpaceSliderAxis1, 0), Vec4(mLocalSpaceNormal1, 0), Vec4(mLocalSpaceNormal2, 0), Vec4(0, 0, 0, 1)));
|
|
497
|
-
mat.SetTranslation(mLocalSpacePosition2);
|
|
498
|
-
return mat;
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
JPH_NAMESPACE_END
|
|
@@ -1,198 +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/DualAxisConstraintPart.h>
|
|
10
|
-
#include <Jolt/Physics/Constraints/ConstraintPart/RotationEulerConstraintPart.h>
|
|
11
|
-
#include <Jolt/Physics/Constraints/ConstraintPart/AxisConstraintPart.h>
|
|
12
|
-
|
|
13
|
-
JPH_NAMESPACE_BEGIN
|
|
14
|
-
|
|
15
|
-
/// Slider constraint settings, used to create a slider constraint
|
|
16
|
-
class JPH_EXPORT SliderConstraintSettings final : public TwoBodyConstraintSettings
|
|
17
|
-
{
|
|
18
|
-
JPH_DECLARE_SERIALIZABLE_VIRTUAL(JPH_EXPORT, SliderConstraintSettings)
|
|
19
|
-
|
|
20
|
-
public:
|
|
21
|
-
// See: ConstraintSettings::SaveBinaryState
|
|
22
|
-
virtual void SaveBinaryState(StreamOut &inStream) const override;
|
|
23
|
-
|
|
24
|
-
/// Create an instance of this constraint.
|
|
25
|
-
/// Note that the rotation constraint will be solved from body 1. This means that if body 1 and body 2 have different masses / inertias (kinematic body = infinite mass / inertia), body 1 should be the heaviest body.
|
|
26
|
-
virtual TwoBodyConstraint * Create(Body &inBody1, Body &inBody2) const override;
|
|
27
|
-
|
|
28
|
-
/// Simple way of setting the slider and normal axis in world space (assumes the bodies are already oriented correctly when the constraint is created)
|
|
29
|
-
void SetSliderAxis(Vec3Arg inSliderAxis);
|
|
30
|
-
|
|
31
|
-
/// This determines in which space the constraint is setup, all properties below should be in the specified space
|
|
32
|
-
EConstraintSpace mSpace = EConstraintSpace::WorldSpace;
|
|
33
|
-
|
|
34
|
-
/// When mSpace is WorldSpace mPoint1 and mPoint2 can be automatically calculated based on the positions of the bodies when the constraint is created (the current relative position/orientation is chosen as the '0' position). Set this to false if you want to supply the attachment points yourself.
|
|
35
|
-
bool mAutoDetectPoint = false;
|
|
36
|
-
|
|
37
|
-
/// Body 1 constraint reference frame (space determined by mSpace).
|
|
38
|
-
/// Slider axis is the axis along which movement is possible (direction), normal axis is a perpendicular vector to define the frame.
|
|
39
|
-
RVec3 mPoint1 = RVec3::sZero();
|
|
40
|
-
Vec3 mSliderAxis1 = Vec3::sAxisX();
|
|
41
|
-
Vec3 mNormalAxis1 = Vec3::sAxisY();
|
|
42
|
-
|
|
43
|
-
/// Body 2 constraint reference frame (space determined by mSpace)
|
|
44
|
-
RVec3 mPoint2 = RVec3::sZero();
|
|
45
|
-
Vec3 mSliderAxis2 = Vec3::sAxisX();
|
|
46
|
-
Vec3 mNormalAxis2 = Vec3::sAxisY();
|
|
47
|
-
|
|
48
|
-
/// When the bodies move so that mPoint1 coincides with mPoint2 the slider position is defined to be 0, movement will be limited between [mLimitsMin, mLimitsMax] where mLimitsMin e [-inf, 0] and mLimitsMax e [0, inf]
|
|
49
|
-
float mLimitsMin = -FLT_MAX;
|
|
50
|
-
float mLimitsMax = FLT_MAX;
|
|
51
|
-
|
|
52
|
-
/// When enabled, this makes the limits soft. When the constraint exceeds the limits, a spring force will pull it back.
|
|
53
|
-
SpringSettings mLimitsSpringSettings;
|
|
54
|
-
|
|
55
|
-
/// Maximum amount of friction force to apply (N) when not driven by a motor.
|
|
56
|
-
float mMaxFrictionForce = 0.0f;
|
|
57
|
-
|
|
58
|
-
/// In case the constraint is powered, this determines the motor settings around the sliding axis
|
|
59
|
-
MotorSettings mMotorSettings;
|
|
60
|
-
|
|
61
|
-
protected:
|
|
62
|
-
// See: ConstraintSettings::RestoreBinaryState
|
|
63
|
-
virtual void RestoreBinaryState(StreamIn &inStream) override;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
/// A slider constraint allows movement in only 1 axis (and no rotation). Also known as a prismatic constraint.
|
|
67
|
-
class JPH_EXPORT SliderConstraint final : public TwoBodyConstraint
|
|
68
|
-
{
|
|
69
|
-
public:
|
|
70
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
71
|
-
|
|
72
|
-
/// Construct slider constraint
|
|
73
|
-
SliderConstraint(Body &inBody1, Body &inBody2, const SliderConstraintSettings &inSettings);
|
|
74
|
-
|
|
75
|
-
// Generic interface of a constraint
|
|
76
|
-
virtual EConstraintSubType GetSubType() const override { return EConstraintSubType::Slider; }
|
|
77
|
-
virtual void NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM) override;
|
|
78
|
-
virtual void SetupVelocityConstraint(float inDeltaTime) override;
|
|
79
|
-
virtual void ResetWarmStart() override;
|
|
80
|
-
virtual void WarmStartVelocityConstraint(float inWarmStartImpulseRatio) override;
|
|
81
|
-
virtual bool SolveVelocityConstraint(float inDeltaTime) override;
|
|
82
|
-
virtual bool SolvePositionConstraint(float inDeltaTime, float inBaumgarte) override;
|
|
83
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
84
|
-
virtual void DrawConstraint(DebugRenderer *inRenderer) const override;
|
|
85
|
-
virtual void DrawConstraintLimits(DebugRenderer *inRenderer) const override;
|
|
86
|
-
#endif // JPH_DEBUG_RENDERER
|
|
87
|
-
virtual void SaveState(StateRecorder &inStream) const override;
|
|
88
|
-
virtual void RestoreState(StateRecorder &inStream) override;
|
|
89
|
-
virtual Ref<ConstraintSettings> GetConstraintSettings() const override;
|
|
90
|
-
|
|
91
|
-
// See: TwoBodyConstraint
|
|
92
|
-
virtual Mat44 GetConstraintToBody1Matrix() const override;
|
|
93
|
-
virtual Mat44 GetConstraintToBody2Matrix() const override;
|
|
94
|
-
|
|
95
|
-
/// Get the current distance from the rest position
|
|
96
|
-
float GetCurrentPosition() const;
|
|
97
|
-
|
|
98
|
-
/// Friction control
|
|
99
|
-
void SetMaxFrictionForce(float inFrictionForce) { mMaxFrictionForce = inFrictionForce; }
|
|
100
|
-
float GetMaxFrictionForce() const { return mMaxFrictionForce; }
|
|
101
|
-
|
|
102
|
-
/// Motor settings
|
|
103
|
-
MotorSettings & GetMotorSettings() { return mMotorSettings; }
|
|
104
|
-
const MotorSettings & GetMotorSettings() const { return mMotorSettings; }
|
|
105
|
-
|
|
106
|
-
// Motor controls
|
|
107
|
-
void SetMotorState(EMotorState inState) { JPH_ASSERT(inState == EMotorState::Off || mMotorSettings.IsValid()); mMotorState = inState; }
|
|
108
|
-
EMotorState GetMotorState() const { return mMotorState; }
|
|
109
|
-
void SetTargetVelocity(float inVelocity) { mTargetVelocity = inVelocity; }
|
|
110
|
-
float GetTargetVelocity() const { return mTargetVelocity; }
|
|
111
|
-
void SetTargetPosition(float inPosition) { mTargetPosition = mHasLimits? Clamp(inPosition, mLimitsMin, mLimitsMax) : inPosition; }
|
|
112
|
-
float GetTargetPosition() const { return mTargetPosition; }
|
|
113
|
-
|
|
114
|
-
/// Update the limits of the slider constraint (see SliderConstraintSettings)
|
|
115
|
-
void SetLimits(float inLimitsMin, float inLimitsMax);
|
|
116
|
-
float GetLimitsMin() const { return mLimitsMin; }
|
|
117
|
-
float GetLimitsMax() const { return mLimitsMax; }
|
|
118
|
-
bool HasLimits() const { return mHasLimits; }
|
|
119
|
-
|
|
120
|
-
/// Update the limits spring settings
|
|
121
|
-
const SpringSettings & GetLimitsSpringSettings() const { return mLimitsSpringSettings; }
|
|
122
|
-
SpringSettings & GetLimitsSpringSettings() { return mLimitsSpringSettings; }
|
|
123
|
-
void SetLimitsSpringSettings(const SpringSettings &inLimitsSpringSettings) { mLimitsSpringSettings = inLimitsSpringSettings; }
|
|
124
|
-
|
|
125
|
-
///@name Get Lagrange multiplier from last physics update (the linear/angular impulse applied to satisfy the constraint)
|
|
126
|
-
inline Vector<2> GetTotalLambdaPosition() const { return mPositionConstraintPart.GetTotalLambda(); }
|
|
127
|
-
inline float GetTotalLambdaPositionLimits() const { return mPositionLimitsConstraintPart.GetTotalLambda(); }
|
|
128
|
-
inline Vec3 GetTotalLambdaRotation() const { return mRotationConstraintPart.GetTotalLambda(); }
|
|
129
|
-
inline float GetTotalLambdaMotor() const { return mMotorConstraintPart.GetTotalLambda(); }
|
|
130
|
-
|
|
131
|
-
private:
|
|
132
|
-
// Internal helper function to calculate the values below
|
|
133
|
-
void CalculateR1R2U(Mat44Arg inRotation1, Mat44Arg inRotation2);
|
|
134
|
-
void CalculateSlidingAxisAndPosition(Mat44Arg inRotation1);
|
|
135
|
-
void CalculatePositionConstraintProperties(Mat44Arg inRotation1, Mat44Arg inRotation2);
|
|
136
|
-
void CalculatePositionLimitsConstraintProperties(float inDeltaTime);
|
|
137
|
-
void CalculateMotorConstraintProperties(float inDeltaTime);
|
|
138
|
-
|
|
139
|
-
// CONFIGURATION PROPERTIES FOLLOW
|
|
140
|
-
|
|
141
|
-
// Local space constraint positions
|
|
142
|
-
Vec3 mLocalSpacePosition1;
|
|
143
|
-
Vec3 mLocalSpacePosition2;
|
|
144
|
-
|
|
145
|
-
// Local space sliding direction
|
|
146
|
-
Vec3 mLocalSpaceSliderAxis1;
|
|
147
|
-
|
|
148
|
-
// Local space normals to the sliding direction (in body 1 space)
|
|
149
|
-
Vec3 mLocalSpaceNormal1;
|
|
150
|
-
Vec3 mLocalSpaceNormal2;
|
|
151
|
-
|
|
152
|
-
// Inverse of initial rotation from body 1 to body 2 in body 1 space
|
|
153
|
-
Quat mInvInitialOrientation;
|
|
154
|
-
|
|
155
|
-
// Slider limits
|
|
156
|
-
bool mHasLimits;
|
|
157
|
-
float mLimitsMin;
|
|
158
|
-
float mLimitsMax;
|
|
159
|
-
|
|
160
|
-
// Soft constraint limits
|
|
161
|
-
SpringSettings mLimitsSpringSettings;
|
|
162
|
-
|
|
163
|
-
// Friction
|
|
164
|
-
float mMaxFrictionForce;
|
|
165
|
-
|
|
166
|
-
// Motor controls
|
|
167
|
-
MotorSettings mMotorSettings;
|
|
168
|
-
EMotorState mMotorState = EMotorState::Off;
|
|
169
|
-
float mTargetVelocity = 0.0f;
|
|
170
|
-
float mTargetPosition = 0.0f;
|
|
171
|
-
|
|
172
|
-
// RUN TIME PROPERTIES FOLLOW
|
|
173
|
-
|
|
174
|
-
// Positions where the point constraint acts on (middle point between center of masses)
|
|
175
|
-
Vec3 mR1;
|
|
176
|
-
Vec3 mR2;
|
|
177
|
-
|
|
178
|
-
// X2 + R2 - X1 - R1
|
|
179
|
-
Vec3 mU;
|
|
180
|
-
|
|
181
|
-
// World space sliding direction
|
|
182
|
-
Vec3 mWorldSpaceSliderAxis;
|
|
183
|
-
|
|
184
|
-
// Normals to the slider axis
|
|
185
|
-
Vec3 mN1;
|
|
186
|
-
Vec3 mN2;
|
|
187
|
-
|
|
188
|
-
// Distance along the slide axis
|
|
189
|
-
float mD = 0.0f;
|
|
190
|
-
|
|
191
|
-
// The constraint parts
|
|
192
|
-
DualAxisConstraintPart mPositionConstraintPart;
|
|
193
|
-
RotationEulerConstraintPart mRotationConstraintPart;
|
|
194
|
-
AxisConstraintPart mPositionLimitsConstraintPart;
|
|
195
|
-
AxisConstraintPart mMotorConstraintPart;
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
JPH_NAMESPACE_END
|