@bloomengine/engine 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/native/tvos/metal-patched/Cargo.toml +178 -0
- package/native/tvos/metal-patched/LICENSE-APACHE +201 -0
- package/native/tvos/metal-patched/LICENSE-MIT +25 -0
- package/native/tvos/metal-patched/src/acceleration_structure.rs +667 -0
- package/native/tvos/metal-patched/src/acceleration_structure_pass.rs +108 -0
- package/native/tvos/metal-patched/src/argument.rs +366 -0
- package/native/tvos/metal-patched/src/blitpass.rs +102 -0
- package/native/tvos/metal-patched/src/buffer.rs +71 -0
- package/native/tvos/metal-patched/src/capturedescriptor.rs +76 -0
- package/native/tvos/metal-patched/src/capturemanager.rs +113 -0
- package/native/tvos/metal-patched/src/commandbuffer.rs +192 -0
- package/native/tvos/metal-patched/src/commandqueue.rs +44 -0
- package/native/tvos/metal-patched/src/computepass.rs +107 -0
- package/native/tvos/metal-patched/src/constants.rs +152 -0
- package/native/tvos/metal-patched/src/counters.rs +119 -0
- package/native/tvos/metal-patched/src/depthstencil.rs +190 -0
- package/native/tvos/metal-patched/src/device.rs +2134 -0
- package/native/tvos/metal-patched/src/drawable.rs +39 -0
- package/native/tvos/metal-patched/src/encoder.rs +2041 -0
- package/native/tvos/metal-patched/src/heap.rs +281 -0
- package/native/tvos/metal-patched/src/indirect_encoder.rs +344 -0
- package/native/tvos/metal-patched/src/lib.rs +657 -0
- package/native/tvos/metal-patched/src/library.rs +902 -0
- package/native/tvos/metal-patched/src/mps.rs +575 -0
- package/native/tvos/metal-patched/src/pipeline/compute.rs +475 -0
- package/native/tvos/metal-patched/src/pipeline/mod.rs +71 -0
- package/native/tvos/metal-patched/src/pipeline/render.rs +762 -0
- package/native/tvos/metal-patched/src/renderpass.rs +443 -0
- package/native/tvos/metal-patched/src/resource.rs +182 -0
- package/native/tvos/metal-patched/src/sampler.rs +165 -0
- package/native/tvos/metal-patched/src/sync.rs +178 -0
- package/native/tvos/metal-patched/src/texture.rs +352 -0
- package/native/tvos/metal-patched/src/types.rs +90 -0
- package/native/tvos/metal-patched/src/vertexdescriptor.rs +250 -0
- package/package.json +8 -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,187 +0,0 @@
|
|
|
1
|
-
// SPDX-FileCopyrightText: 2023 Jorrit Rouwe
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
|
|
4
|
-
#pragma once
|
|
5
|
-
|
|
6
|
-
#include <Jolt/Core/NonCopyable.h>
|
|
7
|
-
#include <Jolt/Core/Atomics.h>
|
|
8
|
-
|
|
9
|
-
JPH_NAMESPACE_BEGIN
|
|
10
|
-
|
|
11
|
-
class Body;
|
|
12
|
-
class BodyID;
|
|
13
|
-
class IslandBuilder;
|
|
14
|
-
class TempAllocator;
|
|
15
|
-
class Constraint;
|
|
16
|
-
class BodyManager;
|
|
17
|
-
class ContactConstraintManager;
|
|
18
|
-
class CalculateSolverSteps;
|
|
19
|
-
|
|
20
|
-
/// Assigns bodies in large islands to multiple groups that can run in parallel
|
|
21
|
-
///
|
|
22
|
-
/// This basically implements what is described in: High-Performance Physical Simulations on Next-Generation Architecture with Many Cores by Chen et al.
|
|
23
|
-
/// See: http://web.eecs.umich.edu/~msmelyan/papers/physsim_onmanycore_itj.pdf section "PARALLELIZATION METHODOLOGY"
|
|
24
|
-
///
|
|
25
|
-
/// WARNING: This class is an internal part of PhysicsSystem, it has no functions that can be called by users of the library.
|
|
26
|
-
class LargeIslandSplitter : public NonCopyable
|
|
27
|
-
{
|
|
28
|
-
private:
|
|
29
|
-
using SplitMask = uint32;
|
|
30
|
-
|
|
31
|
-
public:
|
|
32
|
-
static constexpr uint cNumSplits = sizeof(SplitMask) * 8;
|
|
33
|
-
static constexpr uint cNonParallelSplitIdx = cNumSplits - 1;
|
|
34
|
-
static constexpr uint cLargeIslandTreshold = 128; ///< If the number of constraints + contacts in an island is larger than this, we will try to split the island
|
|
35
|
-
|
|
36
|
-
/// Status code for retrieving a batch
|
|
37
|
-
enum class EStatus
|
|
38
|
-
{
|
|
39
|
-
WaitingForBatch, ///< Work is expected to be available later
|
|
40
|
-
BatchRetrieved, ///< Work is being returned
|
|
41
|
-
AllBatchesDone, ///< No further work is expected from this
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/// Describes a split of constraints and contacts
|
|
45
|
-
struct Split
|
|
46
|
-
{
|
|
47
|
-
inline uint GetNumContacts() const { return mContactBufferEnd - mContactBufferBegin; }
|
|
48
|
-
inline uint GetNumConstraints() const { return mConstraintBufferEnd - mConstraintBufferBegin; }
|
|
49
|
-
inline uint GetNumItems() const { return GetNumContacts() + GetNumConstraints(); }
|
|
50
|
-
|
|
51
|
-
uint32 mContactBufferBegin; ///< Begin of the contact buffer (offset relative to mContactAndConstraintIndices)
|
|
52
|
-
uint32 mContactBufferEnd; ///< End of the contact buffer
|
|
53
|
-
|
|
54
|
-
uint32 mConstraintBufferBegin; ///< Begin of the constraint buffer (offset relative to mContactAndConstraintIndices)
|
|
55
|
-
uint32 mConstraintBufferEnd; ///< End of the constraint buffer
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/// Structure that describes the resulting splits from the large island splitter
|
|
59
|
-
class Splits
|
|
60
|
-
{
|
|
61
|
-
public:
|
|
62
|
-
inline uint GetNumSplits() const
|
|
63
|
-
{
|
|
64
|
-
return mNumSplits;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
inline void GetConstraintsInSplit(uint inSplitIndex, uint32 &outConstraintsBegin, uint32 &outConstraintsEnd) const
|
|
68
|
-
{
|
|
69
|
-
const Split &split = mSplits[inSplitIndex];
|
|
70
|
-
outConstraintsBegin = split.mConstraintBufferBegin;
|
|
71
|
-
outConstraintsEnd = split.mConstraintBufferEnd;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
inline void GetContactsInSplit(uint inSplitIndex, uint32 &outContactsBegin, uint32 &outContactsEnd) const
|
|
75
|
-
{
|
|
76
|
-
const Split &split = mSplits[inSplitIndex];
|
|
77
|
-
outContactsBegin = split.mContactBufferBegin;
|
|
78
|
-
outContactsEnd = split.mContactBufferEnd;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/// Reset current status so that no work can be picked up from this split
|
|
82
|
-
inline void ResetStatus()
|
|
83
|
-
{
|
|
84
|
-
mStatus.store(StatusItemMask, memory_order_relaxed);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/// Make the first batch available to other threads
|
|
88
|
-
inline void StartFirstBatch()
|
|
89
|
-
{
|
|
90
|
-
uint split_index = mNumSplits > 0? 0 : cNonParallelSplitIdx;
|
|
91
|
-
mStatus.store(uint64(split_index) << StatusSplitShift, memory_order_release);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/// Fetch the next batch to process
|
|
95
|
-
EStatus FetchNextBatch(uint32 &outConstraintsBegin, uint32 &outConstraintsEnd, uint32 &outContactsBegin, uint32 &outContactsEnd, bool &outFirstIteration);
|
|
96
|
-
|
|
97
|
-
/// Mark a batch as processed
|
|
98
|
-
void MarkBatchProcessed(uint inNumProcessed, bool &outLastIteration, bool &outFinalBatch);
|
|
99
|
-
|
|
100
|
-
enum EIterationStatus : uint64
|
|
101
|
-
{
|
|
102
|
-
StatusIterationMask = 0xffff000000000000,
|
|
103
|
-
StatusIterationShift = 48,
|
|
104
|
-
StatusSplitMask = 0x0000ffff00000000,
|
|
105
|
-
StatusSplitShift = 32,
|
|
106
|
-
StatusItemMask = 0x00000000ffffffff,
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
static inline int sGetIteration(uint64 inStatus)
|
|
110
|
-
{
|
|
111
|
-
return int((inStatus & StatusIterationMask) >> StatusIterationShift);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
static inline uint sGetSplit(uint64 inStatus)
|
|
115
|
-
{
|
|
116
|
-
return uint((inStatus & StatusSplitMask) >> StatusSplitShift);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
static inline uint sGetItem(uint64 inStatus)
|
|
120
|
-
{
|
|
121
|
-
return uint(inStatus & StatusItemMask);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
Split mSplits[cNumSplits]; ///< Data per split
|
|
125
|
-
uint32 mIslandIndex; ///< Index of the island that was split
|
|
126
|
-
uint mNumSplits; ///< Number of splits that were created (excluding the non-parallel split)
|
|
127
|
-
int mNumIterations; ///< Number of iterations to do
|
|
128
|
-
int mNumVelocitySteps; ///< Number of velocity steps to do (cached for 2nd sub step)
|
|
129
|
-
int mNumPositionSteps; ///< Number of position steps to do
|
|
130
|
-
atomic<uint64> mStatus; ///< Status of the split, see EIterationStatus
|
|
131
|
-
atomic<uint> mItemsProcessed; ///< Number of items that have been marked as processed
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
public:
|
|
135
|
-
/// Destructor
|
|
136
|
-
~LargeIslandSplitter();
|
|
137
|
-
|
|
138
|
-
/// Prepare the island splitter by allocating memory
|
|
139
|
-
void Prepare(const IslandBuilder &inIslandBuilder, uint32 inNumActiveBodies, TempAllocator *inTempAllocator);
|
|
140
|
-
|
|
141
|
-
/// Assign two bodies to a split. Returns the split index.
|
|
142
|
-
uint AssignSplit(const Body *inBody1, const Body *inBody2);
|
|
143
|
-
|
|
144
|
-
/// Force a body to be in a non parallel split. Returns the split index.
|
|
145
|
-
uint AssignToNonParallelSplit(const Body *inBody);
|
|
146
|
-
|
|
147
|
-
/// Splits up an island, the created splits will be added to the list of batches and can be fetched with FetchNextBatch. Returns false if the island did not need splitting.
|
|
148
|
-
bool SplitIsland(uint32 inIslandIndex, const IslandBuilder &inIslandBuilder, const BodyManager &inBodyManager, const ContactConstraintManager &inContactManager, Constraint **inActiveConstraints, CalculateSolverSteps &ioStepsCalculator);
|
|
149
|
-
|
|
150
|
-
/// Fetch the next batch to process, returns a handle in outSplitIslandIndex that must be provided to MarkBatchProcessed when complete
|
|
151
|
-
EStatus FetchNextBatch(uint &outSplitIslandIndex, uint32 *&outConstraintsBegin, uint32 *&outConstraintsEnd, uint32 *&outContactsBegin, uint32 *&outContactsEnd, bool &outFirstIteration);
|
|
152
|
-
|
|
153
|
-
/// Mark a batch as processed
|
|
154
|
-
void MarkBatchProcessed(uint inSplitIslandIndex, const uint32 *inConstraintsBegin, const uint32 *inConstraintsEnd, const uint32 *inContactsBegin, const uint32 *inContactsEnd, bool &outLastIteration, bool &outFinalBatch);
|
|
155
|
-
|
|
156
|
-
/// Get the island index of the island that was split for a particular split island index
|
|
157
|
-
inline uint32 GetIslandIndex(uint inSplitIslandIndex) const
|
|
158
|
-
{
|
|
159
|
-
JPH_ASSERT(inSplitIslandIndex < mNumSplitIslands);
|
|
160
|
-
return mSplitIslands[inSplitIslandIndex].mIslandIndex;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/// Prepare the island splitter for iterating over the split islands again for position solving. Marks all batches as startable.
|
|
164
|
-
void PrepareForSolvePositions();
|
|
165
|
-
|
|
166
|
-
/// Reset the island splitter
|
|
167
|
-
void Reset(TempAllocator *inTempAllocator);
|
|
168
|
-
|
|
169
|
-
private:
|
|
170
|
-
static constexpr uint cSplitCombineTreshold = 32; ///< If the number of constraints + contacts in a split is lower than this, we will merge this split into the 'non-parallel split'
|
|
171
|
-
static constexpr uint cBatchSize = 16; ///< Number of items to process in a constraint batch
|
|
172
|
-
|
|
173
|
-
uint32 mNumActiveBodies = 0; ///< Cached number of active bodies
|
|
174
|
-
|
|
175
|
-
SplitMask * mSplitMasks = nullptr; ///< Bits that indicate for each body in the BodyManager::mActiveBodies list which split they already belong to
|
|
176
|
-
|
|
177
|
-
uint32 * mContactAndConstraintsSplitIdx = nullptr; ///< Buffer to store the split index per constraint or contact
|
|
178
|
-
uint32 * mContactAndConstraintIndices = nullptr; ///< Buffer to store the ordered constraint indices per split
|
|
179
|
-
uint mContactAndConstraintsSize = 0; ///< Total size of mContactAndConstraintsSplitIdx and mContactAndConstraintIndices
|
|
180
|
-
atomic<uint> mContactAndConstraintsNextFree { 0 }; ///< Next element that is free in both buffers
|
|
181
|
-
|
|
182
|
-
uint mNumSplitIslands = 0; ///< Total number of islands that required splitting
|
|
183
|
-
Splits * mSplitIslands = nullptr; ///< List of islands that required splitting
|
|
184
|
-
atomic<uint> mNextSplitIsland = 0; ///< Next split island to pick from mSplitIslands
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
JPH_NAMESPACE_END
|
|
@@ -1,169 +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/Core/Mutex.h>
|
|
8
|
-
|
|
9
|
-
JPH_NAMESPACE_BEGIN
|
|
10
|
-
|
|
11
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
12
|
-
|
|
13
|
-
/// This is the list of locks used by the physics engine, they need to be locked in a particular order (from top of the list to bottom of the list) in order to prevent deadlocks
|
|
14
|
-
enum class EPhysicsLockTypes
|
|
15
|
-
{
|
|
16
|
-
BroadPhaseQuery = 1 << 0,
|
|
17
|
-
PerBody = 1 << 1,
|
|
18
|
-
BodiesList = 1 << 2,
|
|
19
|
-
BroadPhaseUpdate = 1 << 3,
|
|
20
|
-
ConstraintsList = 1 << 4,
|
|
21
|
-
ActiveBodiesList = 1 << 5,
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/// A token that indicates the context of a lock (we use 1 per physics system and we use the body manager pointer because it's convenient)
|
|
25
|
-
class BodyManager;
|
|
26
|
-
using PhysicsLockContext = const BodyManager *;
|
|
27
|
-
|
|
28
|
-
#endif // !JPH_ENABLE_ASSERTS
|
|
29
|
-
|
|
30
|
-
/// Helpers to safely lock the different mutexes that are part of the physics system while preventing deadlock
|
|
31
|
-
/// Class that keeps track per thread which lock are taken and if the order of locking is correct
|
|
32
|
-
class JPH_EXPORT PhysicsLock
|
|
33
|
-
{
|
|
34
|
-
public:
|
|
35
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
36
|
-
/// Call before taking the lock
|
|
37
|
-
static inline void sCheckLock(PhysicsLockContext inContext, EPhysicsLockTypes inType)
|
|
38
|
-
{
|
|
39
|
-
uint32 &mutexes = sGetLockedMutexes(inContext);
|
|
40
|
-
JPH_ASSERT(uint32(inType) > mutexes, "A lock of same or higher priority was already taken, this can create a deadlock!");
|
|
41
|
-
mutexes = mutexes | uint32(inType);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/// Call after releasing the lock
|
|
45
|
-
static inline void sCheckUnlock(PhysicsLockContext inContext, EPhysicsLockTypes inType)
|
|
46
|
-
{
|
|
47
|
-
uint32 &mutexes = sGetLockedMutexes(inContext);
|
|
48
|
-
JPH_ASSERT((mutexes & uint32(inType)) != 0, "Mutex was not locked!");
|
|
49
|
-
mutexes = mutexes & ~uint32(inType);
|
|
50
|
-
}
|
|
51
|
-
#endif // !JPH_ENABLE_ASSERTS
|
|
52
|
-
|
|
53
|
-
template <class LockType>
|
|
54
|
-
static inline void sLock(LockType &inMutex JPH_IF_ENABLE_ASSERTS(, PhysicsLockContext inContext, EPhysicsLockTypes inType))
|
|
55
|
-
{
|
|
56
|
-
JPH_IF_ENABLE_ASSERTS(sCheckLock(inContext, inType);)
|
|
57
|
-
inMutex.lock();
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
template <class LockType>
|
|
61
|
-
static inline void sUnlock(LockType &inMutex JPH_IF_ENABLE_ASSERTS(, PhysicsLockContext inContext, EPhysicsLockTypes inType))
|
|
62
|
-
{
|
|
63
|
-
JPH_IF_ENABLE_ASSERTS(sCheckUnlock(inContext, inType);)
|
|
64
|
-
inMutex.unlock();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
template <class LockType>
|
|
68
|
-
static inline void sLockShared(LockType &inMutex JPH_IF_ENABLE_ASSERTS(, PhysicsLockContext inContext, EPhysicsLockTypes inType))
|
|
69
|
-
{
|
|
70
|
-
JPH_IF_ENABLE_ASSERTS(sCheckLock(inContext, inType);)
|
|
71
|
-
inMutex.lock_shared();
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
template <class LockType>
|
|
75
|
-
static inline void sUnlockShared(LockType &inMutex JPH_IF_ENABLE_ASSERTS(, PhysicsLockContext inContext, EPhysicsLockTypes inType))
|
|
76
|
-
{
|
|
77
|
-
JPH_IF_ENABLE_ASSERTS(sCheckUnlock(inContext, inType);)
|
|
78
|
-
inMutex.unlock_shared();
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
82
|
-
private:
|
|
83
|
-
struct LockData
|
|
84
|
-
{
|
|
85
|
-
uint32 mLockedMutexes = 0;
|
|
86
|
-
PhysicsLockContext mContext = nullptr;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
// Helper function to find the locked mutexes for a particular context
|
|
90
|
-
static uint32 & sGetLockedMutexes(PhysicsLockContext inContext)
|
|
91
|
-
{
|
|
92
|
-
static thread_local LockData sLocks[4];
|
|
93
|
-
|
|
94
|
-
// If we find a matching context we can use it
|
|
95
|
-
for (LockData &l : sLocks)
|
|
96
|
-
if (l.mContext == inContext)
|
|
97
|
-
return l.mLockedMutexes;
|
|
98
|
-
|
|
99
|
-
// Otherwise we look for an entry that is not in use
|
|
100
|
-
for (LockData &l : sLocks)
|
|
101
|
-
if (l.mLockedMutexes == 0)
|
|
102
|
-
{
|
|
103
|
-
l.mContext = inContext;
|
|
104
|
-
return l.mLockedMutexes;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
JPH_ASSERT(false, "Too many physics systems locked at the same time!");
|
|
108
|
-
return sLocks[0].mLockedMutexes;
|
|
109
|
-
}
|
|
110
|
-
#endif // !JPH_ENABLE_ASSERTS
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
/// Helper class that is similar to std::unique_lock
|
|
114
|
-
template <class LockType>
|
|
115
|
-
class UniqueLock : public NonCopyable
|
|
116
|
-
{
|
|
117
|
-
public:
|
|
118
|
-
explicit UniqueLock(LockType &inLock JPH_IF_ENABLE_ASSERTS(, PhysicsLockContext inContext, EPhysicsLockTypes inType)) :
|
|
119
|
-
mLock(inLock)
|
|
120
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
121
|
-
, mContext(inContext),
|
|
122
|
-
mType(inType)
|
|
123
|
-
#endif // JPH_ENABLE_ASSERTS
|
|
124
|
-
{
|
|
125
|
-
PhysicsLock::sLock(mLock JPH_IF_ENABLE_ASSERTS(, mContext, mType));
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
~UniqueLock()
|
|
129
|
-
{
|
|
130
|
-
PhysicsLock::sUnlock(mLock JPH_IF_ENABLE_ASSERTS(, mContext, mType));
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
private:
|
|
134
|
-
LockType & mLock;
|
|
135
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
136
|
-
PhysicsLockContext mContext;
|
|
137
|
-
EPhysicsLockTypes mType;
|
|
138
|
-
#endif // JPH_ENABLE_ASSERTS
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
/// Helper class that is similar to std::shared_lock
|
|
142
|
-
template <class LockType>
|
|
143
|
-
class SharedLock : public NonCopyable
|
|
144
|
-
{
|
|
145
|
-
public:
|
|
146
|
-
explicit SharedLock(LockType &inLock JPH_IF_ENABLE_ASSERTS(, PhysicsLockContext inContext, EPhysicsLockTypes inType)) :
|
|
147
|
-
mLock(inLock)
|
|
148
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
149
|
-
, mContext(inContext)
|
|
150
|
-
, mType(inType)
|
|
151
|
-
#endif // JPH_ENABLE_ASSERTS
|
|
152
|
-
{
|
|
153
|
-
PhysicsLock::sLockShared(mLock JPH_IF_ENABLE_ASSERTS(, mContext, mType));
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
~SharedLock()
|
|
157
|
-
{
|
|
158
|
-
PhysicsLock::sUnlockShared(mLock JPH_IF_ENABLE_ASSERTS(, mContext, mType));
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
private:
|
|
162
|
-
LockType & mLock;
|
|
163
|
-
#ifdef JPH_ENABLE_ASSERTS
|
|
164
|
-
PhysicsLockContext mContext;
|
|
165
|
-
EPhysicsLockTypes mType;
|
|
166
|
-
#endif // JPH_ENABLE_ASSERTS
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
JPH_NAMESPACE_END
|
|
@@ -1,261 +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/PhysicsScene.h>
|
|
8
|
-
#include <Jolt/Physics/PhysicsSystem.h>
|
|
9
|
-
#include <Jolt/Physics/Body/BodyLockMulti.h>
|
|
10
|
-
#include <Jolt/ObjectStream/TypeDeclarations.h>
|
|
11
|
-
|
|
12
|
-
JPH_NAMESPACE_BEGIN
|
|
13
|
-
|
|
14
|
-
JPH_IMPLEMENT_SERIALIZABLE_NON_VIRTUAL(PhysicsScene)
|
|
15
|
-
{
|
|
16
|
-
JPH_ADD_ATTRIBUTE(PhysicsScene, mBodies)
|
|
17
|
-
JPH_ADD_ATTRIBUTE(PhysicsScene, mConstraints)
|
|
18
|
-
JPH_ADD_ATTRIBUTE(PhysicsScene, mSoftBodies)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
JPH_IMPLEMENT_SERIALIZABLE_NON_VIRTUAL(PhysicsScene::ConnectedConstraint)
|
|
22
|
-
{
|
|
23
|
-
JPH_ADD_ATTRIBUTE(PhysicsScene::ConnectedConstraint, mSettings)
|
|
24
|
-
JPH_ADD_ATTRIBUTE(PhysicsScene::ConnectedConstraint, mBody1)
|
|
25
|
-
JPH_ADD_ATTRIBUTE(PhysicsScene::ConnectedConstraint, mBody2)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
void PhysicsScene::AddBody(const BodyCreationSettings &inBody)
|
|
29
|
-
{
|
|
30
|
-
mBodies.push_back(inBody);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
void PhysicsScene::AddConstraint(const TwoBodyConstraintSettings *inConstraint, uint32 inBody1, uint32 inBody2)
|
|
34
|
-
{
|
|
35
|
-
mConstraints.emplace_back(inConstraint, inBody1, inBody2);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
void PhysicsScene::AddSoftBody(const SoftBodyCreationSettings &inSoftBody)
|
|
39
|
-
{
|
|
40
|
-
mSoftBodies.push_back(inSoftBody);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
bool PhysicsScene::FixInvalidScales()
|
|
44
|
-
{
|
|
45
|
-
const Vec3 unit_scale = Vec3::sOne();
|
|
46
|
-
|
|
47
|
-
bool success = true;
|
|
48
|
-
for (BodyCreationSettings &b : mBodies)
|
|
49
|
-
{
|
|
50
|
-
// Test if there is an invalid scale in the shape hierarchy
|
|
51
|
-
const Shape *shape = b.GetShape();
|
|
52
|
-
if (!shape->IsValidScale(unit_scale))
|
|
53
|
-
{
|
|
54
|
-
// Fix it up
|
|
55
|
-
Shape::ShapeResult result = shape->ScaleShape(unit_scale);
|
|
56
|
-
if (result.IsValid())
|
|
57
|
-
b.SetShape(result.Get());
|
|
58
|
-
else
|
|
59
|
-
success = false;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return success;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
bool PhysicsScene::CreateBodies(PhysicsSystem *inSystem) const
|
|
66
|
-
{
|
|
67
|
-
BodyInterface &bi = inSystem->GetBodyInterface();
|
|
68
|
-
|
|
69
|
-
BodyIDVector body_ids;
|
|
70
|
-
body_ids.reserve(mBodies.size() + mSoftBodies.size());
|
|
71
|
-
|
|
72
|
-
// Create bodies
|
|
73
|
-
for (const BodyCreationSettings &b : mBodies)
|
|
74
|
-
{
|
|
75
|
-
const Body *body = bi.CreateBody(b);
|
|
76
|
-
if (body == nullptr)
|
|
77
|
-
break;
|
|
78
|
-
body_ids.push_back(body->GetID());
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// Create soft bodies
|
|
82
|
-
for (const SoftBodyCreationSettings &b : mSoftBodies)
|
|
83
|
-
{
|
|
84
|
-
const Body *body = bi.CreateSoftBody(b);
|
|
85
|
-
if (body == nullptr)
|
|
86
|
-
break;
|
|
87
|
-
body_ids.push_back(body->GetID());
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Batch add bodies
|
|
91
|
-
BodyIDVector temp_body_ids = body_ids; // Body ID's get shuffled by AddBodiesPrepare
|
|
92
|
-
BodyInterface::AddState add_state = bi.AddBodiesPrepare(temp_body_ids.data(), (int)temp_body_ids.size());
|
|
93
|
-
bi.AddBodiesFinalize(temp_body_ids.data(), (int)temp_body_ids.size(), add_state, EActivation::Activate);
|
|
94
|
-
|
|
95
|
-
// If not all bodies are created, creating constraints will be unreliable
|
|
96
|
-
if (body_ids.size() != mBodies.size() + mSoftBodies.size())
|
|
97
|
-
return false;
|
|
98
|
-
|
|
99
|
-
// Create constraints
|
|
100
|
-
for (const ConnectedConstraint &cc : mConstraints)
|
|
101
|
-
{
|
|
102
|
-
BodyID body1_id = cc.mBody1 == cFixedToWorld? BodyID() : body_ids[cc.mBody1];
|
|
103
|
-
BodyID body2_id = cc.mBody2 == cFixedToWorld? BodyID() : body_ids[cc.mBody2];
|
|
104
|
-
Constraint *c = bi.CreateConstraint(cc.mSettings, body1_id, body2_id);
|
|
105
|
-
inSystem->AddConstraint(c);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// Everything was created
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
void PhysicsScene::SaveBinaryState(StreamOut &inStream, bool inSaveShapes, bool inSaveGroupFilter) const
|
|
113
|
-
{
|
|
114
|
-
BodyCreationSettings::ShapeToIDMap shape_to_id;
|
|
115
|
-
BodyCreationSettings::MaterialToIDMap material_to_id;
|
|
116
|
-
BodyCreationSettings::GroupFilterToIDMap group_filter_to_id;
|
|
117
|
-
SoftBodyCreationSettings::SharedSettingsToIDMap settings_to_id;
|
|
118
|
-
|
|
119
|
-
// Save bodies
|
|
120
|
-
inStream.Write((uint32)mBodies.size());
|
|
121
|
-
for (const BodyCreationSettings &b : mBodies)
|
|
122
|
-
b.SaveWithChildren(inStream, inSaveShapes? &shape_to_id : nullptr, inSaveShapes? &material_to_id : nullptr, inSaveGroupFilter? &group_filter_to_id : nullptr);
|
|
123
|
-
|
|
124
|
-
// Save constraints
|
|
125
|
-
inStream.Write((uint32)mConstraints.size());
|
|
126
|
-
for (const ConnectedConstraint &cc : mConstraints)
|
|
127
|
-
{
|
|
128
|
-
cc.mSettings->SaveBinaryState(inStream);
|
|
129
|
-
inStream.Write(cc.mBody1);
|
|
130
|
-
inStream.Write(cc.mBody2);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
// Save soft bodies
|
|
134
|
-
inStream.Write((uint32)mSoftBodies.size());
|
|
135
|
-
for (const SoftBodyCreationSettings &b : mSoftBodies)
|
|
136
|
-
b.SaveWithChildren(inStream, &settings_to_id, &material_to_id, inSaveGroupFilter? &group_filter_to_id : nullptr);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
PhysicsScene::PhysicsSceneResult PhysicsScene::sRestoreFromBinaryState(StreamIn &inStream)
|
|
140
|
-
{
|
|
141
|
-
PhysicsSceneResult result;
|
|
142
|
-
|
|
143
|
-
// Create scene
|
|
144
|
-
Ref<PhysicsScene> scene = new PhysicsScene();
|
|
145
|
-
|
|
146
|
-
BodyCreationSettings::IDToShapeMap id_to_shape;
|
|
147
|
-
BodyCreationSettings::IDToMaterialMap id_to_material;
|
|
148
|
-
BodyCreationSettings::IDToGroupFilterMap id_to_group_filter;
|
|
149
|
-
SoftBodyCreationSettings::IDToSharedSettingsMap id_to_settings;
|
|
150
|
-
|
|
151
|
-
// Reserve some memory to avoid frequent reallocations
|
|
152
|
-
id_to_shape.reserve(1024);
|
|
153
|
-
id_to_material.reserve(128);
|
|
154
|
-
id_to_group_filter.reserve(128);
|
|
155
|
-
|
|
156
|
-
// Read bodies
|
|
157
|
-
uint32 len = 0;
|
|
158
|
-
inStream.Read(len);
|
|
159
|
-
scene->mBodies.resize(len);
|
|
160
|
-
for (BodyCreationSettings &b : scene->mBodies)
|
|
161
|
-
{
|
|
162
|
-
// Read creation settings
|
|
163
|
-
BodyCreationSettings::BCSResult bcs_result = BodyCreationSettings::sRestoreWithChildren(inStream, id_to_shape, id_to_material, id_to_group_filter);
|
|
164
|
-
if (bcs_result.HasError())
|
|
165
|
-
{
|
|
166
|
-
result.SetError(bcs_result.GetError());
|
|
167
|
-
return result;
|
|
168
|
-
}
|
|
169
|
-
b = bcs_result.Get();
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// Read constraints
|
|
173
|
-
len = 0;
|
|
174
|
-
inStream.Read(len);
|
|
175
|
-
scene->mConstraints.resize(len);
|
|
176
|
-
for (ConnectedConstraint &cc : scene->mConstraints)
|
|
177
|
-
{
|
|
178
|
-
ConstraintSettings::ConstraintResult c_result = ConstraintSettings::sRestoreFromBinaryState(inStream);
|
|
179
|
-
if (c_result.HasError())
|
|
180
|
-
{
|
|
181
|
-
result.SetError(c_result.GetError());
|
|
182
|
-
return result;
|
|
183
|
-
}
|
|
184
|
-
cc.mSettings = StaticCast<TwoBodyConstraintSettings>(c_result.Get());
|
|
185
|
-
inStream.Read(cc.mBody1);
|
|
186
|
-
inStream.Read(cc.mBody2);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// Read soft bodies
|
|
190
|
-
len = 0;
|
|
191
|
-
inStream.Read(len);
|
|
192
|
-
scene->mSoftBodies.resize(len);
|
|
193
|
-
for (SoftBodyCreationSettings &b : scene->mSoftBodies)
|
|
194
|
-
{
|
|
195
|
-
// Read creation settings
|
|
196
|
-
SoftBodyCreationSettings::SBCSResult sbcs_result = SoftBodyCreationSettings::sRestoreWithChildren(inStream, id_to_settings, id_to_material, id_to_group_filter);
|
|
197
|
-
if (sbcs_result.HasError())
|
|
198
|
-
{
|
|
199
|
-
result.SetError(sbcs_result.GetError());
|
|
200
|
-
return result;
|
|
201
|
-
}
|
|
202
|
-
b = sbcs_result.Get();
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
result.Set(scene);
|
|
206
|
-
return result;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
void PhysicsScene::FromPhysicsSystem(const PhysicsSystem *inSystem)
|
|
210
|
-
{
|
|
211
|
-
// This map will track where each body went in mBodies
|
|
212
|
-
using BodyIDToIdxMap = UnorderedMap<BodyID, uint32>;
|
|
213
|
-
BodyIDToIdxMap body_id_to_idx;
|
|
214
|
-
|
|
215
|
-
// Map invalid ID
|
|
216
|
-
body_id_to_idx[BodyID()] = cFixedToWorld;
|
|
217
|
-
|
|
218
|
-
// Get all bodies
|
|
219
|
-
BodyIDVector body_ids;
|
|
220
|
-
inSystem->GetBodies(body_ids);
|
|
221
|
-
|
|
222
|
-
// Loop over all bodies
|
|
223
|
-
const BodyLockInterface &bli = inSystem->GetBodyLockInterface();
|
|
224
|
-
for (const BodyID &id : body_ids)
|
|
225
|
-
{
|
|
226
|
-
BodyLockRead lock(bli, id);
|
|
227
|
-
if (lock.Succeeded())
|
|
228
|
-
{
|
|
229
|
-
// Store location of body
|
|
230
|
-
body_id_to_idx[id] = (uint32)mBodies.size();
|
|
231
|
-
|
|
232
|
-
const Body &body = lock.GetBody();
|
|
233
|
-
|
|
234
|
-
// Convert to body creation settings
|
|
235
|
-
if (body.IsRigidBody())
|
|
236
|
-
AddBody(body.GetBodyCreationSettings());
|
|
237
|
-
else
|
|
238
|
-
AddSoftBody(body.GetSoftBodyCreationSettings());
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
// Loop over all constraints
|
|
243
|
-
Constraints constraints = inSystem->GetConstraints();
|
|
244
|
-
for (const Constraint *c : constraints)
|
|
245
|
-
if (c->GetType() == EConstraintType::TwoBodyConstraint)
|
|
246
|
-
{
|
|
247
|
-
// Cast to two body constraint
|
|
248
|
-
const TwoBodyConstraint *tbc = static_cast<const TwoBodyConstraint *>(c);
|
|
249
|
-
|
|
250
|
-
// Find the body indices
|
|
251
|
-
BodyIDToIdxMap::const_iterator b1 = body_id_to_idx.find(tbc->GetBody1()->GetID());
|
|
252
|
-
BodyIDToIdxMap::const_iterator b2 = body_id_to_idx.find(tbc->GetBody2()->GetID());
|
|
253
|
-
JPH_ASSERT(b1 != body_id_to_idx.end() && b2 != body_id_to_idx.end());
|
|
254
|
-
|
|
255
|
-
// Create constraint settings and add the constraint
|
|
256
|
-
Ref<ConstraintSettings> settings = c->GetConstraintSettings();
|
|
257
|
-
AddConstraint(StaticCast<TwoBodyConstraintSettings>(settings), b1->second, b2->second);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
JPH_NAMESPACE_END
|