@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,54 +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/PathConstraintPath.h>
|
|
8
|
-
|
|
9
|
-
JPH_NAMESPACE_BEGIN
|
|
10
|
-
|
|
11
|
-
/// A path that follows a Hermite spline
|
|
12
|
-
class JPH_EXPORT PathConstraintPathHermite final : public PathConstraintPath
|
|
13
|
-
{
|
|
14
|
-
JPH_DECLARE_SERIALIZABLE_VIRTUAL(JPH_EXPORT, PathConstraintPathHermite)
|
|
15
|
-
|
|
16
|
-
public:
|
|
17
|
-
// See PathConstraintPath::GetPathMaxFraction
|
|
18
|
-
virtual float GetPathMaxFraction() const override { return float(IsLooping()? mPoints.size() : mPoints.size() - 1); }
|
|
19
|
-
|
|
20
|
-
// See PathConstraintPath::GetClosestPoint
|
|
21
|
-
virtual float GetClosestPoint(Vec3Arg inPosition, float inFractionHint) const override;
|
|
22
|
-
|
|
23
|
-
// See PathConstraintPath::GetPointOnPath
|
|
24
|
-
virtual void GetPointOnPath(float inFraction, Vec3 &outPathPosition, Vec3 &outPathTangent, Vec3 &outPathNormal, Vec3 &outPathBinormal) const override;
|
|
25
|
-
|
|
26
|
-
/// Adds a point to the path
|
|
27
|
-
void AddPoint(Vec3Arg inPosition, Vec3Arg inTangent, Vec3Arg inNormal) { mPoints.push_back({ inPosition, inTangent, inNormal}); }
|
|
28
|
-
|
|
29
|
-
// See: PathConstraintPath::SaveBinaryState
|
|
30
|
-
virtual void SaveBinaryState(StreamOut &inStream) const override;
|
|
31
|
-
|
|
32
|
-
struct Point
|
|
33
|
-
{
|
|
34
|
-
JPH_DECLARE_SERIALIZABLE_NON_VIRTUAL(JPH_EXPORT, Point)
|
|
35
|
-
|
|
36
|
-
Vec3 mPosition; ///< Position on the path
|
|
37
|
-
Vec3 mTangent; ///< Tangent of the path, does not need to be normalized (in the direction of the path)
|
|
38
|
-
Vec3 mNormal; ///< Normal of the path (together with the tangent along the curve this forms a basis for the constraint)
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
protected:
|
|
42
|
-
// See: PathConstraintPath::RestoreBinaryState
|
|
43
|
-
virtual void RestoreBinaryState(StreamIn &inStream) override;
|
|
44
|
-
|
|
45
|
-
private:
|
|
46
|
-
/// Helper function that returns the index of the path segment and the fraction t on the path segment based on the full path fraction
|
|
47
|
-
inline void GetIndexAndT(float inFraction, int &outIndex, float &outT) const;
|
|
48
|
-
|
|
49
|
-
using Points = Array<Point>;
|
|
50
|
-
|
|
51
|
-
Points mPoints; ///< Points on the Hermite spline
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
JPH_NAMESPACE_END
|
|
@@ -1,157 +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/PointConstraint.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
|
-
JPH_IMPLEMENT_SERIALIZABLE_VIRTUAL(PointConstraintSettings)
|
|
19
|
-
{
|
|
20
|
-
JPH_ADD_BASE_CLASS(PointConstraintSettings, TwoBodyConstraintSettings)
|
|
21
|
-
|
|
22
|
-
JPH_ADD_ENUM_ATTRIBUTE(PointConstraintSettings, mSpace)
|
|
23
|
-
JPH_ADD_ATTRIBUTE(PointConstraintSettings, mPoint1)
|
|
24
|
-
JPH_ADD_ATTRIBUTE(PointConstraintSettings, mPoint2)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
void PointConstraintSettings::SaveBinaryState(StreamOut &inStream) const
|
|
28
|
-
{
|
|
29
|
-
ConstraintSettings::SaveBinaryState(inStream);
|
|
30
|
-
|
|
31
|
-
inStream.Write(mSpace);
|
|
32
|
-
inStream.Write(mPoint1);
|
|
33
|
-
inStream.Write(mPoint2);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
void PointConstraintSettings::RestoreBinaryState(StreamIn &inStream)
|
|
37
|
-
{
|
|
38
|
-
ConstraintSettings::RestoreBinaryState(inStream);
|
|
39
|
-
|
|
40
|
-
inStream.Read(mSpace);
|
|
41
|
-
inStream.Read(mPoint1);
|
|
42
|
-
inStream.Read(mPoint2);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
TwoBodyConstraint *PointConstraintSettings::Create(Body &inBody1, Body &inBody2) const
|
|
46
|
-
{
|
|
47
|
-
return new PointConstraint(inBody1, inBody2, *this);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
PointConstraint::PointConstraint(Body &inBody1, Body &inBody2, const PointConstraintSettings &inSettings) :
|
|
51
|
-
TwoBodyConstraint(inBody1, inBody2, inSettings)
|
|
52
|
-
{
|
|
53
|
-
if (inSettings.mSpace == EConstraintSpace::WorldSpace)
|
|
54
|
-
{
|
|
55
|
-
// If all properties were specified in world space, take them to local space now
|
|
56
|
-
mLocalSpacePosition1 = Vec3(inBody1.GetInverseCenterOfMassTransform() * inSettings.mPoint1);
|
|
57
|
-
mLocalSpacePosition2 = Vec3(inBody2.GetInverseCenterOfMassTransform() * inSettings.mPoint2);
|
|
58
|
-
}
|
|
59
|
-
else
|
|
60
|
-
{
|
|
61
|
-
mLocalSpacePosition1 = Vec3(inSettings.mPoint1);
|
|
62
|
-
mLocalSpacePosition2 = Vec3(inSettings.mPoint2);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
void PointConstraint::NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM)
|
|
67
|
-
{
|
|
68
|
-
if (mBody1->GetID() == inBodyID)
|
|
69
|
-
mLocalSpacePosition1 -= inDeltaCOM;
|
|
70
|
-
else if (mBody2->GetID() == inBodyID)
|
|
71
|
-
mLocalSpacePosition2 -= inDeltaCOM;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
void PointConstraint::SetPoint1(EConstraintSpace inSpace, RVec3Arg inPoint1)
|
|
75
|
-
{
|
|
76
|
-
if (inSpace == EConstraintSpace::WorldSpace)
|
|
77
|
-
mLocalSpacePosition1 = Vec3(mBody1->GetInverseCenterOfMassTransform() * inPoint1);
|
|
78
|
-
else
|
|
79
|
-
mLocalSpacePosition1 = Vec3(inPoint1);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
void PointConstraint::SetPoint2(EConstraintSpace inSpace, RVec3Arg inPoint2)
|
|
83
|
-
{
|
|
84
|
-
if (inSpace == EConstraintSpace::WorldSpace)
|
|
85
|
-
mLocalSpacePosition2 = Vec3(mBody2->GetInverseCenterOfMassTransform() * inPoint2);
|
|
86
|
-
else
|
|
87
|
-
mLocalSpacePosition2 = Vec3(inPoint2);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
void PointConstraint::CalculateConstraintProperties()
|
|
91
|
-
{
|
|
92
|
-
mPointConstraintPart.CalculateConstraintProperties(*mBody1, Mat44::sRotation(mBody1->GetRotation()), mLocalSpacePosition1, *mBody2, Mat44::sRotation(mBody2->GetRotation()), mLocalSpacePosition2);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
void PointConstraint::SetupVelocityConstraint(float inDeltaTime)
|
|
96
|
-
{
|
|
97
|
-
CalculateConstraintProperties();
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
void PointConstraint::ResetWarmStart()
|
|
101
|
-
{
|
|
102
|
-
mPointConstraintPart.Deactivate();
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
void PointConstraint::WarmStartVelocityConstraint(float inWarmStartImpulseRatio)
|
|
106
|
-
{
|
|
107
|
-
// Warm starting: Apply previous frame impulse
|
|
108
|
-
mPointConstraintPart.WarmStart(*mBody1, *mBody2, inWarmStartImpulseRatio);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
bool PointConstraint::SolveVelocityConstraint(float inDeltaTime)
|
|
112
|
-
{
|
|
113
|
-
return mPointConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
bool PointConstraint::SolvePositionConstraint(float inDeltaTime, float inBaumgarte)
|
|
117
|
-
{
|
|
118
|
-
// Update constraint properties (bodies may have moved)
|
|
119
|
-
CalculateConstraintProperties();
|
|
120
|
-
|
|
121
|
-
return mPointConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, inBaumgarte);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
125
|
-
void PointConstraint::DrawConstraint(DebugRenderer *inRenderer) const
|
|
126
|
-
{
|
|
127
|
-
// Draw constraint
|
|
128
|
-
inRenderer->DrawMarker(mBody1->GetCenterOfMassTransform() * mLocalSpacePosition1, Color::sRed, 0.1f);
|
|
129
|
-
inRenderer->DrawMarker(mBody2->GetCenterOfMassTransform() * mLocalSpacePosition2, Color::sGreen, 0.1f);
|
|
130
|
-
}
|
|
131
|
-
#endif // JPH_DEBUG_RENDERER
|
|
132
|
-
|
|
133
|
-
void PointConstraint::SaveState(StateRecorder &inStream) const
|
|
134
|
-
{
|
|
135
|
-
TwoBodyConstraint::SaveState(inStream);
|
|
136
|
-
|
|
137
|
-
mPointConstraintPart.SaveState(inStream);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
void PointConstraint::RestoreState(StateRecorder &inStream)
|
|
141
|
-
{
|
|
142
|
-
TwoBodyConstraint::RestoreState(inStream);
|
|
143
|
-
|
|
144
|
-
mPointConstraintPart.RestoreState(inStream);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
Ref<ConstraintSettings> PointConstraint::GetConstraintSettings() const
|
|
148
|
-
{
|
|
149
|
-
PointConstraintSettings *settings = new PointConstraintSettings;
|
|
150
|
-
ToConstraintSettings(*settings);
|
|
151
|
-
settings->mSpace = EConstraintSpace::LocalToBodyCOM;
|
|
152
|
-
settings->mPoint1 = RVec3(mLocalSpacePosition1);
|
|
153
|
-
settings->mPoint2 = RVec3(mLocalSpacePosition2);
|
|
154
|
-
return settings;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
JPH_NAMESPACE_END
|
|
@@ -1,94 +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/PointConstraintPart.h>
|
|
9
|
-
|
|
10
|
-
JPH_NAMESPACE_BEGIN
|
|
11
|
-
|
|
12
|
-
/// Point constraint settings, used to create a point constraint
|
|
13
|
-
class JPH_EXPORT PointConstraintSettings final : public TwoBodyConstraintSettings
|
|
14
|
-
{
|
|
15
|
-
JPH_DECLARE_SERIALIZABLE_VIRTUAL(JPH_EXPORT, PointConstraintSettings)
|
|
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 position (space determined by mSpace).
|
|
28
|
-
RVec3 mPoint1 = RVec3::sZero();
|
|
29
|
-
|
|
30
|
-
/// Body 2 constraint position (space determined by mSpace).
|
|
31
|
-
/// Note: Normally you would set mPoint1 = mPoint2 if the bodies are already placed how you want to constrain them (if mSpace = world space).
|
|
32
|
-
RVec3 mPoint2 = RVec3::sZero();
|
|
33
|
-
|
|
34
|
-
protected:
|
|
35
|
-
// See: ConstraintSettings::RestoreBinaryState
|
|
36
|
-
virtual void RestoreBinaryState(StreamIn &inStream) override;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
/// A point constraint constrains 2 bodies on a single point (removing 3 degrees of freedom)
|
|
40
|
-
class JPH_EXPORT PointConstraint final : public TwoBodyConstraint
|
|
41
|
-
{
|
|
42
|
-
public:
|
|
43
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
44
|
-
|
|
45
|
-
/// Construct point constraint
|
|
46
|
-
PointConstraint(Body &inBody1, Body &inBody2, const PointConstraintSettings &inSettings);
|
|
47
|
-
|
|
48
|
-
// Generic interface of a constraint
|
|
49
|
-
virtual EConstraintSubType GetSubType() const override { return EConstraintSubType::Point; }
|
|
50
|
-
virtual void NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM) override;
|
|
51
|
-
virtual void SetupVelocityConstraint(float inDeltaTime) override;
|
|
52
|
-
virtual void ResetWarmStart() override;
|
|
53
|
-
virtual void WarmStartVelocityConstraint(float inWarmStartImpulseRatio) override;
|
|
54
|
-
virtual bool SolveVelocityConstraint(float inDeltaTime) override;
|
|
55
|
-
virtual bool SolvePositionConstraint(float inDeltaTime, float inBaumgarte) override;
|
|
56
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
57
|
-
virtual void DrawConstraint(DebugRenderer *inRenderer) const override;
|
|
58
|
-
#endif // JPH_DEBUG_RENDERER
|
|
59
|
-
virtual void SaveState(StateRecorder &inStream) const override;
|
|
60
|
-
virtual void RestoreState(StateRecorder &inStream) override;
|
|
61
|
-
virtual Ref<ConstraintSettings> GetConstraintSettings() const override;
|
|
62
|
-
|
|
63
|
-
/// Update the attachment point for body 1
|
|
64
|
-
void SetPoint1(EConstraintSpace inSpace, RVec3Arg inPoint1);
|
|
65
|
-
|
|
66
|
-
/// Update the attachment point for body 2
|
|
67
|
-
void SetPoint2(EConstraintSpace inSpace, RVec3Arg inPoint2);
|
|
68
|
-
|
|
69
|
-
/// Get the attachment point for body 1 relative to body 1 COM (transform by Body::GetCenterOfMassTransform to take to world space)
|
|
70
|
-
inline Vec3 GetLocalSpacePoint1() const { return mLocalSpacePosition1; }
|
|
71
|
-
|
|
72
|
-
/// Get the attachment point for body 2 relative to body 2 COM (transform by Body::GetCenterOfMassTransform to take to world space)
|
|
73
|
-
inline Vec3 GetLocalSpacePoint2() const { return mLocalSpacePosition2; }
|
|
74
|
-
|
|
75
|
-
// See: TwoBodyConstraint
|
|
76
|
-
virtual Mat44 GetConstraintToBody1Matrix() const override { return Mat44::sTranslation(mLocalSpacePosition1); }
|
|
77
|
-
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.
|
|
78
|
-
|
|
79
|
-
///@name Get Lagrange multiplier from last physics update (the linear impulse applied to satisfy the constraint)
|
|
80
|
-
inline Vec3 GetTotalLambdaPosition() const { return mPointConstraintPart.GetTotalLambda(); }
|
|
81
|
-
|
|
82
|
-
private:
|
|
83
|
-
// Internal helper function to calculate the values below
|
|
84
|
-
void CalculateConstraintProperties();
|
|
85
|
-
|
|
86
|
-
// Local space constraint positions
|
|
87
|
-
Vec3 mLocalSpacePosition1;
|
|
88
|
-
Vec3 mLocalSpacePosition2;
|
|
89
|
-
|
|
90
|
-
// The constraint part
|
|
91
|
-
PointConstraintPart mPointConstraintPart;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
JPH_NAMESPACE_END
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2022 Jorrit Rouwe
|
|
3
|
-
// SPDX-License-Identifier: MIT
|
|
4
|
-
|
|
5
|
-
#include <Jolt/Jolt.h>
|
|
6
|
-
|
|
7
|
-
#include <Jolt/Physics/Constraints/PulleyConstraint.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(PulleyConstraintSettings)
|
|
21
|
-
{
|
|
22
|
-
JPH_ADD_BASE_CLASS(PulleyConstraintSettings, TwoBodyConstraintSettings)
|
|
23
|
-
|
|
24
|
-
JPH_ADD_ENUM_ATTRIBUTE(PulleyConstraintSettings, mSpace)
|
|
25
|
-
JPH_ADD_ATTRIBUTE(PulleyConstraintSettings, mBodyPoint1)
|
|
26
|
-
JPH_ADD_ATTRIBUTE(PulleyConstraintSettings, mFixedPoint1)
|
|
27
|
-
JPH_ADD_ATTRIBUTE(PulleyConstraintSettings, mBodyPoint2)
|
|
28
|
-
JPH_ADD_ATTRIBUTE(PulleyConstraintSettings, mFixedPoint2)
|
|
29
|
-
JPH_ADD_ATTRIBUTE(PulleyConstraintSettings, mRatio)
|
|
30
|
-
JPH_ADD_ATTRIBUTE(PulleyConstraintSettings, mMinLength)
|
|
31
|
-
JPH_ADD_ATTRIBUTE(PulleyConstraintSettings, mMaxLength)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
void PulleyConstraintSettings::SaveBinaryState(StreamOut &inStream) const
|
|
35
|
-
{
|
|
36
|
-
ConstraintSettings::SaveBinaryState(inStream);
|
|
37
|
-
|
|
38
|
-
inStream.Write(mSpace);
|
|
39
|
-
inStream.Write(mBodyPoint1);
|
|
40
|
-
inStream.Write(mFixedPoint1);
|
|
41
|
-
inStream.Write(mBodyPoint2);
|
|
42
|
-
inStream.Write(mFixedPoint2);
|
|
43
|
-
inStream.Write(mRatio);
|
|
44
|
-
inStream.Write(mMinLength);
|
|
45
|
-
inStream.Write(mMaxLength);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
void PulleyConstraintSettings::RestoreBinaryState(StreamIn &inStream)
|
|
49
|
-
{
|
|
50
|
-
ConstraintSettings::RestoreBinaryState(inStream);
|
|
51
|
-
|
|
52
|
-
inStream.Read(mSpace);
|
|
53
|
-
inStream.Read(mBodyPoint1);
|
|
54
|
-
inStream.Read(mFixedPoint1);
|
|
55
|
-
inStream.Read(mBodyPoint2);
|
|
56
|
-
inStream.Read(mFixedPoint2);
|
|
57
|
-
inStream.Read(mRatio);
|
|
58
|
-
inStream.Read(mMinLength);
|
|
59
|
-
inStream.Read(mMaxLength);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
TwoBodyConstraint *PulleyConstraintSettings::Create(Body &inBody1, Body &inBody2) const
|
|
63
|
-
{
|
|
64
|
-
return new PulleyConstraint(inBody1, inBody2, *this);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
PulleyConstraint::PulleyConstraint(Body &inBody1, Body &inBody2, const PulleyConstraintSettings &inSettings) :
|
|
68
|
-
TwoBodyConstraint(inBody1, inBody2, inSettings),
|
|
69
|
-
mFixedPosition1(inSettings.mFixedPoint1),
|
|
70
|
-
mFixedPosition2(inSettings.mFixedPoint2),
|
|
71
|
-
mRatio(inSettings.mRatio),
|
|
72
|
-
mMinLength(inSettings.mMinLength),
|
|
73
|
-
mMaxLength(inSettings.mMaxLength)
|
|
74
|
-
{
|
|
75
|
-
if (inSettings.mSpace == EConstraintSpace::WorldSpace)
|
|
76
|
-
{
|
|
77
|
-
// If all properties were specified in world space, take them to local space now
|
|
78
|
-
mLocalSpacePosition1 = Vec3(inBody1.GetInverseCenterOfMassTransform() * inSettings.mBodyPoint1);
|
|
79
|
-
mLocalSpacePosition2 = Vec3(inBody2.GetInverseCenterOfMassTransform() * inSettings.mBodyPoint2);
|
|
80
|
-
mWorldSpacePosition1 = inSettings.mBodyPoint1;
|
|
81
|
-
mWorldSpacePosition2 = inSettings.mBodyPoint2;
|
|
82
|
-
}
|
|
83
|
-
else
|
|
84
|
-
{
|
|
85
|
-
// If properties were specified in local space, we need to calculate world space positions
|
|
86
|
-
mLocalSpacePosition1 = Vec3(inSettings.mBodyPoint1);
|
|
87
|
-
mLocalSpacePosition2 = Vec3(inSettings.mBodyPoint2);
|
|
88
|
-
mWorldSpacePosition1 = inBody1.GetCenterOfMassTransform() * inSettings.mBodyPoint1;
|
|
89
|
-
mWorldSpacePosition2 = inBody2.GetCenterOfMassTransform() * inSettings.mBodyPoint2;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// Calculate min/max length if it was not provided
|
|
93
|
-
float current_length = GetCurrentLength();
|
|
94
|
-
if (mMinLength < 0.0f)
|
|
95
|
-
mMinLength = current_length;
|
|
96
|
-
if (mMaxLength < 0.0f)
|
|
97
|
-
mMaxLength = current_length;
|
|
98
|
-
|
|
99
|
-
// Initialize the normals to a likely valid axis in case the fixed points overlap with the attachment points (most likely the fixed points are above both bodies)
|
|
100
|
-
mWorldSpaceNormal1 = mWorldSpaceNormal2 = -Vec3::sAxisY();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
void PulleyConstraint::NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM)
|
|
104
|
-
{
|
|
105
|
-
if (mBody1->GetID() == inBodyID)
|
|
106
|
-
mLocalSpacePosition1 -= inDeltaCOM;
|
|
107
|
-
else if (mBody2->GetID() == inBodyID)
|
|
108
|
-
mLocalSpacePosition2 -= inDeltaCOM;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
float PulleyConstraint::CalculatePositionsNormalsAndLength()
|
|
112
|
-
{
|
|
113
|
-
// Update world space positions (the bodies may have moved)
|
|
114
|
-
mWorldSpacePosition1 = mBody1->GetCenterOfMassTransform() * mLocalSpacePosition1;
|
|
115
|
-
mWorldSpacePosition2 = mBody2->GetCenterOfMassTransform() * mLocalSpacePosition2;
|
|
116
|
-
|
|
117
|
-
// Calculate world space normals
|
|
118
|
-
Vec3 delta1 = Vec3(mWorldSpacePosition1 - mFixedPosition1);
|
|
119
|
-
float delta1_len = delta1.Length();
|
|
120
|
-
if (delta1_len > 0.0f)
|
|
121
|
-
mWorldSpaceNormal1 = delta1 / delta1_len;
|
|
122
|
-
|
|
123
|
-
Vec3 delta2 = Vec3(mWorldSpacePosition2 - mFixedPosition2);
|
|
124
|
-
float delta2_len = delta2.Length();
|
|
125
|
-
if (delta2_len > 0.0f)
|
|
126
|
-
mWorldSpaceNormal2 = delta2 / delta2_len;
|
|
127
|
-
|
|
128
|
-
// Calculate length
|
|
129
|
-
return delta1_len + mRatio * delta2_len;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
void PulleyConstraint::CalculateConstraintProperties()
|
|
133
|
-
{
|
|
134
|
-
// Calculate attachment points relative to COM
|
|
135
|
-
Vec3 r1 = Vec3(mWorldSpacePosition1 - mBody1->GetCenterOfMassPosition());
|
|
136
|
-
Vec3 r2 = Vec3(mWorldSpacePosition2 - mBody2->GetCenterOfMassPosition());
|
|
137
|
-
|
|
138
|
-
mIndependentAxisConstraintPart.CalculateConstraintProperties(*mBody1, *mBody2, r1, mWorldSpaceNormal1, r2, mWorldSpaceNormal2, mRatio);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
void PulleyConstraint::SetupVelocityConstraint(float inDeltaTime)
|
|
142
|
-
{
|
|
143
|
-
// Determine if the constraint is active
|
|
144
|
-
float current_length = CalculatePositionsNormalsAndLength();
|
|
145
|
-
bool min_length_violation = current_length <= mMinLength;
|
|
146
|
-
bool max_length_violation = current_length >= mMaxLength;
|
|
147
|
-
if (min_length_violation || max_length_violation)
|
|
148
|
-
{
|
|
149
|
-
// Determine max lambda based on if the length is too big or small
|
|
150
|
-
mMinLambda = max_length_violation? -FLT_MAX : 0.0f;
|
|
151
|
-
mMaxLambda = min_length_violation? FLT_MAX : 0.0f;
|
|
152
|
-
|
|
153
|
-
CalculateConstraintProperties();
|
|
154
|
-
}
|
|
155
|
-
else
|
|
156
|
-
mIndependentAxisConstraintPart.Deactivate();
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
void PulleyConstraint::ResetWarmStart()
|
|
160
|
-
{
|
|
161
|
-
mIndependentAxisConstraintPart.Deactivate();
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
void PulleyConstraint::WarmStartVelocityConstraint(float inWarmStartImpulseRatio)
|
|
165
|
-
{
|
|
166
|
-
mIndependentAxisConstraintPart.WarmStart(*mBody1, *mBody2, mWorldSpaceNormal1, mWorldSpaceNormal2, mRatio, inWarmStartImpulseRatio);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
bool PulleyConstraint::SolveVelocityConstraint(float inDeltaTime)
|
|
170
|
-
{
|
|
171
|
-
if (mIndependentAxisConstraintPart.IsActive())
|
|
172
|
-
return mIndependentAxisConstraintPart.SolveVelocityConstraint(*mBody1, *mBody2, mWorldSpaceNormal1, mWorldSpaceNormal2, mRatio, mMinLambda, mMaxLambda);
|
|
173
|
-
else
|
|
174
|
-
return false;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
bool PulleyConstraint::SolvePositionConstraint(float inDeltaTime, float inBaumgarte)
|
|
178
|
-
{
|
|
179
|
-
// Calculate new length (bodies may have changed)
|
|
180
|
-
float current_length = CalculatePositionsNormalsAndLength();
|
|
181
|
-
|
|
182
|
-
float position_error = 0.0f;
|
|
183
|
-
if (current_length < mMinLength)
|
|
184
|
-
position_error = current_length - mMinLength;
|
|
185
|
-
else if (current_length > mMaxLength)
|
|
186
|
-
position_error = current_length - mMaxLength;
|
|
187
|
-
|
|
188
|
-
if (position_error != 0.0f)
|
|
189
|
-
{
|
|
190
|
-
// Update constraint properties (bodies may have moved)
|
|
191
|
-
CalculateConstraintProperties();
|
|
192
|
-
|
|
193
|
-
return mIndependentAxisConstraintPart.SolvePositionConstraint(*mBody1, *mBody2, mWorldSpaceNormal1, mWorldSpaceNormal2, mRatio, position_error, inBaumgarte);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
return false;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
200
|
-
void PulleyConstraint::DrawConstraint(DebugRenderer *inRenderer) const
|
|
201
|
-
{
|
|
202
|
-
// Color according to length vs min/max length
|
|
203
|
-
float current_length = GetCurrentLength();
|
|
204
|
-
Color color = Color::sGreen;
|
|
205
|
-
if (current_length < mMinLength)
|
|
206
|
-
color = Color::sYellow;
|
|
207
|
-
else if (current_length > mMaxLength)
|
|
208
|
-
color = Color::sRed;
|
|
209
|
-
|
|
210
|
-
// Draw constraint
|
|
211
|
-
inRenderer->DrawLine(mWorldSpacePosition1, mFixedPosition1, color);
|
|
212
|
-
inRenderer->DrawLine(mFixedPosition1, mFixedPosition2, color);
|
|
213
|
-
inRenderer->DrawLine(mFixedPosition2, mWorldSpacePosition2, color);
|
|
214
|
-
|
|
215
|
-
// Draw current length
|
|
216
|
-
inRenderer->DrawText3D(0.5_r * (mFixedPosition1 + mFixedPosition2), StringFormat("%.2f", (double)current_length));
|
|
217
|
-
}
|
|
218
|
-
#endif // JPH_DEBUG_RENDERER
|
|
219
|
-
|
|
220
|
-
void PulleyConstraint::SaveState(StateRecorder &inStream) const
|
|
221
|
-
{
|
|
222
|
-
TwoBodyConstraint::SaveState(inStream);
|
|
223
|
-
|
|
224
|
-
mIndependentAxisConstraintPart.SaveState(inStream);
|
|
225
|
-
inStream.Write(mWorldSpaceNormal1); // When distance to fixed point = 0, the normal is used from last frame so we need to store it
|
|
226
|
-
inStream.Write(mWorldSpaceNormal2);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
void PulleyConstraint::RestoreState(StateRecorder &inStream)
|
|
230
|
-
{
|
|
231
|
-
TwoBodyConstraint::RestoreState(inStream);
|
|
232
|
-
|
|
233
|
-
mIndependentAxisConstraintPart.RestoreState(inStream);
|
|
234
|
-
inStream.Read(mWorldSpaceNormal1);
|
|
235
|
-
inStream.Read(mWorldSpaceNormal2);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
Ref<ConstraintSettings> PulleyConstraint::GetConstraintSettings() const
|
|
239
|
-
{
|
|
240
|
-
PulleyConstraintSettings *settings = new PulleyConstraintSettings;
|
|
241
|
-
ToConstraintSettings(*settings);
|
|
242
|
-
settings->mSpace = EConstraintSpace::LocalToBodyCOM;
|
|
243
|
-
settings->mBodyPoint1 = RVec3(mLocalSpacePosition1);
|
|
244
|
-
settings->mFixedPoint1 = mFixedPosition1;
|
|
245
|
-
settings->mBodyPoint2 = RVec3(mLocalSpacePosition2);
|
|
246
|
-
settings->mFixedPoint2 = mFixedPosition2;
|
|
247
|
-
settings->mRatio = mRatio;
|
|
248
|
-
settings->mMinLength = mMinLength;
|
|
249
|
-
settings->mMaxLength = mMaxLength;
|
|
250
|
-
return settings;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
JPH_NAMESPACE_END
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
2
|
-
// SPDX-FileCopyrightText: 2022 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/IndependentAxisConstraintPart.h>
|
|
9
|
-
|
|
10
|
-
JPH_NAMESPACE_BEGIN
|
|
11
|
-
|
|
12
|
-
/// Pulley constraint settings, used to create a pulley constraint.
|
|
13
|
-
/// A pulley connects two bodies via two fixed world points to each other similar to a distance constraint.
|
|
14
|
-
/// We define Length1 = |BodyPoint1 - FixedPoint1| where Body1 is a point on body 1 in world space and FixedPoint1 a fixed point in world space
|
|
15
|
-
/// Length2 = |BodyPoint2 - FixedPoint2|
|
|
16
|
-
/// The constraint keeps the two line segments constrained so that
|
|
17
|
-
/// MinDistance <= Length1 + Ratio * Length2 <= MaxDistance
|
|
18
|
-
class JPH_EXPORT PulleyConstraintSettings final : public TwoBodyConstraintSettings
|
|
19
|
-
{
|
|
20
|
-
JPH_DECLARE_SERIALIZABLE_VIRTUAL(JPH_EXPORT, PulleyConstraintSettings)
|
|
21
|
-
|
|
22
|
-
public:
|
|
23
|
-
// See: ConstraintSettings::SaveBinaryState
|
|
24
|
-
virtual void SaveBinaryState(StreamOut &inStream) const override;
|
|
25
|
-
|
|
26
|
-
/// Create an instance of this constraint
|
|
27
|
-
virtual TwoBodyConstraint * Create(Body &inBody1, Body &inBody2) const override;
|
|
28
|
-
|
|
29
|
-
/// This determines in which space the constraint is setup, specified properties below should be in the specified space
|
|
30
|
-
EConstraintSpace mSpace = EConstraintSpace::WorldSpace;
|
|
31
|
-
|
|
32
|
-
/// Body 1 constraint attachment point (space determined by mSpace).
|
|
33
|
-
RVec3 mBodyPoint1 = RVec3::sZero();
|
|
34
|
-
|
|
35
|
-
/// Fixed world point to which body 1 is connected (always world space)
|
|
36
|
-
RVec3 mFixedPoint1 = RVec3::sZero();
|
|
37
|
-
|
|
38
|
-
/// Body 2 constraint attachment point (space determined by mSpace)
|
|
39
|
-
RVec3 mBodyPoint2 = RVec3::sZero();
|
|
40
|
-
|
|
41
|
-
/// Fixed world point to which body 2 is connected (always world space)
|
|
42
|
-
RVec3 mFixedPoint2 = RVec3::sZero();
|
|
43
|
-
|
|
44
|
-
/// Ratio between the two line segments (see formula above), can be used to create a block and tackle
|
|
45
|
-
float mRatio = 1.0f;
|
|
46
|
-
|
|
47
|
-
/// The minimum length of the line segments (see formula above), use -1 to calculate the length based on the positions of the objects when the constraint is created.
|
|
48
|
-
float mMinLength = 0.0f;
|
|
49
|
-
|
|
50
|
-
/// The maximum length of the line segments (see formula above), use -1 to calculate the length based on the positions of the objects when the constraint is created.
|
|
51
|
-
float mMaxLength = -1.0f;
|
|
52
|
-
|
|
53
|
-
protected:
|
|
54
|
-
// See: ConstraintSettings::RestoreBinaryState
|
|
55
|
-
virtual void RestoreBinaryState(StreamIn &inStream) override;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/// A pulley constraint.
|
|
59
|
-
class JPH_EXPORT PulleyConstraint final : public TwoBodyConstraint
|
|
60
|
-
{
|
|
61
|
-
public:
|
|
62
|
-
JPH_OVERRIDE_NEW_DELETE
|
|
63
|
-
|
|
64
|
-
/// Construct pulley constraint
|
|
65
|
-
PulleyConstraint(Body &inBody1, Body &inBody2, const PulleyConstraintSettings &inSettings);
|
|
66
|
-
|
|
67
|
-
// Generic interface of a constraint
|
|
68
|
-
virtual EConstraintSubType GetSubType() const override { return EConstraintSubType::Pulley; }
|
|
69
|
-
virtual void NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM) override;
|
|
70
|
-
virtual void SetupVelocityConstraint(float inDeltaTime) override;
|
|
71
|
-
virtual void ResetWarmStart() override;
|
|
72
|
-
virtual void WarmStartVelocityConstraint(float inWarmStartImpulseRatio) override;
|
|
73
|
-
virtual bool SolveVelocityConstraint(float inDeltaTime) override;
|
|
74
|
-
virtual bool SolvePositionConstraint(float inDeltaTime, float inBaumgarte) override;
|
|
75
|
-
#ifdef JPH_DEBUG_RENDERER
|
|
76
|
-
virtual void DrawConstraint(DebugRenderer *inRenderer) const override;
|
|
77
|
-
#endif // JPH_DEBUG_RENDERER
|
|
78
|
-
virtual void SaveState(StateRecorder &inStream) const override;
|
|
79
|
-
virtual void RestoreState(StateRecorder &inStream) override;
|
|
80
|
-
virtual Ref<ConstraintSettings> GetConstraintSettings() const override;
|
|
81
|
-
|
|
82
|
-
// See: TwoBodyConstraint
|
|
83
|
-
virtual Mat44 GetConstraintToBody1Matrix() const override { return Mat44::sTranslation(mLocalSpacePosition1); }
|
|
84
|
-
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.
|
|
85
|
-
|
|
86
|
-
/// Update the minimum and maximum length for the constraint
|
|
87
|
-
void SetLength(float inMinLength, float inMaxLength) { JPH_ASSERT(inMinLength >= 0.0f && inMinLength <= inMaxLength); mMinLength = inMinLength; mMaxLength = inMaxLength; }
|
|
88
|
-
float GetMinLength() const { return mMinLength; }
|
|
89
|
-
float GetMaxLength() const { return mMaxLength; }
|
|
90
|
-
|
|
91
|
-
/// Get the current length of both segments (multiplied by the ratio for segment 2)
|
|
92
|
-
float GetCurrentLength() const { return Vec3(mWorldSpacePosition1 - mFixedPosition1).Length() + mRatio * Vec3(mWorldSpacePosition2 - mFixedPosition2).Length(); }
|
|
93
|
-
|
|
94
|
-
///@name Get Lagrange multiplier from last physics update (the linear impulse applied to satisfy the constraint)
|
|
95
|
-
inline float GetTotalLambdaPosition() const { return mIndependentAxisConstraintPart.GetTotalLambda(); }
|
|
96
|
-
|
|
97
|
-
private:
|
|
98
|
-
// Calculates world positions and normals and returns current length
|
|
99
|
-
float CalculatePositionsNormalsAndLength();
|
|
100
|
-
|
|
101
|
-
// Internal helper function to calculate the values below
|
|
102
|
-
void CalculateConstraintProperties();
|
|
103
|
-
|
|
104
|
-
// CONFIGURATION PROPERTIES FOLLOW
|
|
105
|
-
|
|
106
|
-
// Local space constraint positions on the bodies
|
|
107
|
-
Vec3 mLocalSpacePosition1;
|
|
108
|
-
Vec3 mLocalSpacePosition2;
|
|
109
|
-
|
|
110
|
-
// World space fixed positions
|
|
111
|
-
RVec3 mFixedPosition1;
|
|
112
|
-
RVec3 mFixedPosition2;
|
|
113
|
-
|
|
114
|
-
/// Ratio between the two line segments
|
|
115
|
-
float mRatio;
|
|
116
|
-
|
|
117
|
-
// The minimum/maximum length of the line segments
|
|
118
|
-
float mMinLength;
|
|
119
|
-
float mMaxLength;
|
|
120
|
-
|
|
121
|
-
// RUN TIME PROPERTIES FOLLOW
|
|
122
|
-
|
|
123
|
-
// World space positions and normal
|
|
124
|
-
RVec3 mWorldSpacePosition1;
|
|
125
|
-
RVec3 mWorldSpacePosition2;
|
|
126
|
-
Vec3 mWorldSpaceNormal1;
|
|
127
|
-
Vec3 mWorldSpaceNormal2;
|
|
128
|
-
|
|
129
|
-
// Depending on if the length < min or length > max we can apply forces to prevent further violations
|
|
130
|
-
float mMinLambda;
|
|
131
|
-
float mMaxLambda;
|
|
132
|
-
|
|
133
|
-
// The constraint part
|
|
134
|
-
IndependentAxisConstraintPart mIndependentAxisConstraintPart;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
JPH_NAMESPACE_END
|