@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.
Files changed (527) hide show
  1. package/native/tvos/metal-patched/Cargo.toml +178 -0
  2. package/native/tvos/metal-patched/LICENSE-APACHE +201 -0
  3. package/native/tvos/metal-patched/LICENSE-MIT +25 -0
  4. package/native/tvos/metal-patched/src/acceleration_structure.rs +667 -0
  5. package/native/tvos/metal-patched/src/acceleration_structure_pass.rs +108 -0
  6. package/native/tvos/metal-patched/src/argument.rs +366 -0
  7. package/native/tvos/metal-patched/src/blitpass.rs +102 -0
  8. package/native/tvos/metal-patched/src/buffer.rs +71 -0
  9. package/native/tvos/metal-patched/src/capturedescriptor.rs +76 -0
  10. package/native/tvos/metal-patched/src/capturemanager.rs +113 -0
  11. package/native/tvos/metal-patched/src/commandbuffer.rs +192 -0
  12. package/native/tvos/metal-patched/src/commandqueue.rs +44 -0
  13. package/native/tvos/metal-patched/src/computepass.rs +107 -0
  14. package/native/tvos/metal-patched/src/constants.rs +152 -0
  15. package/native/tvos/metal-patched/src/counters.rs +119 -0
  16. package/native/tvos/metal-patched/src/depthstencil.rs +190 -0
  17. package/native/tvos/metal-patched/src/device.rs +2134 -0
  18. package/native/tvos/metal-patched/src/drawable.rs +39 -0
  19. package/native/tvos/metal-patched/src/encoder.rs +2041 -0
  20. package/native/tvos/metal-patched/src/heap.rs +281 -0
  21. package/native/tvos/metal-patched/src/indirect_encoder.rs +344 -0
  22. package/native/tvos/metal-patched/src/lib.rs +657 -0
  23. package/native/tvos/metal-patched/src/library.rs +902 -0
  24. package/native/tvos/metal-patched/src/mps.rs +575 -0
  25. package/native/tvos/metal-patched/src/pipeline/compute.rs +475 -0
  26. package/native/tvos/metal-patched/src/pipeline/mod.rs +71 -0
  27. package/native/tvos/metal-patched/src/pipeline/render.rs +762 -0
  28. package/native/tvos/metal-patched/src/renderpass.rs +443 -0
  29. package/native/tvos/metal-patched/src/resource.rs +182 -0
  30. package/native/tvos/metal-patched/src/sampler.rs +165 -0
  31. package/native/tvos/metal-patched/src/sync.rs +178 -0
  32. package/native/tvos/metal-patched/src/texture.rs +352 -0
  33. package/native/tvos/metal-patched/src/types.rs +90 -0
  34. package/native/tvos/metal-patched/src/vertexdescriptor.rs +250 -0
  35. package/package.json +8 -11
  36. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/build.gradle +0 -51
  37. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/AndroidManifest.xml +0 -20
  38. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/cpp/CMakeLists.txt +0 -20
  39. package/native/third_party/JoltPhysics/Build/Android/UnitTests/build.gradle +0 -51
  40. package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/AndroidManifest.xml +0 -20
  41. package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/cpp/CMakeLists.txt +0 -20
  42. package/native/third_party/JoltPhysics/Build/Android/build.gradle +0 -17
  43. package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.jar +0 -0
  44. package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.properties +0 -5
  45. package/native/third_party/JoltPhysics/Build/Android/gradle.properties +0 -21
  46. package/native/third_party/JoltPhysics/Build/Android/gradlew +0 -185
  47. package/native/third_party/JoltPhysics/Build/Android/gradlew.bat +0 -89
  48. package/native/third_party/JoltPhysics/Build/Android/settings.gradle +0 -10
  49. package/native/third_party/JoltPhysics/Build/CMakeLists.txt +0 -449
  50. package/native/third_party/JoltPhysics/Build/README.md +0 -250
  51. package/native/third_party/JoltPhysics/Build/cmake_linux_clang_gcc.sh +0 -28
  52. package/native/third_party/JoltPhysics/Build/cmake_linux_emscripten.sh +0 -19
  53. package/native/third_party/JoltPhysics/Build/cmake_linux_mingw.sh +0 -19
  54. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl.bat +0 -3
  55. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_32bit.bat +0 -3
  56. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm.bat +0 -3
  57. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm_32bit.bat +0 -4
  58. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_cross_platform_deterministic.bat +0 -3
  59. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_double.bat +0 -3
  60. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_no_object_stream.bat +0 -3
  61. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang.bat +0 -10
  62. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_cross_platform_deterministic.bat +0 -10
  63. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_double.bat +0 -10
  64. package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp.bat +0 -5
  65. package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp_arm.bat +0 -5
  66. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl.bat +0 -3
  67. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_cross_platform_deterministic.bat +0 -3
  68. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_double.bat +0 -3
  69. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang.bat +0 -10
  70. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_cross_platform_deterministic.bat +0 -10
  71. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_double.bat +0 -10
  72. package/native/third_party/JoltPhysics/Build/cmake_windows_mingw.sh +0 -19
  73. package/native/third_party/JoltPhysics/Build/cmake_xcode_ios.sh +0 -4
  74. package/native/third_party/JoltPhysics/Build/cmake_xcode_macos.sh +0 -4
  75. package/native/third_party/JoltPhysics/Build/iOS/JoltViewerInfo.plist +0 -34
  76. package/native/third_party/JoltPhysics/Build/iOS/SamplesInfo.plist +0 -34
  77. package/native/third_party/JoltPhysics/Build/iOS/UnitTestsInfo.plist +0 -34
  78. package/native/third_party/JoltPhysics/Build/macOS/icon.icns +0 -0
  79. package/native/third_party/JoltPhysics/Build/macos_install_vulkan_sdk.sh +0 -13
  80. package/native/third_party/JoltPhysics/Build/ubuntu24_install_vulkan_sdk.sh +0 -4
  81. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.cpp +0 -242
  82. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.h +0 -121
  83. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeToBuffer.h +0 -296
  84. package/native/third_party/JoltPhysics/Jolt/AABBTree/NodeCodec/NodeCodecQuadTreeHalfFloat.h +0 -323
  85. package/native/third_party/JoltPhysics/Jolt/AABBTree/TriangleCodec/TriangleCodecIndexed8BitPackSOA4Flags.h +0 -555
  86. package/native/third_party/JoltPhysics/Jolt/ConfigurationString.h +0 -112
  87. package/native/third_party/JoltPhysics/Jolt/Core/ARMNeon.h +0 -94
  88. package/native/third_party/JoltPhysics/Jolt/Core/Array.h +0 -713
  89. package/native/third_party/JoltPhysics/Jolt/Core/Atomics.h +0 -44
  90. package/native/third_party/JoltPhysics/Jolt/Core/BinaryHeap.h +0 -96
  91. package/native/third_party/JoltPhysics/Jolt/Core/ByteBuffer.h +0 -74
  92. package/native/third_party/JoltPhysics/Jolt/Core/Color.cpp +0 -38
  93. package/native/third_party/JoltPhysics/Jolt/Core/Color.h +0 -98
  94. package/native/third_party/JoltPhysics/Jolt/Core/Core.h +0 -652
  95. package/native/third_party/JoltPhysics/Jolt/Core/FPControlWord.h +0 -143
  96. package/native/third_party/JoltPhysics/Jolt/Core/FPException.h +0 -96
  97. package/native/third_party/JoltPhysics/Jolt/Core/FPFlushDenormals.h +0 -43
  98. package/native/third_party/JoltPhysics/Jolt/Core/Factory.cpp +0 -92
  99. package/native/third_party/JoltPhysics/Jolt/Core/Factory.h +0 -54
  100. package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.h +0 -122
  101. package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.inl +0 -215
  102. package/native/third_party/JoltPhysics/Jolt/Core/HashCombine.h +0 -234
  103. package/native/third_party/JoltPhysics/Jolt/Core/HashTable.h +0 -876
  104. package/native/third_party/JoltPhysics/Jolt/Core/InsertionSort.h +0 -58
  105. package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.cpp +0 -27
  106. package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.h +0 -38
  107. package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.h +0 -311
  108. package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.inl +0 -56
  109. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.cpp +0 -65
  110. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.h +0 -62
  111. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.cpp +0 -364
  112. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.h +0 -101
  113. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.cpp +0 -230
  114. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.h +0 -85
  115. package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.cpp +0 -51
  116. package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.h +0 -67
  117. package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.h +0 -182
  118. package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.inl +0 -351
  119. package/native/third_party/JoltPhysics/Jolt/Core/Memory.cpp +0 -85
  120. package/native/third_party/JoltPhysics/Jolt/Core/Memory.h +0 -85
  121. package/native/third_party/JoltPhysics/Jolt/Core/Mutex.h +0 -223
  122. package/native/third_party/JoltPhysics/Jolt/Core/MutexArray.h +0 -98
  123. package/native/third_party/JoltPhysics/Jolt/Core/NonCopyable.h +0 -18
  124. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.cpp +0 -677
  125. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.h +0 -301
  126. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.inl +0 -90
  127. package/native/third_party/JoltPhysics/Jolt/Core/QuickSort.h +0 -137
  128. package/native/third_party/JoltPhysics/Jolt/Core/RTTI.cpp +0 -149
  129. package/native/third_party/JoltPhysics/Jolt/Core/RTTI.h +0 -436
  130. package/native/third_party/JoltPhysics/Jolt/Core/Reference.h +0 -244
  131. package/native/third_party/JoltPhysics/Jolt/Core/Result.h +0 -174
  132. package/native/third_party/JoltPhysics/Jolt/Core/STLAlignedAllocator.h +0 -72
  133. package/native/third_party/JoltPhysics/Jolt/Core/STLAllocator.h +0 -127
  134. package/native/third_party/JoltPhysics/Jolt/Core/STLLocalAllocator.h +0 -170
  135. package/native/third_party/JoltPhysics/Jolt/Core/STLTempAllocator.h +0 -80
  136. package/native/third_party/JoltPhysics/Jolt/Core/ScopeExit.h +0 -49
  137. package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.cpp +0 -135
  138. package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.h +0 -68
  139. package/native/third_party/JoltPhysics/Jolt/Core/StaticArray.h +0 -329
  140. package/native/third_party/JoltPhysics/Jolt/Core/StreamIn.h +0 -120
  141. package/native/third_party/JoltPhysics/Jolt/Core/StreamOut.h +0 -97
  142. package/native/third_party/JoltPhysics/Jolt/Core/StreamUtils.h +0 -168
  143. package/native/third_party/JoltPhysics/Jolt/Core/StreamWrapper.h +0 -53
  144. package/native/third_party/JoltPhysics/Jolt/Core/StridedPtr.h +0 -63
  145. package/native/third_party/JoltPhysics/Jolt/Core/StringTools.cpp +0 -101
  146. package/native/third_party/JoltPhysics/Jolt/Core/StringTools.h +0 -38
  147. package/native/third_party/JoltPhysics/Jolt/Core/TempAllocator.h +0 -209
  148. package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.cpp +0 -37
  149. package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.h +0 -58
  150. package/native/third_party/JoltPhysics/Jolt/Core/UnorderedMap.h +0 -80
  151. package/native/third_party/JoltPhysics/Jolt/Core/UnorderedSet.h +0 -32
  152. package/native/third_party/JoltPhysics/Jolt/Geometry/AABox.h +0 -313
  153. package/native/third_party/JoltPhysics/Jolt/Geometry/AABox4.h +0 -224
  154. package/native/third_party/JoltPhysics/Jolt/Geometry/ClipPoly.h +0 -200
  155. package/native/third_party/JoltPhysics/Jolt/Geometry/ClosestPoint.h +0 -498
  156. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.cpp +0 -1467
  157. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.h +0 -276
  158. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.cpp +0 -335
  159. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.h +0 -105
  160. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexSupport.h +0 -188
  161. package/native/third_party/JoltPhysics/Jolt/Geometry/EPAConvexHullBuilder.h +0 -845
  162. package/native/third_party/JoltPhysics/Jolt/Geometry/EPAPenetrationDepth.h +0 -557
  163. package/native/third_party/JoltPhysics/Jolt/Geometry/Ellipse.h +0 -77
  164. package/native/third_party/JoltPhysics/Jolt/Geometry/GJKClosestPoint.h +0 -945
  165. package/native/third_party/JoltPhysics/Jolt/Geometry/IndexedTriangle.h +0 -130
  166. package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.cpp +0 -222
  167. package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.h +0 -19
  168. package/native/third_party/JoltPhysics/Jolt/Geometry/MortonCode.h +0 -40
  169. package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.cpp +0 -178
  170. package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.h +0 -39
  171. package/native/third_party/JoltPhysics/Jolt/Geometry/Plane.h +0 -104
  172. package/native/third_party/JoltPhysics/Jolt/Geometry/RayAABox.h +0 -241
  173. package/native/third_party/JoltPhysics/Jolt/Geometry/RayCapsule.h +0 -37
  174. package/native/third_party/JoltPhysics/Jolt/Geometry/RayCylinder.h +0 -101
  175. package/native/third_party/JoltPhysics/Jolt/Geometry/RaySphere.h +0 -96
  176. package/native/third_party/JoltPhysics/Jolt/Geometry/RayTriangle.h +0 -158
  177. package/native/third_party/JoltPhysics/Jolt/Geometry/Sphere.h +0 -72
  178. package/native/third_party/JoltPhysics/Jolt/Geometry/Triangle.h +0 -34
  179. package/native/third_party/JoltPhysics/Jolt/Jolt.cmake +0 -703
  180. package/native/third_party/JoltPhysics/Jolt/Jolt.h +0 -16
  181. package/native/third_party/JoltPhysics/Jolt/Jolt.natvis +0 -116
  182. package/native/third_party/JoltPhysics/Jolt/Math/BVec16.h +0 -99
  183. package/native/third_party/JoltPhysics/Jolt/Math/BVec16.inl +0 -177
  184. package/native/third_party/JoltPhysics/Jolt/Math/DMat44.h +0 -158
  185. package/native/third_party/JoltPhysics/Jolt/Math/DMat44.inl +0 -310
  186. package/native/third_party/JoltPhysics/Jolt/Math/DVec3.h +0 -291
  187. package/native/third_party/JoltPhysics/Jolt/Math/DVec3.inl +0 -941
  188. package/native/third_party/JoltPhysics/Jolt/Math/Double3.h +0 -48
  189. package/native/third_party/JoltPhysics/Jolt/Math/DynMatrix.h +0 -31
  190. package/native/third_party/JoltPhysics/Jolt/Math/EigenValueSymmetric.h +0 -177
  191. package/native/third_party/JoltPhysics/Jolt/Math/FindRoot.h +0 -42
  192. package/native/third_party/JoltPhysics/Jolt/Math/Float2.h +0 -36
  193. package/native/third_party/JoltPhysics/Jolt/Math/Float3.h +0 -50
  194. package/native/third_party/JoltPhysics/Jolt/Math/Float4.h +0 -44
  195. package/native/third_party/JoltPhysics/Jolt/Math/GaussianElimination.h +0 -102
  196. package/native/third_party/JoltPhysics/Jolt/Math/HalfFloat.h +0 -208
  197. package/native/third_party/JoltPhysics/Jolt/Math/Mat44.h +0 -243
  198. package/native/third_party/JoltPhysics/Jolt/Math/Mat44.inl +0 -952
  199. package/native/third_party/JoltPhysics/Jolt/Math/Math.h +0 -208
  200. package/native/third_party/JoltPhysics/Jolt/Math/MathTypes.h +0 -32
  201. package/native/third_party/JoltPhysics/Jolt/Math/Matrix.h +0 -259
  202. package/native/third_party/JoltPhysics/Jolt/Math/Quat.h +0 -268
  203. package/native/third_party/JoltPhysics/Jolt/Math/Quat.inl +0 -406
  204. package/native/third_party/JoltPhysics/Jolt/Math/Real.h +0 -44
  205. package/native/third_party/JoltPhysics/Jolt/Math/Swizzle.h +0 -19
  206. package/native/third_party/JoltPhysics/Jolt/Math/Trigonometry.h +0 -79
  207. package/native/third_party/JoltPhysics/Jolt/Math/UVec4.h +0 -232
  208. package/native/third_party/JoltPhysics/Jolt/Math/UVec4.inl +0 -636
  209. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.cpp +0 -71
  210. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.h +0 -308
  211. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.inl +0 -942
  212. package/native/third_party/JoltPhysics/Jolt/Math/Vec4.h +0 -320
  213. package/native/third_party/JoltPhysics/Jolt/Math/Vec4.inl +0 -1152
  214. package/native/third_party/JoltPhysics/Jolt/Math/Vector.h +0 -211
  215. package/native/third_party/JoltPhysics/Jolt/ObjectStream/GetPrimitiveTypeOfType.h +0 -54
  216. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.cpp +0 -38
  217. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.h +0 -337
  218. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.cpp +0 -252
  219. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.h +0 -57
  220. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.cpp +0 -165
  221. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.h +0 -57
  222. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.cpp +0 -635
  223. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.h +0 -148
  224. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.cpp +0 -166
  225. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.h +0 -101
  226. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.cpp +0 -418
  227. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.h +0 -55
  228. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.cpp +0 -255
  229. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.h +0 -62
  230. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTypes.h +0 -26
  231. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttribute.h +0 -111
  232. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeEnum.h +0 -67
  233. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeTyped.h +0 -60
  234. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.cpp +0 -15
  235. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.h +0 -170
  236. package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.cpp +0 -70
  237. package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.h +0 -45
  238. package/native/third_party/JoltPhysics/Jolt/Physics/Body/AllowedDOFs.h +0 -68
  239. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.cpp +0 -426
  240. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.h +0 -452
  241. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.inl +0 -197
  242. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyAccess.h +0 -68
  243. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyActivationListener.h +0 -28
  244. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.cpp +0 -234
  245. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.h +0 -124
  246. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyFilter.h +0 -130
  247. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyID.h +0 -101
  248. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.cpp +0 -1099
  249. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.h +0 -324
  250. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLock.h +0 -111
  251. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockInterface.h +0 -134
  252. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockMulti.h +0 -120
  253. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.cpp +0 -1220
  254. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.h +0 -403
  255. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyPair.h +0 -36
  256. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyType.h +0 -19
  257. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.cpp +0 -185
  258. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.h +0 -58
  259. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.cpp +0 -92
  260. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.h +0 -308
  261. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.inl +0 -178
  262. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionQuality.h +0 -31
  263. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionType.h +0 -17
  264. package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.cpp +0 -354
  265. package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.h +0 -159
  266. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.cpp +0 -59
  267. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.h +0 -157
  268. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterID.h +0 -98
  269. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.cpp +0 -1933
  270. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.h +0 -752
  271. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/AABoxCast.h +0 -20
  272. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdgeMode.h +0 -17
  273. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdges.h +0 -114
  274. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BackFaceMode.h +0 -16
  275. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.cpp +0 -16
  276. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.h +0 -109
  277. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.cpp +0 -313
  278. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.h +0 -38
  279. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayer.h +0 -148
  280. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceMask.h +0 -92
  281. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceTable.h +0 -64
  282. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.cpp +0 -629
  283. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.h +0 -108
  284. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuery.h +0 -56
  285. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterMask.h +0 -35
  286. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterTable.h +0 -66
  287. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.cpp +0 -1768
  288. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.h +0 -389
  289. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.cpp +0 -107
  290. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.h +0 -46
  291. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastResult.h +0 -37
  292. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.cpp +0 -223
  293. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.h +0 -49
  294. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollectFacesMode.h +0 -16
  295. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.cpp +0 -155
  296. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.h +0 -56
  297. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollidePointResult.h +0 -25
  298. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShape.h +0 -106
  299. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShapeVsShapePerLeaf.h +0 -94
  300. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVertexIterator.h +0 -110
  301. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVerticesVsTriangles.h +0 -102
  302. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.cpp +0 -121
  303. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.h +0 -50
  304. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollector.h +0 -109
  305. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollectorImpl.h +0 -219
  306. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.cpp +0 -107
  307. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.h +0 -97
  308. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.cpp +0 -35
  309. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.h +0 -97
  310. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ContactListener.h +0 -143
  311. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.cpp +0 -213
  312. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.h +0 -48
  313. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.cpp +0 -32
  314. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.h +0 -46
  315. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.cpp +0 -38
  316. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.h +0 -130
  317. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/InternalEdgeRemovingCollector.h +0 -279
  318. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.cpp +0 -271
  319. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.h +0 -44
  320. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.cpp +0 -448
  321. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.h +0 -77
  322. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.cpp +0 -62
  323. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.h +0 -110
  324. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayer.h +0 -111
  325. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterMask.h +0 -52
  326. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterTable.h +0 -78
  327. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.cpp +0 -35
  328. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.h +0 -57
  329. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.cpp +0 -38
  330. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.h +0 -37
  331. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/RayCast.h +0 -87
  332. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.cpp +0 -318
  333. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.h +0 -115
  334. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.cpp +0 -438
  335. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.h +0 -129
  336. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.cpp +0 -433
  337. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.h +0 -354
  338. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShapeVisitors.h +0 -461
  339. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.cpp +0 -1311
  340. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.h +0 -202
  341. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.cpp +0 -566
  342. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.h +0 -150
  343. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.cpp +0 -418
  344. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.h +0 -126
  345. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.cpp +0 -87
  346. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.h +0 -80
  347. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.cpp +0 -64
  348. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.h +0 -75
  349. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/GetTrianglesContext.h +0 -248
  350. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.cpp +0 -2754
  351. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.h +0 -380
  352. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.cpp +0 -1305
  353. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.h +0 -228
  354. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.cpp +0 -596
  355. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.h +0 -176
  356. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.cpp +0 -217
  357. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.h +0 -140
  358. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.cpp +0 -541
  359. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.h +0 -147
  360. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PolyhedronSubmergedVolumeCalculator.h +0 -319
  361. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.cpp +0 -333
  362. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.h +0 -161
  363. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaleHelpers.h +0 -83
  364. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.cpp +0 -238
  365. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.h +0 -145
  366. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.cpp +0 -325
  367. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.h +0 -466
  368. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.cpp +0 -347
  369. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.h +0 -125
  370. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.cpp +0 -674
  371. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.h +0 -139
  372. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeID.h +0 -138
  373. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeIDPair.h +0 -65
  374. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.cpp +0 -453
  375. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.gliffy +0 -1
  376. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.h +0 -135
  377. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.cpp +0 -691
  378. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.h +0 -132
  379. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.cpp +0 -430
  380. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.h +0 -143
  381. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeCast.h +0 -173
  382. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeFilter.h +0 -73
  383. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilter.h +0 -40
  384. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilterWrapper.h +0 -58
  385. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SortReverseAndStore.h +0 -48
  386. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.cpp +0 -180
  387. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.h +0 -194
  388. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/CalculateSolverSteps.h +0 -70
  389. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.cpp +0 -246
  390. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.h +0 -133
  391. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.cpp +0 -73
  392. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.h +0 -243
  393. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.cpp +0 -289
  394. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.h +0 -100
  395. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AngleConstraintPart.h +0 -257
  396. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AxisConstraintPart.h +0 -682
  397. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/DualAxisConstraintPart.h +0 -276
  398. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/GearConstraintPart.h +0 -195
  399. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/HingeRotationConstraintPart.h +0 -222
  400. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/IndependentAxisConstraintPart.h +0 -246
  401. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/PointConstraintPart.h +0 -239
  402. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RackAndPinionConstraintPart.h +0 -196
  403. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationEulerConstraintPart.h +0 -283
  404. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationQuatConstraintPart.h +0 -246
  405. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SpringPart.h +0 -169
  406. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SwingTwistConstraintPart.h +0 -597
  407. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.cpp +0 -1804
  408. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.h +0 -524
  409. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.cpp +0 -266
  410. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.h +0 -120
  411. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.cpp +0 -215
  412. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.h +0 -96
  413. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.cpp +0 -188
  414. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.h +0 -116
  415. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.cpp +0 -443
  416. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.h +0 -205
  417. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.cpp +0 -43
  418. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.h +0 -66
  419. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.cpp +0 -458
  420. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.h +0 -191
  421. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.cpp +0 -85
  422. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.h +0 -76
  423. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.cpp +0 -308
  424. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.h +0 -54
  425. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.cpp +0 -157
  426. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.h +0 -94
  427. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.cpp +0 -253
  428. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.h +0 -137
  429. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.cpp +0 -189
  430. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.h +0 -118
  431. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.cpp +0 -900
  432. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.h +0 -289
  433. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.cpp +0 -501
  434. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.h +0 -198
  435. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.cpp +0 -35
  436. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.h +0 -70
  437. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.cpp +0 -524
  438. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.h +0 -197
  439. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.cpp +0 -56
  440. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.h +0 -65
  441. package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.cpp +0 -17
  442. package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.h +0 -159
  443. package/native/third_party/JoltPhysics/Jolt/Physics/EActivation.h +0 -16
  444. package/native/third_party/JoltPhysics/Jolt/Physics/EPhysicsUpdateError.h +0 -37
  445. package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.cpp +0 -492
  446. package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.h +0 -144
  447. package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.cpp +0 -582
  448. package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.h +0 -187
  449. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsLock.h +0 -169
  450. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.cpp +0 -261
  451. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.h +0 -104
  452. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSettings.h +0 -125
  453. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsStepListener.h +0 -37
  454. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.cpp +0 -2915
  455. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.h +0 -391
  456. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.cpp +0 -25
  457. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.h +0 -176
  458. package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.cpp +0 -744
  459. package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.h +0 -245
  460. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyContactListener.h +0 -55
  461. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.cpp +0 -128
  462. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.h +0 -75
  463. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyManifold.h +0 -74
  464. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.cpp +0 -1501
  465. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.h +0 -333
  466. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.cpp +0 -354
  467. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.h +0 -73
  468. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.cpp +0 -1487
  469. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.h +0 -390
  470. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyUpdateContext.h +0 -63
  471. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyVertex.h +0 -36
  472. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorder.h +0 -136
  473. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.cpp +0 -90
  474. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.h +0 -50
  475. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.cpp +0 -306
  476. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.h +0 -119
  477. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.cpp +0 -547
  478. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.h +0 -169
  479. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.cpp +0 -33
  480. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.h +0 -33
  481. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.cpp +0 -376
  482. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.h +0 -146
  483. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.cpp +0 -703
  484. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.h +0 -252
  485. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.cpp +0 -17
  486. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.h +0 -87
  487. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.cpp +0 -81
  488. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.h +0 -39
  489. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.cpp +0 -122
  490. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.h +0 -93
  491. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.cpp +0 -52
  492. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.h +0 -56
  493. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.cpp +0 -159
  494. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.h +0 -87
  495. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.cpp +0 -93
  496. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.h +0 -148
  497. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.cpp +0 -866
  498. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.h +0 -205
  499. package/native/third_party/JoltPhysics/Jolt/RegisterTypes.cpp +0 -204
  500. package/native/third_party/JoltPhysics/Jolt/RegisterTypes.h +0 -29
  501. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.cpp +0 -1107
  502. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.h +0 -383
  503. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.cpp +0 -168
  504. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.h +0 -48
  505. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.cpp +0 -158
  506. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.h +0 -130
  507. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.cpp +0 -80
  508. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.h +0 -88
  509. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.cpp +0 -165
  510. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.h +0 -91
  511. package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.cpp +0 -82
  512. package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.h +0 -72
  513. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.cpp +0 -237
  514. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.h +0 -145
  515. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.cpp +0 -87
  516. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.h +0 -82
  517. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.cpp +0 -73
  518. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.h +0 -84
  519. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.cpp +0 -139
  520. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.h +0 -52
  521. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.cpp +0 -43
  522. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.h +0 -28
  523. package/native/third_party/JoltPhysics/LICENSE +0 -7
  524. package/native/third_party/JoltPhysics/README.md +0 -173
  525. package/native/third_party/bloom_jolt/CMakeLists.txt +0 -87
  526. package/native/third_party/bloom_jolt/include/bloom_jolt.h +0 -519
  527. package/native/third_party/bloom_jolt/src/bloom_jolt.cpp +0 -1780
@@ -1,1099 +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/Body/BodyInterface.h>
8
- #include <Jolt/Physics/Collision/BroadPhase/BroadPhase.h>
9
- #include <Jolt/Physics/Collision/CollisionCollectorImpl.h>
10
- #include <Jolt/Physics/Body/Body.h>
11
- #include <Jolt/Physics/Body/BodyManager.h>
12
- #include <Jolt/Physics/Body/BodyCreationSettings.h>
13
- #include <Jolt/Physics/Body/BodyLock.h>
14
- #include <Jolt/Physics/Body/BodyLockMulti.h>
15
- #include <Jolt/Physics/Collision/PhysicsMaterial.h>
16
- #include <Jolt/Physics/Constraints/TwoBodyConstraint.h>
17
-
18
- JPH_NAMESPACE_BEGIN
19
-
20
- void BodyInterface::ActivateBodyInternal(Body &ioBody) const
21
- {
22
- // Activate body or reset its sleep timer.
23
- // Note that BodyManager::ActivateBodies also resets the sleep timer internally, but we avoid a mutex lock if the body is already active by calling ResetSleepTimer directly.
24
- if (!ioBody.IsActive())
25
- mBodyManager->ActivateBodies(&ioBody.GetID(), 1);
26
- else
27
- ioBody.ResetSleepTimer();
28
- }
29
-
30
- Body *BodyInterface::CreateBody(const BodyCreationSettings &inSettings)
31
- {
32
- Body *body = mBodyManager->AllocateBody(inSettings);
33
- if (!mBodyManager->AddBody(body))
34
- {
35
- mBodyManager->FreeBody(body);
36
- return nullptr;
37
- }
38
- return body;
39
- }
40
-
41
- Body *BodyInterface::CreateSoftBody(const SoftBodyCreationSettings &inSettings)
42
- {
43
- Body *body = mBodyManager->AllocateSoftBody(inSettings);
44
- if (!mBodyManager->AddBody(body))
45
- {
46
- mBodyManager->FreeBody(body);
47
- return nullptr;
48
- }
49
- return body;
50
- }
51
-
52
- Body *BodyInterface::CreateBodyWithID(const BodyID &inBodyID, const BodyCreationSettings &inSettings)
53
- {
54
- Body *body = mBodyManager->AllocateBody(inSettings);
55
- if (!mBodyManager->AddBodyWithCustomID(body, inBodyID))
56
- {
57
- mBodyManager->FreeBody(body);
58
- return nullptr;
59
- }
60
- return body;
61
- }
62
-
63
- Body *BodyInterface::CreateSoftBodyWithID(const BodyID &inBodyID, const SoftBodyCreationSettings &inSettings)
64
- {
65
- Body *body = mBodyManager->AllocateSoftBody(inSettings);
66
- if (!mBodyManager->AddBodyWithCustomID(body, inBodyID))
67
- {
68
- mBodyManager->FreeBody(body);
69
- return nullptr;
70
- }
71
- return body;
72
- }
73
-
74
- Body *BodyInterface::CreateBodyWithoutID(const BodyCreationSettings &inSettings) const
75
- {
76
- return mBodyManager->AllocateBody(inSettings);
77
- }
78
-
79
- Body *BodyInterface::CreateSoftBodyWithoutID(const SoftBodyCreationSettings &inSettings) const
80
- {
81
- return mBodyManager->AllocateSoftBody(inSettings);
82
- }
83
-
84
- void BodyInterface::DestroyBodyWithoutID(Body *inBody) const
85
- {
86
- mBodyManager->FreeBody(inBody);
87
- }
88
-
89
- bool BodyInterface::AssignBodyID(Body *ioBody)
90
- {
91
- return mBodyManager->AddBody(ioBody);
92
- }
93
-
94
- bool BodyInterface::AssignBodyID(Body *ioBody, const BodyID &inBodyID)
95
- {
96
- return mBodyManager->AddBodyWithCustomID(ioBody, inBodyID);
97
- }
98
-
99
- Body *BodyInterface::UnassignBodyID(const BodyID &inBodyID)
100
- {
101
- Body *body = nullptr;
102
- mBodyManager->RemoveBodies(&inBodyID, 1, &body);
103
- return body;
104
- }
105
-
106
- void BodyInterface::UnassignBodyIDs(const BodyID *inBodyIDs, int inNumber, Body **outBodies)
107
- {
108
- mBodyManager->RemoveBodies(inBodyIDs, inNumber, outBodies);
109
- }
110
-
111
- void BodyInterface::DestroyBody(const BodyID &inBodyID)
112
- {
113
- mBodyManager->DestroyBodies(&inBodyID, 1);
114
- }
115
-
116
- void BodyInterface::DestroyBodies(const BodyID *inBodyIDs, int inNumber)
117
- {
118
- mBodyManager->DestroyBodies(inBodyIDs, inNumber);
119
- }
120
-
121
- void BodyInterface::AddBody(const BodyID &inBodyID, EActivation inActivationMode)
122
- {
123
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
124
- if (lock.Succeeded())
125
- {
126
- const Body &body = lock.GetBody();
127
-
128
- // Add to broadphase
129
- BodyID id = inBodyID;
130
- BroadPhase::AddState add_state = mBroadPhase->AddBodiesPrepare(&id, 1);
131
- mBroadPhase->AddBodiesFinalize(&id, 1, add_state);
132
-
133
- // Optionally activate body
134
- if (inActivationMode == EActivation::Activate && !body.IsStatic())
135
- mBodyManager->ActivateBodies(&inBodyID, 1);
136
- }
137
- }
138
-
139
- void BodyInterface::RemoveBody(const BodyID &inBodyID)
140
- {
141
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
142
- if (lock.SucceededAndIsInBroadPhase())
143
- {
144
- const Body &body = lock.GetBody();
145
-
146
- // Deactivate body
147
- if (body.IsActive())
148
- mBodyManager->DeactivateBodies(&inBodyID, 1);
149
-
150
- // Remove from broadphase
151
- BodyID id = inBodyID;
152
- mBroadPhase->RemoveBodies(&id, 1);
153
- }
154
- }
155
-
156
- bool BodyInterface::IsAdded(const BodyID &inBodyID) const
157
- {
158
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
159
- return lock.SucceededAndIsInBroadPhase();
160
- }
161
-
162
- BodyID BodyInterface::CreateAndAddBody(const BodyCreationSettings &inSettings, EActivation inActivationMode)
163
- {
164
- const Body *b = CreateBody(inSettings);
165
- if (b == nullptr)
166
- return BodyID(); // Out of bodies
167
- AddBody(b->GetID(), inActivationMode);
168
- return b->GetID();
169
- }
170
-
171
- BodyID BodyInterface::CreateAndAddSoftBody(const SoftBodyCreationSettings &inSettings, EActivation inActivationMode)
172
- {
173
- const Body *b = CreateSoftBody(inSettings);
174
- if (b == nullptr)
175
- return BodyID(); // Out of bodies
176
- AddBody(b->GetID(), inActivationMode);
177
- return b->GetID();
178
- }
179
-
180
- BodyInterface::AddState BodyInterface::AddBodiesPrepare(BodyID *ioBodies, int inNumber)
181
- {
182
- return mBroadPhase->AddBodiesPrepare(ioBodies, inNumber);
183
- }
184
-
185
- void BodyInterface::AddBodiesFinalize(BodyID *ioBodies, int inNumber, AddState inAddState, EActivation inActivationMode)
186
- {
187
- BodyLockMultiWrite lock(*mBodyLockInterface, ioBodies, inNumber);
188
-
189
- // Add to broadphase
190
- mBroadPhase->AddBodiesFinalize(ioBodies, inNumber, inAddState);
191
-
192
- // Optionally activate bodies
193
- if (inActivationMode == EActivation::Activate)
194
- mBodyManager->ActivateBodies(ioBodies, inNumber);
195
- }
196
-
197
- void BodyInterface::AddBodiesAbort(BodyID *ioBodies, int inNumber, AddState inAddState)
198
- {
199
- mBroadPhase->AddBodiesAbort(ioBodies, inNumber, inAddState);
200
- }
201
-
202
- void BodyInterface::RemoveBodies(BodyID *ioBodies, int inNumber)
203
- {
204
- BodyLockMultiWrite lock(*mBodyLockInterface, ioBodies, inNumber);
205
-
206
- // Deactivate bodies
207
- mBodyManager->DeactivateBodies(ioBodies, inNumber);
208
-
209
- // Remove from broadphase
210
- mBroadPhase->RemoveBodies(ioBodies, inNumber);
211
- }
212
-
213
- void BodyInterface::ActivateBody(const BodyID &inBodyID)
214
- {
215
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
216
- if (lock.Succeeded())
217
- {
218
- Body &body = lock.GetBody();
219
- ActivateBodyInternal(body);
220
- }
221
- }
222
-
223
- void BodyInterface::ActivateBodies(const BodyID *inBodyIDs, int inNumber)
224
- {
225
- BodyLockMultiWrite lock(*mBodyLockInterface, inBodyIDs, inNumber);
226
-
227
- mBodyManager->ActivateBodies(inBodyIDs, inNumber);
228
- }
229
-
230
- void BodyInterface::ActivateBodiesInAABox(const AABox &inBox, const BroadPhaseLayerFilter &inBroadPhaseLayerFilter, const ObjectLayerFilter &inObjectLayerFilter)
231
- {
232
- AllHitCollisionCollector<CollideShapeBodyCollector> collector;
233
- mBroadPhase->CollideAABox(inBox, collector, inBroadPhaseLayerFilter, inObjectLayerFilter);
234
- ActivateBodies(collector.mHits.data(), (int)collector.mHits.size());
235
- }
236
-
237
- void BodyInterface::DeactivateBody(const BodyID &inBodyID)
238
- {
239
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
240
- if (lock.Succeeded())
241
- {
242
- const Body &body = lock.GetBody();
243
-
244
- if (body.IsActive())
245
- mBodyManager->DeactivateBodies(&inBodyID, 1);
246
- }
247
- }
248
-
249
- void BodyInterface::DeactivateBodies(const BodyID *inBodyIDs, int inNumber)
250
- {
251
- BodyLockMultiWrite lock(*mBodyLockInterface, inBodyIDs, inNumber);
252
-
253
- mBodyManager->DeactivateBodies(inBodyIDs, inNumber);
254
- }
255
-
256
- bool BodyInterface::IsActive(const BodyID &inBodyID) const
257
- {
258
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
259
- return lock.Succeeded() && lock.GetBody().IsActive();
260
- }
261
-
262
- void BodyInterface::ResetSleepTimer(const BodyID &inBodyID)
263
- {
264
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
265
- if (lock.Succeeded())
266
- lock.GetBody().ResetSleepTimer();
267
- }
268
-
269
- TwoBodyConstraint *BodyInterface::CreateConstraint(const TwoBodyConstraintSettings *inSettings, const BodyID &inBodyID1, const BodyID &inBodyID2)
270
- {
271
- BodyID constraint_bodies[] = { inBodyID1, inBodyID2 };
272
- BodyLockMultiWrite lock(*mBodyLockInterface, constraint_bodies, 2);
273
-
274
- Body *body1 = lock.GetBody(0);
275
- Body *body2 = lock.GetBody(1);
276
-
277
- JPH_ASSERT(body1 != body2);
278
- JPH_ASSERT(body1 != nullptr || body2 != nullptr);
279
-
280
- return inSettings->Create(body1 != nullptr? *body1 : Body::sFixedToWorld, body2 != nullptr? *body2 : Body::sFixedToWorld);
281
- }
282
-
283
- void BodyInterface::ActivateConstraint(const TwoBodyConstraint *inConstraint)
284
- {
285
- BodyID bodies[] = { inConstraint->GetBody1()->GetID(), inConstraint->GetBody2()->GetID() };
286
- ActivateBodies(bodies, 2);
287
- }
288
-
289
- RefConst<Shape> BodyInterface::GetShape(const BodyID &inBodyID) const
290
- {
291
- RefConst<Shape> shape;
292
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
293
- if (lock.Succeeded())
294
- shape = lock.GetBody().GetShape();
295
- return shape;
296
- }
297
-
298
- void BodyInterface::SetShape(const BodyID &inBodyID, const Shape *inShape, bool inUpdateMassProperties, EActivation inActivationMode) const
299
- {
300
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
301
- if (lock.Succeeded())
302
- {
303
- Body &body = lock.GetBody();
304
-
305
- // Check if shape actually changed
306
- if (body.GetShape() != inShape)
307
- {
308
- // Update the shape
309
- body.SetShapeInternal(inShape, inUpdateMassProperties);
310
-
311
- // Notify broadphase of change
312
- if (body.IsInBroadPhase())
313
- {
314
- // Flag collision cache invalid for this body
315
- mBodyManager->InvalidateContactCacheForBody(body);
316
-
317
- BodyID id = body.GetID();
318
- mBroadPhase->NotifyBodiesAABBChanged(&id, 1);
319
-
320
- // Optionally activate body
321
- if (inActivationMode == EActivation::Activate && !body.IsStatic())
322
- ActivateBodyInternal(body);
323
- }
324
- }
325
- }
326
- }
327
-
328
- void BodyInterface::NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inPreviousCenterOfMass, bool inUpdateMassProperties, EActivation inActivationMode) const
329
- {
330
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
331
- if (lock.Succeeded())
332
- {
333
- Body &body = lock.GetBody();
334
-
335
- // Update center of mass, mass and inertia
336
- body.UpdateCenterOfMassInternal(inPreviousCenterOfMass, inUpdateMassProperties);
337
-
338
- // Recalculate bounding box
339
- body.CalculateWorldSpaceBoundsInternal();
340
-
341
- // Notify broadphase of change
342
- if (body.IsInBroadPhase())
343
- {
344
- // Flag collision cache invalid for this body
345
- mBodyManager->InvalidateContactCacheForBody(body);
346
-
347
- BodyID id = body.GetID();
348
- mBroadPhase->NotifyBodiesAABBChanged(&id, 1);
349
-
350
- // Optionally activate body
351
- if (inActivationMode == EActivation::Activate && !body.IsStatic())
352
- ActivateBodyInternal(body);
353
- }
354
- }
355
- }
356
-
357
- void BodyInterface::SetObjectLayer(const BodyID &inBodyID, ObjectLayer inLayer)
358
- {
359
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
360
- if (lock.Succeeded())
361
- {
362
- Body &body = lock.GetBody();
363
-
364
- // Check if layer actually changed, updating the broadphase is rather expensive
365
- if (body.GetObjectLayer() != inLayer)
366
- {
367
- // Update the layer on the body
368
- mBodyManager->SetBodyObjectLayerInternal(body, inLayer);
369
-
370
- // Notify broadphase of change
371
- if (body.IsInBroadPhase())
372
- {
373
- BodyID id = body.GetID();
374
- mBroadPhase->NotifyBodiesLayerChanged(&id, 1);
375
- }
376
- }
377
- }
378
- }
379
-
380
- ObjectLayer BodyInterface::GetObjectLayer(const BodyID &inBodyID) const
381
- {
382
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
383
- if (lock.Succeeded())
384
- return lock.GetBody().GetObjectLayer();
385
- else
386
- return cObjectLayerInvalid;
387
- }
388
-
389
- void BodyInterface::SetPositionAndRotation(const BodyID &inBodyID, RVec3Arg inPosition, QuatArg inRotation, EActivation inActivationMode)
390
- {
391
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
392
- if (lock.Succeeded())
393
- {
394
- Body &body = lock.GetBody();
395
-
396
- // Update the position
397
- body.SetPositionAndRotationInternal(inPosition, inRotation);
398
-
399
- // Notify broadphase of change
400
- if (body.IsInBroadPhase())
401
- {
402
- BodyID id = body.GetID();
403
- mBroadPhase->NotifyBodiesAABBChanged(&id, 1);
404
-
405
- // Optionally activate body
406
- if (inActivationMode == EActivation::Activate && !body.IsStatic())
407
- ActivateBodyInternal(body);
408
- }
409
- }
410
- }
411
-
412
- void BodyInterface::SetPositionAndRotationWhenChanged(const BodyID &inBodyID, RVec3Arg inPosition, QuatArg inRotation, EActivation inActivationMode)
413
- {
414
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
415
- if (lock.Succeeded())
416
- {
417
- Body &body = lock.GetBody();
418
-
419
- // Check if there is enough change
420
- if (!body.GetPosition().IsClose(inPosition)
421
- || !body.GetRotation().IsClose(inRotation))
422
- {
423
- // Update the position
424
- body.SetPositionAndRotationInternal(inPosition, inRotation);
425
-
426
- // Notify broadphase of change
427
- if (body.IsInBroadPhase())
428
- {
429
- BodyID id = body.GetID();
430
- mBroadPhase->NotifyBodiesAABBChanged(&id, 1);
431
-
432
- // Optionally activate body
433
- if (inActivationMode == EActivation::Activate && !body.IsStatic())
434
- ActivateBodyInternal(body);
435
- }
436
- }
437
- }
438
- }
439
-
440
- void BodyInterface::GetPositionAndRotation(const BodyID &inBodyID, RVec3 &outPosition, Quat &outRotation) const
441
- {
442
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
443
- if (lock.Succeeded())
444
- {
445
- const Body &body = lock.GetBody();
446
- outPosition = body.GetPosition();
447
- outRotation = body.GetRotation();
448
- }
449
- else
450
- {
451
- outPosition = RVec3::sZero();
452
- outRotation = Quat::sIdentity();
453
- }
454
- }
455
-
456
- void BodyInterface::SetPosition(const BodyID &inBodyID, RVec3Arg inPosition, EActivation inActivationMode)
457
- {
458
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
459
- if (lock.Succeeded())
460
- {
461
- Body &body = lock.GetBody();
462
-
463
- // Update the position
464
- body.SetPositionAndRotationInternal(inPosition, body.GetRotation());
465
-
466
- // Notify broadphase of change
467
- if (body.IsInBroadPhase())
468
- {
469
- BodyID id = body.GetID();
470
- mBroadPhase->NotifyBodiesAABBChanged(&id, 1);
471
-
472
- // Optionally activate body
473
- if (inActivationMode == EActivation::Activate && !body.IsStatic())
474
- ActivateBodyInternal(body);
475
- }
476
- }
477
- }
478
-
479
- RVec3 BodyInterface::GetPosition(const BodyID &inBodyID) const
480
- {
481
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
482
- if (lock.Succeeded())
483
- return lock.GetBody().GetPosition();
484
- else
485
- return RVec3::sZero();
486
- }
487
-
488
- RVec3 BodyInterface::GetCenterOfMassPosition(const BodyID &inBodyID) const
489
- {
490
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
491
- if (lock.Succeeded())
492
- return lock.GetBody().GetCenterOfMassPosition();
493
- else
494
- return RVec3::sZero();
495
- }
496
-
497
- void BodyInterface::SetRotation(const BodyID &inBodyID, QuatArg inRotation, EActivation inActivationMode)
498
- {
499
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
500
- if (lock.Succeeded())
501
- {
502
- Body &body = lock.GetBody();
503
-
504
- // Update the position
505
- body.SetPositionAndRotationInternal(body.GetPosition(), inRotation);
506
-
507
- // Notify broadphase of change
508
- if (body.IsInBroadPhase())
509
- {
510
- BodyID id = body.GetID();
511
- mBroadPhase->NotifyBodiesAABBChanged(&id, 1);
512
-
513
- // Optionally activate body
514
- if (inActivationMode == EActivation::Activate && !body.IsStatic())
515
- ActivateBodyInternal(body);
516
- }
517
- }
518
- }
519
-
520
- Quat BodyInterface::GetRotation(const BodyID &inBodyID) const
521
- {
522
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
523
- if (lock.Succeeded())
524
- return lock.GetBody().GetRotation();
525
- else
526
- return Quat::sIdentity();
527
- }
528
-
529
- RMat44 BodyInterface::GetWorldTransform(const BodyID &inBodyID) const
530
- {
531
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
532
- if (lock.Succeeded())
533
- return lock.GetBody().GetWorldTransform();
534
- else
535
- return RMat44::sIdentity();
536
- }
537
-
538
- RMat44 BodyInterface::GetCenterOfMassTransform(const BodyID &inBodyID) const
539
- {
540
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
541
- if (lock.Succeeded())
542
- return lock.GetBody().GetCenterOfMassTransform();
543
- else
544
- return RMat44::sIdentity();
545
- }
546
-
547
- void BodyInterface::MoveKinematic(const BodyID &inBodyID, RVec3Arg inTargetPosition, QuatArg inTargetRotation, float inDeltaTime)
548
- {
549
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
550
- if (lock.Succeeded())
551
- {
552
- Body &body = lock.GetBody();
553
-
554
- body.MoveKinematic(inTargetPosition, inTargetRotation, inDeltaTime);
555
-
556
- if (!body.IsActive() && (!body.GetLinearVelocity().IsNearZero() || !body.GetAngularVelocity().IsNearZero()) && body.IsInBroadPhase())
557
- mBodyManager->ActivateBodies(&inBodyID, 1);
558
- }
559
- }
560
-
561
- void BodyInterface::SetLinearAndAngularVelocity(const BodyID &inBodyID, Vec3Arg inLinearVelocity, Vec3Arg inAngularVelocity)
562
- {
563
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
564
- if (lock.Succeeded())
565
- {
566
- Body &body = lock.GetBody();
567
- if (!body.IsStatic())
568
- {
569
- body.SetLinearVelocityClamped(inLinearVelocity);
570
- body.SetAngularVelocityClamped(inAngularVelocity);
571
-
572
- if (!body.IsActive() && (!inLinearVelocity.IsNearZero() || !inAngularVelocity.IsNearZero()) && body.IsInBroadPhase())
573
- mBodyManager->ActivateBodies(&inBodyID, 1);
574
- }
575
- }
576
- }
577
-
578
- void BodyInterface::GetLinearAndAngularVelocity(const BodyID &inBodyID, Vec3 &outLinearVelocity, Vec3 &outAngularVelocity) const
579
- {
580
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
581
- if (lock.Succeeded())
582
- {
583
- const Body &body = lock.GetBody();
584
- if (!body.IsStatic())
585
- {
586
- outLinearVelocity = body.GetLinearVelocity();
587
- outAngularVelocity = body.GetAngularVelocity();
588
- return;
589
- }
590
- }
591
-
592
- outLinearVelocity = outAngularVelocity = Vec3::sZero();
593
- }
594
-
595
- void BodyInterface::SetLinearVelocity(const BodyID &inBodyID, Vec3Arg inLinearVelocity)
596
- {
597
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
598
- if (lock.Succeeded())
599
- {
600
- Body &body = lock.GetBody();
601
- if (!body.IsStatic())
602
- {
603
- body.SetLinearVelocityClamped(inLinearVelocity);
604
-
605
- if (!body.IsActive() && !inLinearVelocity.IsNearZero() && body.IsInBroadPhase())
606
- mBodyManager->ActivateBodies(&inBodyID, 1);
607
- }
608
- }
609
- }
610
-
611
- Vec3 BodyInterface::GetLinearVelocity(const BodyID &inBodyID) const
612
- {
613
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
614
- if (lock.Succeeded())
615
- {
616
- const Body &body = lock.GetBody();
617
- if (!body.IsStatic())
618
- return body.GetLinearVelocity();
619
- }
620
-
621
- return Vec3::sZero();
622
- }
623
-
624
- void BodyInterface::AddLinearVelocity(const BodyID &inBodyID, Vec3Arg inLinearVelocity)
625
- {
626
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
627
- if (lock.Succeeded())
628
- {
629
- Body &body = lock.GetBody();
630
- if (!body.IsStatic())
631
- {
632
- body.SetLinearVelocityClamped(body.GetLinearVelocity() + inLinearVelocity);
633
-
634
- if (!body.IsActive() && !body.GetLinearVelocity().IsNearZero() && body.IsInBroadPhase())
635
- mBodyManager->ActivateBodies(&inBodyID, 1);
636
- }
637
- }
638
- }
639
-
640
- void BodyInterface::AddLinearAndAngularVelocity(const BodyID &inBodyID, Vec3Arg inLinearVelocity, Vec3Arg inAngularVelocity)
641
- {
642
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
643
- if (lock.Succeeded())
644
- {
645
- Body &body = lock.GetBody();
646
- if (!body.IsStatic())
647
- {
648
- body.SetLinearVelocityClamped(body.GetLinearVelocity() + inLinearVelocity);
649
- body.SetAngularVelocityClamped(body.GetAngularVelocity() + inAngularVelocity);
650
-
651
- if (!body.IsActive() && (!body.GetLinearVelocity().IsNearZero() || !body.GetAngularVelocity().IsNearZero()) && body.IsInBroadPhase())
652
- mBodyManager->ActivateBodies(&inBodyID, 1);
653
- }
654
- }
655
- }
656
-
657
- void BodyInterface::SetAngularVelocity(const BodyID &inBodyID, Vec3Arg inAngularVelocity)
658
- {
659
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
660
- if (lock.Succeeded())
661
- {
662
- Body &body = lock.GetBody();
663
- if (!body.IsStatic())
664
- {
665
- body.SetAngularVelocityClamped(inAngularVelocity);
666
-
667
- if (!body.IsActive() && !inAngularVelocity.IsNearZero() && body.IsInBroadPhase())
668
- mBodyManager->ActivateBodies(&inBodyID, 1);
669
- }
670
- }
671
- }
672
-
673
- Vec3 BodyInterface::GetAngularVelocity(const BodyID &inBodyID) const
674
- {
675
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
676
- if (lock.Succeeded())
677
- {
678
- const Body &body = lock.GetBody();
679
- if (!body.IsStatic())
680
- return body.GetAngularVelocity();
681
- }
682
-
683
- return Vec3::sZero();
684
- }
685
-
686
- Vec3 BodyInterface::GetPointVelocity(const BodyID &inBodyID, RVec3Arg inPoint) const
687
- {
688
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
689
- if (lock.Succeeded())
690
- {
691
- const Body &body = lock.GetBody();
692
- if (!body.IsStatic())
693
- return body.GetPointVelocity(inPoint);
694
- }
695
-
696
- return Vec3::sZero();
697
- }
698
-
699
- void BodyInterface::AddForce(const BodyID &inBodyID, Vec3Arg inForce, EActivation inActivationMode)
700
- {
701
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
702
- if (lock.Succeeded())
703
- {
704
- Body &body = lock.GetBody();
705
- if (body.IsDynamic() && (inActivationMode == EActivation::Activate || body.IsActive()))
706
- {
707
- body.AddForce(inForce);
708
-
709
- if (inActivationMode == EActivation::Activate)
710
- ActivateBodyInternal(body);
711
- }
712
- }
713
- }
714
-
715
- void BodyInterface::AddForce(const BodyID &inBodyID, Vec3Arg inForce, RVec3Arg inPoint, EActivation inActivationMode)
716
- {
717
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
718
- if (lock.Succeeded())
719
- {
720
- Body &body = lock.GetBody();
721
- if (body.IsDynamic() && (inActivationMode == EActivation::Activate || body.IsActive()))
722
- {
723
- body.AddForce(inForce, inPoint);
724
-
725
- if (inActivationMode == EActivation::Activate)
726
- ActivateBodyInternal(body);
727
- }
728
- }
729
- }
730
-
731
- void BodyInterface::AddTorque(const BodyID &inBodyID, Vec3Arg inTorque, EActivation inActivationMode)
732
- {
733
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
734
- if (lock.Succeeded())
735
- {
736
- Body &body = lock.GetBody();
737
- if (body.IsDynamic() && (inActivationMode == EActivation::Activate || body.IsActive()))
738
- {
739
- body.AddTorque(inTorque);
740
-
741
- if (inActivationMode == EActivation::Activate)
742
- ActivateBodyInternal(body);
743
- }
744
- }
745
- }
746
-
747
- void BodyInterface::AddForceAndTorque(const BodyID &inBodyID, Vec3Arg inForce, Vec3Arg inTorque, EActivation inActivationMode)
748
- {
749
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
750
- if (lock.Succeeded())
751
- {
752
- Body &body = lock.GetBody();
753
- if (body.IsDynamic() && (inActivationMode == EActivation::Activate || body.IsActive()))
754
- {
755
- body.AddForce(inForce);
756
- body.AddTorque(inTorque);
757
-
758
- if (inActivationMode == EActivation::Activate)
759
- ActivateBodyInternal(body);
760
- }
761
- }
762
- }
763
-
764
- void BodyInterface::AddImpulse(const BodyID &inBodyID, Vec3Arg inImpulse)
765
- {
766
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
767
- if (lock.Succeeded())
768
- {
769
- Body &body = lock.GetBody();
770
- if (body.IsDynamic())
771
- {
772
- body.AddImpulse(inImpulse);
773
-
774
- if (!body.IsActive())
775
- mBodyManager->ActivateBodies(&inBodyID, 1);
776
- }
777
- }
778
- }
779
-
780
- void BodyInterface::AddImpulse(const BodyID &inBodyID, Vec3Arg inImpulse, RVec3Arg inPoint)
781
- {
782
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
783
- if (lock.Succeeded())
784
- {
785
- Body &body = lock.GetBody();
786
- if (body.IsDynamic())
787
- {
788
- body.AddImpulse(inImpulse, inPoint);
789
-
790
- if (!body.IsActive())
791
- mBodyManager->ActivateBodies(&inBodyID, 1);
792
- }
793
- }
794
- }
795
-
796
- void BodyInterface::AddAngularImpulse(const BodyID &inBodyID, Vec3Arg inAngularImpulse)
797
- {
798
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
799
- if (lock.Succeeded())
800
- {
801
- Body &body = lock.GetBody();
802
- if (body.IsDynamic())
803
- {
804
- body.AddAngularImpulse(inAngularImpulse);
805
-
806
- if (!body.IsActive())
807
- mBodyManager->ActivateBodies(&inBodyID, 1);
808
- }
809
- }
810
- }
811
-
812
- bool BodyInterface::ApplyBuoyancyImpulse(const BodyID &inBodyID, RVec3Arg inSurfacePosition, Vec3Arg inSurfaceNormal, float inBuoyancy, float inLinearDrag, float inAngularDrag, Vec3Arg inFluidVelocity, Vec3Arg inGravity, float inDeltaTime)
813
- {
814
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
815
- if (lock.Succeeded())
816
- {
817
- Body &body = lock.GetBody();
818
- if (body.IsDynamic()
819
- && body.ApplyBuoyancyImpulse(inSurfacePosition, inSurfaceNormal, inBuoyancy, inLinearDrag, inAngularDrag, inFluidVelocity, inGravity, inDeltaTime))
820
- {
821
- ActivateBodyInternal(body);
822
- return true;
823
- }
824
- }
825
-
826
- return false;
827
- }
828
-
829
- void BodyInterface::SetPositionRotationAndVelocity(const BodyID &inBodyID, RVec3Arg inPosition, QuatArg inRotation, Vec3Arg inLinearVelocity, Vec3Arg inAngularVelocity)
830
- {
831
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
832
- if (lock.Succeeded())
833
- {
834
- Body &body = lock.GetBody();
835
-
836
- // Update the position
837
- body.SetPositionAndRotationInternal(inPosition, inRotation);
838
-
839
- // Notify broadphase of change
840
- if (body.IsInBroadPhase())
841
- {
842
- BodyID id = body.GetID();
843
- mBroadPhase->NotifyBodiesAABBChanged(&id, 1);
844
- }
845
-
846
- if (!body.IsStatic())
847
- {
848
- body.SetLinearVelocityClamped(inLinearVelocity);
849
- body.SetAngularVelocityClamped(inAngularVelocity);
850
-
851
- // Optionally activate body
852
- if (!body.IsActive() && (!inLinearVelocity.IsNearZero() || !inAngularVelocity.IsNearZero()) && body.IsInBroadPhase())
853
- mBodyManager->ActivateBodies(&inBodyID, 1);
854
- }
855
- }
856
- }
857
-
858
- void BodyInterface::SetMotionType(const BodyID &inBodyID, EMotionType inMotionType, EActivation inActivationMode)
859
- {
860
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
861
- if (lock.Succeeded())
862
- {
863
- Body &body = lock.GetBody();
864
-
865
- // Deactivate if we're making the body static
866
- if (body.IsActive() && inMotionType == EMotionType::Static)
867
- mBodyManager->DeactivateBodies(&inBodyID, 1);
868
-
869
- body.SetMotionType(inMotionType);
870
-
871
- // Activate body if requested
872
- if (inMotionType != EMotionType::Static && inActivationMode == EActivation::Activate && body.IsInBroadPhase())
873
- ActivateBodyInternal(body);
874
- }
875
- }
876
-
877
- EBodyType BodyInterface::GetBodyType(const BodyID &inBodyID) const
878
- {
879
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
880
- if (lock.Succeeded())
881
- return lock.GetBody().GetBodyType();
882
- else
883
- return EBodyType::RigidBody;
884
- }
885
-
886
- EMotionType BodyInterface::GetMotionType(const BodyID &inBodyID) const
887
- {
888
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
889
- if (lock.Succeeded())
890
- return lock.GetBody().GetMotionType();
891
- else
892
- return EMotionType::Static;
893
- }
894
-
895
- void BodyInterface::SetMotionQuality(const BodyID &inBodyID, EMotionQuality inMotionQuality)
896
- {
897
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
898
- if (lock.Succeeded())
899
- mBodyManager->SetMotionQuality(lock.GetBody(), inMotionQuality);
900
- }
901
-
902
- EMotionQuality BodyInterface::GetMotionQuality(const BodyID &inBodyID) const
903
- {
904
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
905
- if (lock.Succeeded() && !lock.GetBody().IsStatic())
906
- return lock.GetBody().GetMotionProperties()->GetMotionQuality();
907
- else
908
- return EMotionQuality::Discrete;
909
- }
910
-
911
- Mat44 BodyInterface::GetInverseInertia(const BodyID &inBodyID) const
912
- {
913
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
914
- if (lock.Succeeded())
915
- return lock.GetBody().GetInverseInertia();
916
- else
917
- return Mat44::sIdentity();
918
- }
919
-
920
- void BodyInterface::SetRestitution(const BodyID &inBodyID, float inRestitution)
921
- {
922
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
923
- if (lock.Succeeded())
924
- lock.GetBody().SetRestitution(inRestitution);
925
- }
926
-
927
- float BodyInterface::GetRestitution(const BodyID &inBodyID) const
928
- {
929
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
930
- if (lock.Succeeded())
931
- return lock.GetBody().GetRestitution();
932
- else
933
- return 0.0f;
934
- }
935
-
936
- void BodyInterface::SetFriction(const BodyID &inBodyID, float inFriction)
937
- {
938
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
939
- if (lock.Succeeded())
940
- lock.GetBody().SetFriction(inFriction);
941
- }
942
-
943
- float BodyInterface::GetFriction(const BodyID &inBodyID) const
944
- {
945
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
946
- if (lock.Succeeded())
947
- return lock.GetBody().GetFriction();
948
- else
949
- return 0.0f;
950
- }
951
-
952
- void BodyInterface::SetGravityFactor(const BodyID &inBodyID, float inGravityFactor)
953
- {
954
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
955
- if (lock.Succeeded() && lock.GetBody().GetMotionPropertiesUnchecked() != nullptr)
956
- lock.GetBody().GetMotionPropertiesUnchecked()->SetGravityFactor(inGravityFactor);
957
- }
958
-
959
- float BodyInterface::GetGravityFactor(const BodyID &inBodyID) const
960
- {
961
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
962
- if (lock.Succeeded() && lock.GetBody().GetMotionPropertiesUnchecked() != nullptr)
963
- return lock.GetBody().GetMotionPropertiesUnchecked()->GetGravityFactor();
964
- else
965
- return 1.0f;
966
- }
967
-
968
- void BodyInterface::SetMaxLinearVelocity(const BodyID &inBodyID, float inLinearVelocity)
969
- {
970
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
971
- if (lock.Succeeded() && lock.GetBody().GetMotionPropertiesUnchecked() != nullptr)
972
- lock.GetBody().GetMotionPropertiesUnchecked()->SetMaxLinearVelocity(inLinearVelocity);
973
- }
974
-
975
- float BodyInterface::GetMaxLinearVelocity(const BodyID &inBodyID) const
976
- {
977
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
978
- if (lock.Succeeded() && lock.GetBody().GetMotionPropertiesUnchecked() != nullptr)
979
- return lock.GetBody().GetMotionPropertiesUnchecked()->GetMaxLinearVelocity();
980
- else
981
- return 500.0f;
982
- }
983
-
984
- void BodyInterface::SetMaxAngularVelocity(const BodyID &inBodyID, float inAngularVelocity)
985
- {
986
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
987
- if (lock.Succeeded() && lock.GetBody().GetMotionPropertiesUnchecked() != nullptr)
988
- lock.GetBody().GetMotionPropertiesUnchecked()->SetMaxAngularVelocity(inAngularVelocity);
989
- }
990
-
991
- float BodyInterface::GetMaxAngularVelocity(const BodyID &inBodyID) const
992
- {
993
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
994
- if (lock.Succeeded() && lock.GetBody().GetMotionPropertiesUnchecked() != nullptr)
995
- return lock.GetBody().GetMotionPropertiesUnchecked()->GetMaxAngularVelocity();
996
- else
997
- return 0.25f * JPH_PI * 60.0f;
998
- }
999
-
1000
- void BodyInterface::SetUseManifoldReduction(const BodyID &inBodyID, bool inUseReduction)
1001
- {
1002
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
1003
- if (lock.Succeeded())
1004
- {
1005
- Body &body = lock.GetBody();
1006
- if (body.GetUseManifoldReduction() != inUseReduction)
1007
- {
1008
- body.SetUseManifoldReduction(inUseReduction);
1009
-
1010
- // Flag collision cache invalid for this body
1011
- if (body.IsInBroadPhase())
1012
- mBodyManager->InvalidateContactCacheForBody(body);
1013
- }
1014
- }
1015
- }
1016
-
1017
- bool BodyInterface::GetUseManifoldReduction(const BodyID &inBodyID) const
1018
- {
1019
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
1020
- if (lock.Succeeded())
1021
- return lock.GetBody().GetUseManifoldReduction();
1022
- else
1023
- return true;
1024
- }
1025
-
1026
- void BodyInterface::SetIsSensor(const BodyID &inBodyID, bool inIsSensor)
1027
- {
1028
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
1029
- if (lock.Succeeded())
1030
- lock.GetBody().SetIsSensor(inIsSensor);
1031
- }
1032
-
1033
- bool BodyInterface::IsSensor(const BodyID &inBodyID) const
1034
- {
1035
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
1036
- if (lock.Succeeded())
1037
- return lock.GetBody().IsSensor();
1038
- else
1039
- return false;
1040
- }
1041
-
1042
- void BodyInterface::SetCollisionGroup(const BodyID &inBodyID, const CollisionGroup &inCollisionGroup)
1043
- {
1044
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
1045
- if (lock.Succeeded())
1046
- lock.GetBody().SetCollisionGroup(inCollisionGroup);
1047
- }
1048
-
1049
- const CollisionGroup &BodyInterface::GetCollisionGroup(const BodyID &inBodyID) const
1050
- {
1051
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
1052
- if (lock.Succeeded())
1053
- return lock.GetBody().GetCollisionGroup();
1054
- else
1055
- return CollisionGroup::sInvalid;
1056
- }
1057
-
1058
- TransformedShape BodyInterface::GetTransformedShape(const BodyID &inBodyID) const
1059
- {
1060
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
1061
- if (lock.Succeeded())
1062
- return lock.GetBody().GetTransformedShape();
1063
- else
1064
- return TransformedShape();
1065
- }
1066
-
1067
- uint64 BodyInterface::GetUserData(const BodyID &inBodyID) const
1068
- {
1069
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
1070
- if (lock.Succeeded())
1071
- return lock.GetBody().GetUserData();
1072
- else
1073
- return 0;
1074
- }
1075
-
1076
- void BodyInterface::SetUserData(const BodyID &inBodyID, uint64 inUserData) const
1077
- {
1078
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
1079
- if (lock.Succeeded())
1080
- lock.GetBody().SetUserData(inUserData);
1081
- }
1082
-
1083
- const PhysicsMaterial *BodyInterface::GetMaterial(const BodyID &inBodyID, const SubShapeID &inSubShapeID) const
1084
- {
1085
- BodyLockRead lock(*mBodyLockInterface, inBodyID);
1086
- if (lock.Succeeded())
1087
- return lock.GetBody().GetShape()->GetMaterial(inSubShapeID);
1088
- else
1089
- return PhysicsMaterial::sDefault;
1090
- }
1091
-
1092
- void BodyInterface::InvalidateContactCache(const BodyID &inBodyID)
1093
- {
1094
- BodyLockWrite lock(*mBodyLockInterface, inBodyID);
1095
- if (lock.SucceededAndIsInBroadPhase())
1096
- mBodyManager->InvalidateContactCacheForBody(lock.GetBody());
1097
- }
1098
-
1099
- JPH_NAMESPACE_END