@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,266 +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/DistanceConstraint.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(DistanceConstraintSettings)
|
|
21
|
-
{
|
|
22
|
-
JPH_ADD_BASE_CLASS(DistanceConstraintSettings, TwoBodyConstraintSettings)
|
|
23
|
-
|
|
24
|
-
JPH_ADD_ENUM_ATTRIBUTE(DistanceConstraintSettings, mSpace)
|
|
25
|
-
JPH_ADD_ATTRIBUTE(DistanceConstraintSettings, mPoint1)
|
|
26
|
-
JPH_ADD_ATTRIBUTE(DistanceConstraintSettings, mPoint2)
|
|
27
|
-
JPH_ADD_ATTRIBUTE(DistanceConstraintSettings, mMinDistance)
|
|
28
|
-
JPH_ADD_ATTRIBUTE(DistanceConstraintSettings, mMaxDistance)
|
|
29
|
-
JPH_ADD_ENUM_ATTRIBUTE_WITH_ALIAS(DistanceConstraintSettings, mLimitsSpringSettings.mMode, "mSpringMode")
|
|
30
|
-
JPH_ADD_ATTRIBUTE_WITH_ALIAS(DistanceConstraintSettings, mLimitsSpringSettings.mFrequency, "mFrequency") // Renaming attributes to stay compatible with old versions of the library
|
|
31
|
-
JPH_ADD_ATTRIBUTE_WITH_ALIAS(DistanceConstraintSettings, mLimitsSpringSettings.mDamping, "mDamping")
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
void DistanceConstraintSettings::SaveBinaryState(StreamOut &inStream) const
|
|
35
|
-
{
|
|
36
|
-
ConstraintSettings::SaveBinaryState(inStream);
|
|
37
|
-
|
|
38
|
-
inStream.Write(mSpace);
|
|
39
|
-
inStream.Write(mPoint1);
|
|
40
|
-
inStream.Write(mPoint2);
|
|
41
|
-
inStream.Write(mMinDistance);
|
|
42
|
-
inStream.Write(mMaxDistance);
|
|
43
|
-
mLimitsSpringSettings.SaveBinaryState(inStream);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
void DistanceConstraintSettings::RestoreBinaryState(StreamIn &inStream)
|
|
47
|
-
{
|
|
48
|
-
ConstraintSettings::RestoreBinaryState(inStream);
|
|
49
|
-
|
|
50
|
-
inStream.Read(mSpace);
|
|
51
|
-
inStream.Read(mPoint1);
|
|
52
|
-
inStream.Read(mPoint2);
|
|
53
|
-
inStream.Read(mMinDistance);
|
|
54
|
-
inStream.Read(mMaxDistance);
|
|
55
|
-
mLimitsSpringSettings.RestoreBinaryState(inStream);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
TwoBodyConstraint *DistanceConstraintSettings::Create(Body &inBody1, Body &inBody2) const
|
|
59
|
-
{
|
|
60
|
-
return new DistanceConstraint(inBody1, inBody2, *this);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
DistanceConstraint::DistanceConstraint(Body &inBody1, Body &inBody2, const DistanceConstraintSettings &inSettings) :
|
|
64
|
-
TwoBodyConstraint(inBody1, inBody2, inSettings),
|
|
65
|
-
mMinDistance(inSettings.mMinDistance),
|
|
66
|
-
mMaxDistance(inSettings.mMaxDistance)
|
|
67
|
-
{
|
|
68
|
-
if (inSettings.mSpace == EConstraintSpace::WorldSpace)
|
|
69
|
-
{
|
|
70
|
-
// If all properties were specified in world space, take them to local space now
|
|
71
|
-
mLocalSpacePosition1 = Vec3(inBody1.GetInverseCenterOfMassTransform() * inSettings.mPoint1);
|
|
72
|
-
mLocalSpacePosition2 = Vec3(inBody2.GetInverseCenterOfMassTransform() * inSettings.mPoint2);
|
|
73
|
-
mWorldSpacePosition1 = inSettings.mPoint1;
|
|
74
|
-
mWorldSpacePosition2 = inSettings.mPoint2;
|
|
75
|
-
}
|
|
76
|
-
else
|
|
77
|
-
{
|
|
78
|
-
// If properties were specified in local space, we need to calculate world space positions
|
|
79
|
-
mLocalSpacePosition1 = Vec3(inSettings.mPoint1);
|
|
80
|
-
mLocalSpacePosition2 = Vec3(inSettings.mPoint2);
|
|
81
|
-
mWorldSpacePosition1 = inBody1.GetCenterOfMassTransform() * inSettings.mPoint1;
|
|
82
|
-
mWorldSpacePosition2 = inBody2.GetCenterOfMassTransform() * inSettings.mPoint2;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Store distance we want to keep between the world space points
|
|
86
|
-
float distance = Vec3(mWorldSpacePosition2 - mWorldSpacePosition1).Length();
|
|
87
|
-
float min_distance, max_distance;
|
|
88
|
-
if (mMinDistance < 0.0f && mMaxDistance < 0.0f)
|
|
89
|
-
{
|
|
90
|
-
min_distance = max_distance = distance;
|
|
91
|
-
}
|
|
92
|
-
else
|
|
93
|
-
{
|
|
94
|
-
min_distance = mMinDistance < 0.0f? min(distance, mMaxDistance) : mMinDistance;
|
|
95
|
-
max_distance = mMaxDistance < 0.0f? max(distance, mMinDistance) : mMaxDistance;
|
|
96
|
-
}
|
|
97
|
-
SetDistance(min_distance, max_distance);
|
|
98
|
-
|
|
99
|
-
// Most likely gravity is going to tear us apart (this is only used when the distance between the points = 0)
|
|
100
|
-
mWorldSpaceNormal = Vec3::sAxisY();
|
|
101
|
-
|
|
102
|
-
// Store spring settings
|
|
103
|
-
SetLimitsSpringSettings(inSettings.mLimitsSpringSettings);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
void DistanceConstraint::NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM)
|
|
107
|
-
{
|
|
108
|
-
if (mBody1->GetID() == inBodyID)
|
|
109
|
-
mLocalSpacePosition1 -= inDeltaCOM;
|
|
110
|
-
else if (mBody2->GetID() == inBodyID)
|
|
111
|
-
mLocalSpacePosition2 -= inDeltaCOM;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
void DistanceConstraint::CalculateConstraintProperties(float inDeltaTime)
|
|
115
|
-
{
|
|
116
|
-
// Update world space positions (the bodies may have moved)
|
|
117
|
-
mWorldSpacePosition1 = mBody1->GetCenterOfMassTransform() * mLocalSpacePosition1;
|
|
118
|
-
mWorldSpacePosition2 = mBody2->GetCenterOfMassTransform() * mLocalSpacePosition2;
|
|
119
|
-
|
|
120
|
-
// Calculate world space normal
|
|
121
|
-
Vec3 delta = Vec3(mWorldSpacePosition2 - mWorldSpacePosition1);
|
|
122
|
-
float delta_len = delta.Length();
|
|
123
|
-
if (delta_len > 0.0f)
|
|
124
|
-
mWorldSpaceNormal = delta / delta_len;
|
|
125
|
-
|
|
126
|
-
// Calculate points relative to body
|
|
127
|
-
// r1 + u = (p1 - x1) + (p2 - p1) = p2 - x1
|
|
128
|
-
Vec3 r1_plus_u = Vec3(mWorldSpacePosition2 - mBody1->GetCenterOfMassPosition());
|
|
129
|
-
Vec3 r2 = Vec3(mWorldSpacePosition2 - mBody2->GetCenterOfMassPosition());
|
|
130
|
-
|
|
131
|
-
if (mMinDistance == mMaxDistance)
|
|
132
|
-
{
|
|
133
|
-
mAxisConstraint.CalculateConstraintPropertiesWithSettings(inDeltaTime, *mBody1, r1_plus_u, *mBody2, r2, mWorldSpaceNormal, 0.0f, delta_len - mMinDistance, mLimitsSpringSettings);
|
|
134
|
-
|
|
135
|
-
// Single distance, allow constraint forces in both directions
|
|
136
|
-
mMinLambda = -FLT_MAX;
|
|
137
|
-
mMaxLambda = FLT_MAX;
|
|
138
|
-
}
|
|
139
|
-
else if (delta_len <= mMinDistance)
|
|
140
|
-
{
|
|
141
|
-
mAxisConstraint.CalculateConstraintPropertiesWithSettings(inDeltaTime, *mBody1, r1_plus_u, *mBody2, r2, mWorldSpaceNormal, 0.0f, delta_len - mMinDistance, mLimitsSpringSettings);
|
|
142
|
-
|
|
143
|
-
// Allow constraint forces to make distance bigger only
|
|
144
|
-
mMinLambda = 0;
|
|
145
|
-
mMaxLambda = FLT_MAX;
|
|
146
|
-
}
|
|
147
|
-
else if (delta_len >= mMaxDistance)
|
|
148
|
-
{
|
|
149
|
-
mAxisConstraint.CalculateConstraintPropertiesWithSettings(inDeltaTime, *mBody1, r1_plus_u, *mBody2, r2, mWorldSpaceNormal, 0.0f, delta_len - mMaxDistance, mLimitsSpringSettings);
|
|
150
|
-
|
|
151
|
-
// Allow constraint forces to make distance smaller only
|
|
152
|
-
mMinLambda = -FLT_MAX;
|
|
153
|
-
mMaxLambda = 0;
|
|
154
|
-
}
|
|
155
|
-
else
|
|
156
|
-
mAxisConstraint.Deactivate();
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
void DistanceConstraint::SetupVelocityConstraint(float inDeltaTime)
|
|
160
|
-
{
|
|
161
|
-
CalculateConstraintProperties(inDeltaTime);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
void DistanceConstraint::ResetWarmStart()
|
|
165
|
-
{
|
|
166
|
-
mAxisConstraint.Deactivate();
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
void DistanceConstraint::WarmStartVelocityConstraint(float inWarmStartImpulseRatio)
|
|
170
|
-
{
|
|
171
|
-
mAxisConstraint.WarmStart(*mBody1, *mBody2, mWorldSpaceNormal, inWarmStartImpulseRatio);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
bool DistanceConstraint::SolveVelocityConstraint(float inDeltaTime)
|
|
175
|
-
{
|
|
176
|
-
if (mAxisConstraint.IsActive())
|
|
177
|
-
return mAxisConstraint.SolveVelocityConstraint(*mBody1, *mBody2, mWorldSpaceNormal, mMinLambda, mMaxLambda);
|
|
178
|
-
else
|
|
179
|
-
return false;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
bool DistanceConstraint::SolvePositionConstraint(float inDeltaTime, float inBaumgarte)
|
|
183
|
-
{
|
|
184
|
-
if (mLimitsSpringSettings.mFrequency <= 0.0f) // When the spring is active, we don't need to solve the position constraint
|
|
185
|
-
{
|
|
186
|
-
float distance = Vec3(mWorldSpacePosition2 - mWorldSpacePosition1).Dot(mWorldSpaceNormal);
|
|
187
|
-
|
|
188
|
-
// Calculate position error
|
|
189
|
-
float position_error = 0.0f;
|
|
190
|
-
if (distance < mMinDistance)
|
|
191
|
-
position_error = distance - mMinDistance;
|
|
192
|
-
else if (distance > mMaxDistance)
|
|
193
|
-
position_error = distance - mMaxDistance;
|
|
194
|
-
|
|
195
|
-
if (position_error != 0.0f)
|
|
196
|
-
{
|
|
197
|
-
// Update constraint properties (bodies may have moved)
|
|
198
|
-
CalculateConstraintProperties(inDeltaTime);
|
|
199
|
-
|
|
200
|
-
return mAxisConstraint.SolvePositionConstraint(*mBody1, *mBody2, mWorldSpaceNormal, position_error, inBaumgarte);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
return false;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
208
|
-
void DistanceConstraint::DrawConstraint(DebugRenderer *inRenderer) const
|
|
209
|
-
{
|
|
210
|
-
// Draw constraint
|
|
211
|
-
Vec3 delta = Vec3(mWorldSpacePosition2 - mWorldSpacePosition1);
|
|
212
|
-
float len = delta.Length();
|
|
213
|
-
if (len < mMinDistance)
|
|
214
|
-
{
|
|
215
|
-
RVec3 real_end_pos = mWorldSpacePosition1 + (len > 0.0f? delta * mMinDistance / len : Vec3(0, len, 0));
|
|
216
|
-
inRenderer->DrawLine(mWorldSpacePosition1, mWorldSpacePosition2, Color::sGreen);
|
|
217
|
-
inRenderer->DrawLine(mWorldSpacePosition2, real_end_pos, Color::sYellow);
|
|
218
|
-
}
|
|
219
|
-
else if (len > mMaxDistance)
|
|
220
|
-
{
|
|
221
|
-
RVec3 real_end_pos = mWorldSpacePosition1 + (len > 0.0f? delta * mMaxDistance / len : Vec3(0, len, 0));
|
|
222
|
-
inRenderer->DrawLine(mWorldSpacePosition1, real_end_pos, Color::sGreen);
|
|
223
|
-
inRenderer->DrawLine(real_end_pos, mWorldSpacePosition2, Color::sRed);
|
|
224
|
-
}
|
|
225
|
-
else
|
|
226
|
-
inRenderer->DrawLine(mWorldSpacePosition1, mWorldSpacePosition2, Color::sGreen);
|
|
227
|
-
|
|
228
|
-
// Draw constraint end points
|
|
229
|
-
inRenderer->DrawMarker(mWorldSpacePosition1, Color::sWhite, 0.1f);
|
|
230
|
-
inRenderer->DrawMarker(mWorldSpacePosition2, Color::sWhite, 0.1f);
|
|
231
|
-
|
|
232
|
-
// Draw current length
|
|
233
|
-
inRenderer->DrawText3D(0.5_r * (mWorldSpacePosition1 + mWorldSpacePosition2), StringFormat("%.2f", (double)len));
|
|
234
|
-
}
|
|
235
|
-
#endif // JPH_DEBUG_RENDERER
|
|
236
|
-
|
|
237
|
-
void DistanceConstraint::SaveState(StateRecorder &inStream) const
|
|
238
|
-
{
|
|
239
|
-
TwoBodyConstraint::SaveState(inStream);
|
|
240
|
-
|
|
241
|
-
mAxisConstraint.SaveState(inStream);
|
|
242
|
-
inStream.Write(mWorldSpaceNormal); // When distance = 0, the normal is used from last frame so we need to store it
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
void DistanceConstraint::RestoreState(StateRecorder &inStream)
|
|
246
|
-
{
|
|
247
|
-
TwoBodyConstraint::RestoreState(inStream);
|
|
248
|
-
|
|
249
|
-
mAxisConstraint.RestoreState(inStream);
|
|
250
|
-
inStream.Read(mWorldSpaceNormal);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
Ref<ConstraintSettings> DistanceConstraint::GetConstraintSettings() const
|
|
254
|
-
{
|
|
255
|
-
DistanceConstraintSettings *settings = new DistanceConstraintSettings;
|
|
256
|
-
ToConstraintSettings(*settings);
|
|
257
|
-
settings->mSpace = EConstraintSpace::LocalToBodyCOM;
|
|
258
|
-
settings->mPoint1 = RVec3(mLocalSpacePosition1);
|
|
259
|
-
settings->mPoint2 = RVec3(mLocalSpacePosition2);
|
|
260
|
-
settings->mMinDistance = mMinDistance;
|
|
261
|
-
settings->mMaxDistance = mMaxDistance;
|
|
262
|
-
settings->mLimitsSpringSettings = mLimitsSpringSettings;
|
|
263
|
-
return settings;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
JPH_NAMESPACE_END
|
|
@@ -1,120 +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/ConstraintPart/AxisConstraintPart.h>
|
|
9
|
-
|
|
10
|
-
JPH_NAMESPACE_BEGIN
|
|
11
|
-
|
|
12
|
-
/// Distance constraint settings, used to create a distance constraint
|
|
13
|
-
class JPH_EXPORT DistanceConstraintSettings final : public TwoBodyConstraintSettings
|
|
14
|
-
{
|
|
15
|
-
JPH_DECLARE_SERIALIZABLE_VIRTUAL(JPH_EXPORT, DistanceConstraintSettings)
|
|
16
|
-
|
|
17
|
-
public:
|
|
18
|
-
// See: ConstraintSettings::SaveBinaryState
|
|
19
|
-
virtual void SaveBinaryState(StreamOut &inStream) const override;
|
|
20
|
-
|
|
21
|
-
/// Create an instance of this constraint
|
|
22
|
-
virtual TwoBodyConstraint * Create(Body &inBody1, Body &inBody2) const override;
|
|
23
|
-
|
|
24
|
-
/// This determines in which space the constraint is setup, all properties below should be in the specified space
|
|
25
|
-
EConstraintSpace mSpace = EConstraintSpace::WorldSpace;
|
|
26
|
-
|
|
27
|
-
/// Body 1 constraint reference frame (space determined by mSpace).
|
|
28
|
-
/// Constraint will keep mPoint1 (a point on body 1) and mPoint2 (a point on body 2) at the same distance.
|
|
29
|
-
/// Note that this constraint can be used as a cheap PointConstraint by setting mPoint1 = mPoint2 (but this removes only 1 degree of freedom instead of 3).
|
|
30
|
-
RVec3 mPoint1 = RVec3::sZero();
|
|
31
|
-
|
|
32
|
-
/// Body 2 constraint reference frame (space determined by mSpace)
|
|
33
|
-
RVec3 mPoint2 = RVec3::sZero();
|
|
34
|
-
|
|
35
|
-
/// Ability to override the distance range at which the two points are kept apart. If the value is negative, it will be replaced by the distance between mPoint1 and mPoint2 (works only if mSpace is world space).
|
|
36
|
-
float mMinDistance = -1.0f;
|
|
37
|
-
float mMaxDistance = -1.0f;
|
|
38
|
-
|
|
39
|
-
/// When enabled, this makes the limits soft. When the constraint exceeds the limits, a spring force will pull it back.
|
|
40
|
-
SpringSettings mLimitsSpringSettings;
|
|
41
|
-
|
|
42
|
-
protected:
|
|
43
|
-
// See: ConstraintSettings::RestoreBinaryState
|
|
44
|
-
virtual void RestoreBinaryState(StreamIn &inStream) override;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
/// This constraint is a stiff spring that holds 2 points at a fixed distance from each other
|
|
48
|
-
class JPH_EXPORT DistanceConstraint final : public TwoBodyConstraint
|
|
49
|
-
{
|
|
50
|
-
public:
|
|
51
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
52
|
-
|
|
53
|
-
/// Construct distance constraint
|
|
54
|
-
DistanceConstraint(Body &inBody1, Body &inBody2, const DistanceConstraintSettings &inSettings);
|
|
55
|
-
|
|
56
|
-
// Generic interface of a constraint
|
|
57
|
-
virtual EConstraintSubType GetSubType() const override { return EConstraintSubType::Distance; }
|
|
58
|
-
virtual void NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM) override;
|
|
59
|
-
virtual void SetupVelocityConstraint(float inDeltaTime) override;
|
|
60
|
-
virtual void ResetWarmStart() override;
|
|
61
|
-
virtual void WarmStartVelocityConstraint(float inWarmStartImpulseRatio) override;
|
|
62
|
-
virtual bool SolveVelocityConstraint(float inDeltaTime) override;
|
|
63
|
-
virtual bool SolvePositionConstraint(float inDeltaTime, float inBaumgarte) override;
|
|
64
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
65
|
-
virtual void DrawConstraint(DebugRenderer *inRenderer) const override;
|
|
66
|
-
#endif // JPH_DEBUG_RENDERER
|
|
67
|
-
virtual void SaveState(StateRecorder &inStream) const override;
|
|
68
|
-
virtual void RestoreState(StateRecorder &inStream) override;
|
|
69
|
-
virtual Ref<ConstraintSettings> GetConstraintSettings() const override;
|
|
70
|
-
|
|
71
|
-
// See: TwoBodyConstraint
|
|
72
|
-
virtual Mat44 GetConstraintToBody1Matrix() const override { return Mat44::sTranslation(mLocalSpacePosition1); }
|
|
73
|
-
virtual Mat44 GetConstraintToBody2Matrix() const override { return Mat44::sTranslation(mLocalSpacePosition2); } // Note: Incorrect rotation as we don't track the original rotation difference, should not matter though as the constraint is not limiting rotation.
|
|
74
|
-
|
|
75
|
-
/// Update the minimum and maximum distance for the constraint
|
|
76
|
-
void SetDistance(float inMinDistance, float inMaxDistance) { JPH_ASSERT(inMinDistance <= inMaxDistance); mMinDistance = inMinDistance; mMaxDistance = inMaxDistance; }
|
|
77
|
-
float GetMinDistance() const { return mMinDistance; }
|
|
78
|
-
float GetMaxDistance() const { return mMaxDistance; }
|
|
79
|
-
|
|
80
|
-
/// Update the limits spring settings
|
|
81
|
-
const SpringSettings & GetLimitsSpringSettings() const { return mLimitsSpringSettings; }
|
|
82
|
-
SpringSettings & GetLimitsSpringSettings() { return mLimitsSpringSettings; }
|
|
83
|
-
void SetLimitsSpringSettings(const SpringSettings &inLimitsSpringSettings) { mLimitsSpringSettings = inLimitsSpringSettings; }
|
|
84
|
-
|
|
85
|
-
///@name Get Lagrange multiplier from last physics update (the linear impulse applied to satisfy the constraint)
|
|
86
|
-
inline float GetTotalLambdaPosition() const { return mAxisConstraint.GetTotalLambda(); }
|
|
87
|
-
|
|
88
|
-
private:
|
|
89
|
-
// Internal helper function to calculate the values below
|
|
90
|
-
void CalculateConstraintProperties(float inDeltaTime);
|
|
91
|
-
|
|
92
|
-
// CONFIGURATION PROPERTIES FOLLOW
|
|
93
|
-
|
|
94
|
-
// Local space constraint positions
|
|
95
|
-
Vec3 mLocalSpacePosition1;
|
|
96
|
-
Vec3 mLocalSpacePosition2;
|
|
97
|
-
|
|
98
|
-
// Min/max distance that must be kept between the world space points
|
|
99
|
-
float mMinDistance;
|
|
100
|
-
float mMaxDistance;
|
|
101
|
-
|
|
102
|
-
// Soft constraint limits
|
|
103
|
-
SpringSettings mLimitsSpringSettings;
|
|
104
|
-
|
|
105
|
-
// RUN TIME PROPERTIES FOLLOW
|
|
106
|
-
|
|
107
|
-
// World space positions and normal
|
|
108
|
-
RVec3 mWorldSpacePosition1;
|
|
109
|
-
RVec3 mWorldSpacePosition2;
|
|
110
|
-
Vec3 mWorldSpaceNormal;
|
|
111
|
-
|
|
112
|
-
// Depending on if the distance < min or distance > max we can apply forces to prevent further violations
|
|
113
|
-
float mMinLambda;
|
|
114
|
-
float mMaxLambda;
|
|
115
|
-
|
|
116
|
-
// The constraint part
|
|
117
|
-
AxisConstraintPart mAxisConstraint;
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
JPH_NAMESPACE_END
|
|
@@ -1,215 +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/FixedConstraint.h>
|
|
8
|
-
#include <Jolt/Physics/Body/Body.h>
|
|
9
|
-
#include <Jolt/ObjectStream/TypeDeclarations.h>
|
|
10
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
11
|
-
#include <Jolt/Renderer/DebugRenderer.h>
|
|
12
|
-
#endif // JPH_DEBUG_RENDERER
|
|
13
|
-
|
|
14
|
-
JPH_NAMESPACE_BEGIN
|
|
15
|
-
|
|
16
|
-
using namespace literals;
|
|
17
|
-
|
|
18
|
-
JPH_IMPLEMENT_SERIALIZABLE_VIRTUAL(FixedConstraintSettings)
|
|
19
|
-
{
|
|
20
|
-
JPH_ADD_BASE_CLASS(FixedConstraintSettings, TwoBodyConstraintSettings)
|
|
21
|
-
|
|
22
|
-
JPH_ADD_ENUM_ATTRIBUTE(FixedConstraintSettings, mSpace)
|
|
23
|
-
JPH_ADD_ATTRIBUTE(FixedConstraintSettings, mAutoDetectPoint)
|
|
24
|
-
JPH_ADD_ATTRIBUTE(FixedConstraintSettings, mPoint1)
|
|
25
|
-
JPH_ADD_ATTRIBUTE(FixedConstraintSettings, mAxisX1)
|
|
26
|
-
JPH_ADD_ATTRIBUTE(FixedConstraintSettings, mAxisY1)
|
|
27
|
-
JPH_ADD_ATTRIBUTE(FixedConstraintSettings, mPoint2)
|
|
28
|
-
JPH_ADD_ATTRIBUTE(FixedConstraintSettings, mAxisX2)
|
|
29
|
-
JPH_ADD_ATTRIBUTE(FixedConstraintSettings, mAxisY2)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
void FixedConstraintSettings::SaveBinaryState(StreamOut &inStream) const
|
|
33
|
-
{
|
|
34
|
-
ConstraintSettings::SaveBinaryState(inStream);
|
|
35
|
-
|
|
36
|
-
inStream.Write(mSpace);
|
|
37
|
-
inStream.Write(mAutoDetectPoint);
|
|
38
|
-
inStream.Write(mPoint1);
|
|
39
|
-
inStream.Write(mAxisX1);
|
|
40
|
-
inStream.Write(mAxisY1);
|
|
41
|
-
inStream.Write(mPoint2);
|
|
42
|
-
inStream.Write(mAxisX2);
|
|
43
|
-
inStream.Write(mAxisY2);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
void FixedConstraintSettings::RestoreBinaryState(StreamIn &inStream)
|
|
47
|
-
{
|
|
48
|
-
ConstraintSettings::RestoreBinaryState(inStream);
|
|
49
|
-
|
|
50
|
-
inStream.Read(mSpace);
|
|
51
|
-
inStream.Read(mAutoDetectPoint);
|
|
52
|
-
inStream.Read(mPoint1);
|
|
53
|
-
inStream.Read(mAxisX1);
|
|
54
|
-
inStream.Read(mAxisY1);
|
|
55
|
-
inStream.Read(mPoint2);
|
|
56
|
-
inStream.Read(mAxisX2);
|
|
57
|
-
inStream.Read(mAxisY2);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
TwoBodyConstraint *FixedConstraintSettings::Create(Body &inBody1, Body &inBody2) const
|
|
61
|
-
{
|
|
62
|
-
return new FixedConstraint(inBody1, inBody2, *this);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
FixedConstraint::FixedConstraint(Body &inBody1, Body &inBody2, const FixedConstraintSettings &inSettings) :
|
|
66
|
-
TwoBodyConstraint(inBody1, inBody2, inSettings)
|
|
67
|
-
{
|
|
68
|
-
// Store inverse of initial rotation from body 1 to body 2 in body 1 space
|
|
69
|
-
mInvInitialOrientation = RotationEulerConstraintPart::sGetInvInitialOrientationXY(inSettings.mAxisX1, inSettings.mAxisY1, inSettings.mAxisX2, inSettings.mAxisY2);
|
|
70
|
-
|
|
71
|
-
if (inSettings.mSpace == EConstraintSpace::WorldSpace)
|
|
72
|
-
{
|
|
73
|
-
if (inSettings.mAutoDetectPoint)
|
|
74
|
-
{
|
|
75
|
-
// Determine anchor point: If any of the bodies can never be dynamic use the other body as anchor point
|
|
76
|
-
RVec3 anchor;
|
|
77
|
-
if (!inBody1.CanBeKinematicOrDynamic())
|
|
78
|
-
anchor = inBody2.GetCenterOfMassPosition();
|
|
79
|
-
else if (!inBody2.CanBeKinematicOrDynamic())
|
|
80
|
-
anchor = inBody1.GetCenterOfMassPosition();
|
|
81
|
-
else
|
|
82
|
-
{
|
|
83
|
-
// Otherwise use weighted anchor point towards the lightest body
|
|
84
|
-
Real inv_m1 = Real(inBody1.GetMotionPropertiesUnchecked()->GetInverseMassUnchecked());
|
|
85
|
-
Real inv_m2 = Real(inBody2.GetMotionPropertiesUnchecked()->GetInverseMassUnchecked());
|
|
86
|
-
Real total_inv_mass = inv_m1 + inv_m2;
|
|
87
|
-
if (total_inv_mass != 0.0_r)
|
|
88
|
-
anchor = (inv_m1 * inBody1.GetCenterOfMassPosition() + inv_m2 * inBody2.GetCenterOfMassPosition()) / (inv_m1 + inv_m2);
|
|
89
|
-
else
|
|
90
|
-
anchor = inBody1.GetCenterOfMassPosition();
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// Store local positions
|
|
94
|
-
mLocalSpacePosition1 = Vec3(inBody1.GetInverseCenterOfMassTransform() * anchor);
|
|
95
|
-
mLocalSpacePosition2 = Vec3(inBody2.GetInverseCenterOfMassTransform() * anchor);
|
|
96
|
-
}
|
|
97
|
-
else
|
|
98
|
-
{
|
|
99
|
-
// Store local positions
|
|
100
|
-
mLocalSpacePosition1 = Vec3(inBody1.GetInverseCenterOfMassTransform() * inSettings.mPoint1);
|
|
101
|
-
mLocalSpacePosition2 = Vec3(inBody2.GetInverseCenterOfMassTransform() * inSettings.mPoint2);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// Constraints were specified in world space, so we should have replaced c1 with q10^-1 c1 and c2 with q20^-1 c2
|
|
105
|
-
// => r0^-1 = (q20^-1 c2) (q10^-1 c1)^1 = q20^-1 (c2 c1^-1) q10
|
|
106
|
-
mInvInitialOrientation = inBody2.GetRotation().Conjugated() * mInvInitialOrientation * inBody1.GetRotation();
|
|
107
|
-
}
|
|
108
|
-
else
|
|
109
|
-
{
|
|
110
|
-
// Store local positions
|
|
111
|
-
mLocalSpacePosition1 = Vec3(inSettings.mPoint1);
|
|
112
|
-
mLocalSpacePosition2 = Vec3(inSettings.mPoint2);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
void FixedConstraint::NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM)
|
|
117
|
-
{
|
|
118
|
-
if (mBody1->GetID() == inBodyID)
|
|
119
|
-
mLocalSpacePosition1 -= inDeltaCOM;
|
|
120
|
-
else if (mBody2->GetID() == inBodyID)
|
|
121
|
-
mLocalSpacePosition2 -= inDeltaCOM;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
void FixedConstraint::SetupVelocityConstraint(float inDeltaTime)
|
|
125
|
-
{
|
|
126
|
-
// Calculate constraint values that don't change when the bodies don't change position
|
|
127
|
-
Mat44 rotation1 = Mat44::sRotation(mBody1->GetRotation());
|
|
128
|
-
Mat44 rotation2 = Mat44::sRotation(mBody2->GetRotation());
|
|
129
|
-
mRotationConstraintPart.CalculateConstraintProperties(*mBody1, rotation1, *mBody2, rotation2);
|
|
130
|
-
mPointConstraintPart.CalculateConstraintProperties(*mBody1, rotation1, mLocalSpacePosition1, *mBody2, rotation2, mLocalSpacePosition2);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
void FixedConstraint::ResetWarmStart()
|
|
134
|
-
{
|
|
135
|
-
mRotationConstraintPart.Deactivate();
|
|
136
|
-
mPointConstraintPart.Deactivate();
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
void FixedConstraint::WarmStartVelocityConstraint(float inWarmStartImpulseRatio)
|
|
140
|
-
{
|
|
141
|
-
// Warm starting: Apply previous frame impulse
|
|
142
|
-
mRotationConstraintPart.WarmStart(*mBody1, *mBody2, inWarmStartImpulseRatio);
|
|
143
|
-
mPointConstraintPart.WarmStart(*mBody1, *mBody2, inWarmStartImpulseRatio);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
bool FixedConstraint::SolveVelocityConstraint(float inDeltaTime)
|
|
147
|
-
{
|
|
148
|
-
// Solve rotation constraint
|
|
149
|
-
bool rot = mRotationConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2);
|
|
150
|
-
|
|
151
|
-
// Solve position constraint
|
|
152
|
-
bool pos = mPointConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2);
|
|
153
|
-
|
|
154
|
-
return rot || pos;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
bool FixedConstraint::SolvePositionConstraint(float inDeltaTime, float inBaumgarte)
|
|
158
|
-
{
|
|
159
|
-
// Solve rotation constraint
|
|
160
|
-
mRotationConstraintPart.CalculateConstraintProperties(*mBody1, Mat44::sRotation(mBody1->GetRotation()), *mBody2, Mat44::sRotation(mBody2->GetRotation()));
|
|
161
|
-
bool rot = mRotationConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, mInvInitialOrientation, inBaumgarte);
|
|
162
|
-
|
|
163
|
-
// Solve position constraint
|
|
164
|
-
mPointConstraintPart.CalculateConstraintProperties(*mBody1, Mat44::sRotation(mBody1->GetRotation()), mLocalSpacePosition1, *mBody2, Mat44::sRotation(mBody2->GetRotation()), mLocalSpacePosition2);
|
|
165
|
-
bool pos = mPointConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, inBaumgarte);
|
|
166
|
-
|
|
167
|
-
return rot || pos;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
171
|
-
void FixedConstraint::DrawConstraint(DebugRenderer *inRenderer) const
|
|
172
|
-
{
|
|
173
|
-
RMat44 com1 = mBody1->GetCenterOfMassTransform();
|
|
174
|
-
RMat44 com2 = mBody2->GetCenterOfMassTransform();
|
|
175
|
-
|
|
176
|
-
RVec3 anchor1 = com1 * mLocalSpacePosition1;
|
|
177
|
-
RVec3 anchor2 = com2 * mLocalSpacePosition2;
|
|
178
|
-
|
|
179
|
-
// Draw constraint
|
|
180
|
-
inRenderer->DrawLine(com1.GetTranslation(), anchor1, Color::sGreen);
|
|
181
|
-
inRenderer->DrawLine(com2.GetTranslation(), anchor2, Color::sBlue);
|
|
182
|
-
}
|
|
183
|
-
#endif // JPH_DEBUG_RENDERER
|
|
184
|
-
|
|
185
|
-
void FixedConstraint::SaveState(StateRecorder &inStream) const
|
|
186
|
-
{
|
|
187
|
-
TwoBodyConstraint::SaveState(inStream);
|
|
188
|
-
|
|
189
|
-
mRotationConstraintPart.SaveState(inStream);
|
|
190
|
-
mPointConstraintPart.SaveState(inStream);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
void FixedConstraint::RestoreState(StateRecorder &inStream)
|
|
194
|
-
{
|
|
195
|
-
TwoBodyConstraint::RestoreState(inStream);
|
|
196
|
-
|
|
197
|
-
mRotationConstraintPart.RestoreState(inStream);
|
|
198
|
-
mPointConstraintPart.RestoreState(inStream);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
Ref<ConstraintSettings> FixedConstraint::GetConstraintSettings() const
|
|
202
|
-
{
|
|
203
|
-
FixedConstraintSettings *settings = new FixedConstraintSettings;
|
|
204
|
-
ToConstraintSettings(*settings);
|
|
205
|
-
settings->mSpace = EConstraintSpace::LocalToBodyCOM;
|
|
206
|
-
settings->mPoint1 = RVec3(mLocalSpacePosition1);
|
|
207
|
-
settings->mAxisX1 = Vec3::sAxisX();
|
|
208
|
-
settings->mAxisY1 = Vec3::sAxisY();
|
|
209
|
-
settings->mPoint2 = RVec3(mLocalSpacePosition2);
|
|
210
|
-
settings->mAxisX2 = mInvInitialOrientation.RotateAxisX();
|
|
211
|
-
settings->mAxisY2 = mInvInitialOrientation.RotateAxisY();
|
|
212
|
-
return settings;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
JPH_NAMESPACE_END
|
|
@@ -1,96 +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/ConstraintPart/RotationEulerConstraintPart.h>
|
|
9
|
-
#include <Jolt/Physics/Constraints/ConstraintPart/PointConstraintPart.h>
|
|
10
|
-
|
|
11
|
-
JPH_NAMESPACE_BEGIN
|
|
12
|
-
|
|
13
|
-
/// Fixed constraint settings, used to create a fixed constraint
|
|
14
|
-
class JPH_EXPORT FixedConstraintSettings final : public TwoBodyConstraintSettings
|
|
15
|
-
{
|
|
16
|
-
JPH_DECLARE_SERIALIZABLE_VIRTUAL(JPH_EXPORT, FixedConstraintSettings)
|
|
17
|
-
|
|
18
|
-
public:
|
|
19
|
-
// See: ConstraintSettings::SaveBinaryState
|
|
20
|
-
virtual void SaveBinaryState(StreamOut &inStream) const override;
|
|
21
|
-
|
|
22
|
-
/// Create an instance of this constraint
|
|
23
|
-
virtual TwoBodyConstraint * Create(Body &inBody1, Body &inBody2) const override;
|
|
24
|
-
|
|
25
|
-
/// This determines in which space the constraint is setup, all properties below should be in the specified space
|
|
26
|
-
EConstraintSpace mSpace = EConstraintSpace::WorldSpace;
|
|
27
|
-
|
|
28
|
-
/// When mSpace is WorldSpace mPoint1 and mPoint2 can be automatically calculated based on the positions of the bodies when the constraint is created (they will be fixated in their current relative position/orientation). Set this to false if you want to supply the attachment points yourself.
|
|
29
|
-
bool mAutoDetectPoint = false;
|
|
30
|
-
|
|
31
|
-
/// Body 1 constraint reference frame (space determined by mSpace)
|
|
32
|
-
RVec3 mPoint1 = RVec3::sZero();
|
|
33
|
-
Vec3 mAxisX1 = Vec3::sAxisX();
|
|
34
|
-
Vec3 mAxisY1 = Vec3::sAxisY();
|
|
35
|
-
|
|
36
|
-
/// Body 2 constraint reference frame (space determined by mSpace)
|
|
37
|
-
RVec3 mPoint2 = RVec3::sZero();
|
|
38
|
-
Vec3 mAxisX2 = Vec3::sAxisX();
|
|
39
|
-
Vec3 mAxisY2 = Vec3::sAxisY();
|
|
40
|
-
|
|
41
|
-
protected:
|
|
42
|
-
// See: ConstraintSettings::RestoreBinaryState
|
|
43
|
-
virtual void RestoreBinaryState(StreamIn &inStream) override;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
/// A fixed constraint welds two bodies together removing all degrees of freedom between them.
|
|
47
|
-
/// This variant uses Euler angles for the rotation constraint.
|
|
48
|
-
class JPH_EXPORT FixedConstraint final : public TwoBodyConstraint
|
|
49
|
-
{
|
|
50
|
-
public:
|
|
51
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
52
|
-
|
|
53
|
-
/// Constructor
|
|
54
|
-
FixedConstraint(Body &inBody1, Body &inBody2, const FixedConstraintSettings &inSettings);
|
|
55
|
-
|
|
56
|
-
// Generic interface of a constraint
|
|
57
|
-
virtual EConstraintSubType GetSubType() const override { return EConstraintSubType::Fixed; }
|
|
58
|
-
virtual void NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM) override;
|
|
59
|
-
virtual void SetupVelocityConstraint(float inDeltaTime) override;
|
|
60
|
-
virtual void ResetWarmStart() override;
|
|
61
|
-
virtual void WarmStartVelocityConstraint(float inWarmStartImpulseRatio) override;
|
|
62
|
-
virtual bool SolveVelocityConstraint(float inDeltaTime) override;
|
|
63
|
-
virtual bool SolvePositionConstraint(float inDeltaTime, float inBaumgarte) override;
|
|
64
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
65
|
-
virtual void DrawConstraint(DebugRenderer *inRenderer) const override;
|
|
66
|
-
#endif // JPH_DEBUG_RENDERER
|
|
67
|
-
virtual void SaveState(StateRecorder &inStream) const override;
|
|
68
|
-
virtual void RestoreState(StateRecorder &inStream) override;
|
|
69
|
-
virtual Ref<ConstraintSettings> GetConstraintSettings() const override;
|
|
70
|
-
|
|
71
|
-
// See: TwoBodyConstraint
|
|
72
|
-
virtual Mat44 GetConstraintToBody1Matrix() const override { return Mat44::sTranslation(mLocalSpacePosition1); }
|
|
73
|
-
virtual Mat44 GetConstraintToBody2Matrix() const override { return Mat44::sRotationTranslation(mInvInitialOrientation, mLocalSpacePosition2); }
|
|
74
|
-
|
|
75
|
-
///@name Get Lagrange multiplier from last physics update (the linear/angular impulse applied to satisfy the constraint)
|
|
76
|
-
inline Vec3 GetTotalLambdaPosition() const { return mPointConstraintPart.GetTotalLambda(); }
|
|
77
|
-
inline Vec3 GetTotalLambdaRotation() const { return mRotationConstraintPart.GetTotalLambda(); }
|
|
78
|
-
|
|
79
|
-
private:
|
|
80
|
-
// CONFIGURATION PROPERTIES FOLLOW
|
|
81
|
-
|
|
82
|
-
// Local space constraint positions
|
|
83
|
-
Vec3 mLocalSpacePosition1;
|
|
84
|
-
Vec3 mLocalSpacePosition2;
|
|
85
|
-
|
|
86
|
-
// Inverse of initial rotation from body 1 to body 2 in body 1 space
|
|
87
|
-
Quat mInvInitialOrientation;
|
|
88
|
-
|
|
89
|
-
// RUN TIME PROPERTIES FOLLOW
|
|
90
|
-
|
|
91
|
-
// The constraint parts
|
|
92
|
-
RotationEulerConstraintPart mRotationConstraintPart;
|
|
93
|
-
PointConstraintPart mPointConstraintPart;
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
JPH_NAMESPACE_END
|