@bloomengine/engine 0.3.3 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/native/shared/build.rs +137 -6
  2. package/package.json +4 -11
  3. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/build.gradle +0 -51
  4. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/AndroidManifest.xml +0 -20
  5. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/cpp/CMakeLists.txt +0 -20
  6. package/native/third_party/JoltPhysics/Build/Android/UnitTests/build.gradle +0 -51
  7. package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/AndroidManifest.xml +0 -20
  8. package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/cpp/CMakeLists.txt +0 -20
  9. package/native/third_party/JoltPhysics/Build/Android/build.gradle +0 -17
  10. package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.jar +0 -0
  11. package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.properties +0 -5
  12. package/native/third_party/JoltPhysics/Build/Android/gradle.properties +0 -21
  13. package/native/third_party/JoltPhysics/Build/Android/gradlew +0 -185
  14. package/native/third_party/JoltPhysics/Build/Android/gradlew.bat +0 -89
  15. package/native/third_party/JoltPhysics/Build/Android/settings.gradle +0 -10
  16. package/native/third_party/JoltPhysics/Build/CMakeLists.txt +0 -449
  17. package/native/third_party/JoltPhysics/Build/README.md +0 -250
  18. package/native/third_party/JoltPhysics/Build/cmake_linux_clang_gcc.sh +0 -28
  19. package/native/third_party/JoltPhysics/Build/cmake_linux_emscripten.sh +0 -19
  20. package/native/third_party/JoltPhysics/Build/cmake_linux_mingw.sh +0 -19
  21. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl.bat +0 -3
  22. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_32bit.bat +0 -3
  23. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm.bat +0 -3
  24. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm_32bit.bat +0 -4
  25. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_cross_platform_deterministic.bat +0 -3
  26. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_double.bat +0 -3
  27. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_no_object_stream.bat +0 -3
  28. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang.bat +0 -10
  29. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_cross_platform_deterministic.bat +0 -10
  30. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_double.bat +0 -10
  31. package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp.bat +0 -5
  32. package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp_arm.bat +0 -5
  33. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl.bat +0 -3
  34. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_cross_platform_deterministic.bat +0 -3
  35. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_double.bat +0 -3
  36. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang.bat +0 -10
  37. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_cross_platform_deterministic.bat +0 -10
  38. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_double.bat +0 -10
  39. package/native/third_party/JoltPhysics/Build/cmake_windows_mingw.sh +0 -19
  40. package/native/third_party/JoltPhysics/Build/cmake_xcode_ios.sh +0 -4
  41. package/native/third_party/JoltPhysics/Build/cmake_xcode_macos.sh +0 -4
  42. package/native/third_party/JoltPhysics/Build/iOS/JoltViewerInfo.plist +0 -34
  43. package/native/third_party/JoltPhysics/Build/iOS/SamplesInfo.plist +0 -34
  44. package/native/third_party/JoltPhysics/Build/iOS/UnitTestsInfo.plist +0 -34
  45. package/native/third_party/JoltPhysics/Build/macOS/icon.icns +0 -0
  46. package/native/third_party/JoltPhysics/Build/macos_install_vulkan_sdk.sh +0 -13
  47. package/native/third_party/JoltPhysics/Build/ubuntu24_install_vulkan_sdk.sh +0 -4
  48. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.cpp +0 -242
  49. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.h +0 -121
  50. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeToBuffer.h +0 -296
  51. package/native/third_party/JoltPhysics/Jolt/AABBTree/NodeCodec/NodeCodecQuadTreeHalfFloat.h +0 -323
  52. package/native/third_party/JoltPhysics/Jolt/AABBTree/TriangleCodec/TriangleCodecIndexed8BitPackSOA4Flags.h +0 -555
  53. package/native/third_party/JoltPhysics/Jolt/ConfigurationString.h +0 -112
  54. package/native/third_party/JoltPhysics/Jolt/Core/ARMNeon.h +0 -94
  55. package/native/third_party/JoltPhysics/Jolt/Core/Array.h +0 -713
  56. package/native/third_party/JoltPhysics/Jolt/Core/Atomics.h +0 -44
  57. package/native/third_party/JoltPhysics/Jolt/Core/BinaryHeap.h +0 -96
  58. package/native/third_party/JoltPhysics/Jolt/Core/ByteBuffer.h +0 -74
  59. package/native/third_party/JoltPhysics/Jolt/Core/Color.cpp +0 -38
  60. package/native/third_party/JoltPhysics/Jolt/Core/Color.h +0 -98
  61. package/native/third_party/JoltPhysics/Jolt/Core/Core.h +0 -652
  62. package/native/third_party/JoltPhysics/Jolt/Core/FPControlWord.h +0 -143
  63. package/native/third_party/JoltPhysics/Jolt/Core/FPException.h +0 -96
  64. package/native/third_party/JoltPhysics/Jolt/Core/FPFlushDenormals.h +0 -43
  65. package/native/third_party/JoltPhysics/Jolt/Core/Factory.cpp +0 -92
  66. package/native/third_party/JoltPhysics/Jolt/Core/Factory.h +0 -54
  67. package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.h +0 -122
  68. package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.inl +0 -215
  69. package/native/third_party/JoltPhysics/Jolt/Core/HashCombine.h +0 -234
  70. package/native/third_party/JoltPhysics/Jolt/Core/HashTable.h +0 -876
  71. package/native/third_party/JoltPhysics/Jolt/Core/InsertionSort.h +0 -58
  72. package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.cpp +0 -27
  73. package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.h +0 -38
  74. package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.h +0 -311
  75. package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.inl +0 -56
  76. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.cpp +0 -65
  77. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.h +0 -62
  78. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.cpp +0 -364
  79. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.h +0 -101
  80. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.cpp +0 -230
  81. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.h +0 -85
  82. package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.cpp +0 -51
  83. package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.h +0 -67
  84. package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.h +0 -182
  85. package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.inl +0 -351
  86. package/native/third_party/JoltPhysics/Jolt/Core/Memory.cpp +0 -85
  87. package/native/third_party/JoltPhysics/Jolt/Core/Memory.h +0 -85
  88. package/native/third_party/JoltPhysics/Jolt/Core/Mutex.h +0 -223
  89. package/native/third_party/JoltPhysics/Jolt/Core/MutexArray.h +0 -98
  90. package/native/third_party/JoltPhysics/Jolt/Core/NonCopyable.h +0 -18
  91. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.cpp +0 -677
  92. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.h +0 -301
  93. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.inl +0 -90
  94. package/native/third_party/JoltPhysics/Jolt/Core/QuickSort.h +0 -137
  95. package/native/third_party/JoltPhysics/Jolt/Core/RTTI.cpp +0 -149
  96. package/native/third_party/JoltPhysics/Jolt/Core/RTTI.h +0 -436
  97. package/native/third_party/JoltPhysics/Jolt/Core/Reference.h +0 -244
  98. package/native/third_party/JoltPhysics/Jolt/Core/Result.h +0 -174
  99. package/native/third_party/JoltPhysics/Jolt/Core/STLAlignedAllocator.h +0 -72
  100. package/native/third_party/JoltPhysics/Jolt/Core/STLAllocator.h +0 -127
  101. package/native/third_party/JoltPhysics/Jolt/Core/STLLocalAllocator.h +0 -170
  102. package/native/third_party/JoltPhysics/Jolt/Core/STLTempAllocator.h +0 -80
  103. package/native/third_party/JoltPhysics/Jolt/Core/ScopeExit.h +0 -49
  104. package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.cpp +0 -135
  105. package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.h +0 -68
  106. package/native/third_party/JoltPhysics/Jolt/Core/StaticArray.h +0 -329
  107. package/native/third_party/JoltPhysics/Jolt/Core/StreamIn.h +0 -120
  108. package/native/third_party/JoltPhysics/Jolt/Core/StreamOut.h +0 -97
  109. package/native/third_party/JoltPhysics/Jolt/Core/StreamUtils.h +0 -168
  110. package/native/third_party/JoltPhysics/Jolt/Core/StreamWrapper.h +0 -53
  111. package/native/third_party/JoltPhysics/Jolt/Core/StridedPtr.h +0 -63
  112. package/native/third_party/JoltPhysics/Jolt/Core/StringTools.cpp +0 -101
  113. package/native/third_party/JoltPhysics/Jolt/Core/StringTools.h +0 -38
  114. package/native/third_party/JoltPhysics/Jolt/Core/TempAllocator.h +0 -209
  115. package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.cpp +0 -37
  116. package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.h +0 -58
  117. package/native/third_party/JoltPhysics/Jolt/Core/UnorderedMap.h +0 -80
  118. package/native/third_party/JoltPhysics/Jolt/Core/UnorderedSet.h +0 -32
  119. package/native/third_party/JoltPhysics/Jolt/Geometry/AABox.h +0 -313
  120. package/native/third_party/JoltPhysics/Jolt/Geometry/AABox4.h +0 -224
  121. package/native/third_party/JoltPhysics/Jolt/Geometry/ClipPoly.h +0 -200
  122. package/native/third_party/JoltPhysics/Jolt/Geometry/ClosestPoint.h +0 -498
  123. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.cpp +0 -1467
  124. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.h +0 -276
  125. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.cpp +0 -335
  126. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.h +0 -105
  127. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexSupport.h +0 -188
  128. package/native/third_party/JoltPhysics/Jolt/Geometry/EPAConvexHullBuilder.h +0 -845
  129. package/native/third_party/JoltPhysics/Jolt/Geometry/EPAPenetrationDepth.h +0 -557
  130. package/native/third_party/JoltPhysics/Jolt/Geometry/Ellipse.h +0 -77
  131. package/native/third_party/JoltPhysics/Jolt/Geometry/GJKClosestPoint.h +0 -945
  132. package/native/third_party/JoltPhysics/Jolt/Geometry/IndexedTriangle.h +0 -130
  133. package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.cpp +0 -222
  134. package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.h +0 -19
  135. package/native/third_party/JoltPhysics/Jolt/Geometry/MortonCode.h +0 -40
  136. package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.cpp +0 -178
  137. package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.h +0 -39
  138. package/native/third_party/JoltPhysics/Jolt/Geometry/Plane.h +0 -104
  139. package/native/third_party/JoltPhysics/Jolt/Geometry/RayAABox.h +0 -241
  140. package/native/third_party/JoltPhysics/Jolt/Geometry/RayCapsule.h +0 -37
  141. package/native/third_party/JoltPhysics/Jolt/Geometry/RayCylinder.h +0 -101
  142. package/native/third_party/JoltPhysics/Jolt/Geometry/RaySphere.h +0 -96
  143. package/native/third_party/JoltPhysics/Jolt/Geometry/RayTriangle.h +0 -158
  144. package/native/third_party/JoltPhysics/Jolt/Geometry/Sphere.h +0 -72
  145. package/native/third_party/JoltPhysics/Jolt/Geometry/Triangle.h +0 -34
  146. package/native/third_party/JoltPhysics/Jolt/Jolt.cmake +0 -703
  147. package/native/third_party/JoltPhysics/Jolt/Jolt.h +0 -16
  148. package/native/third_party/JoltPhysics/Jolt/Jolt.natvis +0 -116
  149. package/native/third_party/JoltPhysics/Jolt/Math/BVec16.h +0 -99
  150. package/native/third_party/JoltPhysics/Jolt/Math/BVec16.inl +0 -177
  151. package/native/third_party/JoltPhysics/Jolt/Math/DMat44.h +0 -158
  152. package/native/third_party/JoltPhysics/Jolt/Math/DMat44.inl +0 -310
  153. package/native/third_party/JoltPhysics/Jolt/Math/DVec3.h +0 -291
  154. package/native/third_party/JoltPhysics/Jolt/Math/DVec3.inl +0 -941
  155. package/native/third_party/JoltPhysics/Jolt/Math/Double3.h +0 -48
  156. package/native/third_party/JoltPhysics/Jolt/Math/DynMatrix.h +0 -31
  157. package/native/third_party/JoltPhysics/Jolt/Math/EigenValueSymmetric.h +0 -177
  158. package/native/third_party/JoltPhysics/Jolt/Math/FindRoot.h +0 -42
  159. package/native/third_party/JoltPhysics/Jolt/Math/Float2.h +0 -36
  160. package/native/third_party/JoltPhysics/Jolt/Math/Float3.h +0 -50
  161. package/native/third_party/JoltPhysics/Jolt/Math/Float4.h +0 -44
  162. package/native/third_party/JoltPhysics/Jolt/Math/GaussianElimination.h +0 -102
  163. package/native/third_party/JoltPhysics/Jolt/Math/HalfFloat.h +0 -208
  164. package/native/third_party/JoltPhysics/Jolt/Math/Mat44.h +0 -243
  165. package/native/third_party/JoltPhysics/Jolt/Math/Mat44.inl +0 -952
  166. package/native/third_party/JoltPhysics/Jolt/Math/Math.h +0 -208
  167. package/native/third_party/JoltPhysics/Jolt/Math/MathTypes.h +0 -32
  168. package/native/third_party/JoltPhysics/Jolt/Math/Matrix.h +0 -259
  169. package/native/third_party/JoltPhysics/Jolt/Math/Quat.h +0 -268
  170. package/native/third_party/JoltPhysics/Jolt/Math/Quat.inl +0 -406
  171. package/native/third_party/JoltPhysics/Jolt/Math/Real.h +0 -44
  172. package/native/third_party/JoltPhysics/Jolt/Math/Swizzle.h +0 -19
  173. package/native/third_party/JoltPhysics/Jolt/Math/Trigonometry.h +0 -79
  174. package/native/third_party/JoltPhysics/Jolt/Math/UVec4.h +0 -232
  175. package/native/third_party/JoltPhysics/Jolt/Math/UVec4.inl +0 -636
  176. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.cpp +0 -71
  177. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.h +0 -308
  178. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.inl +0 -942
  179. package/native/third_party/JoltPhysics/Jolt/Math/Vec4.h +0 -320
  180. package/native/third_party/JoltPhysics/Jolt/Math/Vec4.inl +0 -1152
  181. package/native/third_party/JoltPhysics/Jolt/Math/Vector.h +0 -211
  182. package/native/third_party/JoltPhysics/Jolt/ObjectStream/GetPrimitiveTypeOfType.h +0 -54
  183. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.cpp +0 -38
  184. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.h +0 -337
  185. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.cpp +0 -252
  186. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.h +0 -57
  187. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.cpp +0 -165
  188. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.h +0 -57
  189. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.cpp +0 -635
  190. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.h +0 -148
  191. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.cpp +0 -166
  192. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.h +0 -101
  193. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.cpp +0 -418
  194. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.h +0 -55
  195. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.cpp +0 -255
  196. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.h +0 -62
  197. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTypes.h +0 -26
  198. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttribute.h +0 -111
  199. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeEnum.h +0 -67
  200. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeTyped.h +0 -60
  201. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.cpp +0 -15
  202. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.h +0 -170
  203. package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.cpp +0 -70
  204. package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.h +0 -45
  205. package/native/third_party/JoltPhysics/Jolt/Physics/Body/AllowedDOFs.h +0 -68
  206. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.cpp +0 -426
  207. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.h +0 -452
  208. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.inl +0 -197
  209. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyAccess.h +0 -68
  210. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyActivationListener.h +0 -28
  211. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.cpp +0 -234
  212. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.h +0 -124
  213. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyFilter.h +0 -130
  214. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyID.h +0 -101
  215. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.cpp +0 -1099
  216. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.h +0 -324
  217. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLock.h +0 -111
  218. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockInterface.h +0 -134
  219. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockMulti.h +0 -120
  220. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.cpp +0 -1220
  221. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.h +0 -403
  222. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyPair.h +0 -36
  223. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyType.h +0 -19
  224. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.cpp +0 -185
  225. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.h +0 -58
  226. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.cpp +0 -92
  227. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.h +0 -308
  228. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.inl +0 -178
  229. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionQuality.h +0 -31
  230. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionType.h +0 -17
  231. package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.cpp +0 -354
  232. package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.h +0 -159
  233. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.cpp +0 -59
  234. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.h +0 -157
  235. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterID.h +0 -98
  236. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.cpp +0 -1933
  237. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.h +0 -752
  238. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/AABoxCast.h +0 -20
  239. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdgeMode.h +0 -17
  240. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdges.h +0 -114
  241. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BackFaceMode.h +0 -16
  242. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.cpp +0 -16
  243. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.h +0 -109
  244. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.cpp +0 -313
  245. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.h +0 -38
  246. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayer.h +0 -148
  247. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceMask.h +0 -92
  248. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceTable.h +0 -64
  249. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.cpp +0 -629
  250. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.h +0 -108
  251. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuery.h +0 -56
  252. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterMask.h +0 -35
  253. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterTable.h +0 -66
  254. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.cpp +0 -1768
  255. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.h +0 -389
  256. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.cpp +0 -107
  257. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.h +0 -46
  258. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastResult.h +0 -37
  259. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.cpp +0 -223
  260. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.h +0 -49
  261. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollectFacesMode.h +0 -16
  262. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.cpp +0 -155
  263. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.h +0 -56
  264. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollidePointResult.h +0 -25
  265. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShape.h +0 -106
  266. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShapeVsShapePerLeaf.h +0 -94
  267. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVertexIterator.h +0 -110
  268. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVerticesVsTriangles.h +0 -102
  269. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.cpp +0 -121
  270. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.h +0 -50
  271. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollector.h +0 -109
  272. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollectorImpl.h +0 -219
  273. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.cpp +0 -107
  274. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.h +0 -97
  275. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.cpp +0 -35
  276. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.h +0 -97
  277. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ContactListener.h +0 -143
  278. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.cpp +0 -213
  279. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.h +0 -48
  280. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.cpp +0 -32
  281. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.h +0 -46
  282. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.cpp +0 -38
  283. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.h +0 -130
  284. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/InternalEdgeRemovingCollector.h +0 -279
  285. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.cpp +0 -271
  286. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.h +0 -44
  287. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.cpp +0 -448
  288. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.h +0 -77
  289. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.cpp +0 -62
  290. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.h +0 -110
  291. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayer.h +0 -111
  292. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterMask.h +0 -52
  293. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterTable.h +0 -78
  294. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.cpp +0 -35
  295. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.h +0 -57
  296. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.cpp +0 -38
  297. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.h +0 -37
  298. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/RayCast.h +0 -87
  299. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.cpp +0 -318
  300. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.h +0 -115
  301. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.cpp +0 -438
  302. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.h +0 -129
  303. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.cpp +0 -433
  304. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.h +0 -354
  305. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShapeVisitors.h +0 -461
  306. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.cpp +0 -1311
  307. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.h +0 -202
  308. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.cpp +0 -566
  309. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.h +0 -150
  310. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.cpp +0 -418
  311. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.h +0 -126
  312. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.cpp +0 -87
  313. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.h +0 -80
  314. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.cpp +0 -64
  315. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.h +0 -75
  316. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/GetTrianglesContext.h +0 -248
  317. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.cpp +0 -2754
  318. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.h +0 -380
  319. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.cpp +0 -1305
  320. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.h +0 -228
  321. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.cpp +0 -596
  322. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.h +0 -176
  323. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.cpp +0 -217
  324. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.h +0 -140
  325. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.cpp +0 -541
  326. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.h +0 -147
  327. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PolyhedronSubmergedVolumeCalculator.h +0 -319
  328. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.cpp +0 -333
  329. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.h +0 -161
  330. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaleHelpers.h +0 -83
  331. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.cpp +0 -238
  332. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.h +0 -145
  333. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.cpp +0 -325
  334. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.h +0 -466
  335. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.cpp +0 -347
  336. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.h +0 -125
  337. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.cpp +0 -674
  338. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.h +0 -139
  339. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeID.h +0 -138
  340. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeIDPair.h +0 -65
  341. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.cpp +0 -453
  342. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.gliffy +0 -1
  343. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.h +0 -135
  344. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.cpp +0 -691
  345. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.h +0 -132
  346. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.cpp +0 -430
  347. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.h +0 -143
  348. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeCast.h +0 -173
  349. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeFilter.h +0 -73
  350. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilter.h +0 -40
  351. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilterWrapper.h +0 -58
  352. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SortReverseAndStore.h +0 -48
  353. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.cpp +0 -180
  354. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.h +0 -194
  355. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/CalculateSolverSteps.h +0 -70
  356. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.cpp +0 -246
  357. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.h +0 -133
  358. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.cpp +0 -73
  359. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.h +0 -243
  360. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.cpp +0 -289
  361. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.h +0 -100
  362. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AngleConstraintPart.h +0 -257
  363. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AxisConstraintPart.h +0 -682
  364. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/DualAxisConstraintPart.h +0 -276
  365. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/GearConstraintPart.h +0 -195
  366. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/HingeRotationConstraintPart.h +0 -222
  367. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/IndependentAxisConstraintPart.h +0 -246
  368. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/PointConstraintPart.h +0 -239
  369. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RackAndPinionConstraintPart.h +0 -196
  370. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationEulerConstraintPart.h +0 -283
  371. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationQuatConstraintPart.h +0 -246
  372. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SpringPart.h +0 -169
  373. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SwingTwistConstraintPart.h +0 -597
  374. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.cpp +0 -1804
  375. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.h +0 -524
  376. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.cpp +0 -266
  377. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.h +0 -120
  378. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.cpp +0 -215
  379. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.h +0 -96
  380. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.cpp +0 -188
  381. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.h +0 -116
  382. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.cpp +0 -443
  383. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.h +0 -205
  384. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.cpp +0 -43
  385. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.h +0 -66
  386. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.cpp +0 -458
  387. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.h +0 -191
  388. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.cpp +0 -85
  389. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.h +0 -76
  390. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.cpp +0 -308
  391. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.h +0 -54
  392. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.cpp +0 -157
  393. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.h +0 -94
  394. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.cpp +0 -253
  395. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.h +0 -137
  396. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.cpp +0 -189
  397. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.h +0 -118
  398. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.cpp +0 -900
  399. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.h +0 -289
  400. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.cpp +0 -501
  401. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.h +0 -198
  402. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.cpp +0 -35
  403. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.h +0 -70
  404. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.cpp +0 -524
  405. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.h +0 -197
  406. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.cpp +0 -56
  407. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.h +0 -65
  408. package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.cpp +0 -17
  409. package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.h +0 -159
  410. package/native/third_party/JoltPhysics/Jolt/Physics/EActivation.h +0 -16
  411. package/native/third_party/JoltPhysics/Jolt/Physics/EPhysicsUpdateError.h +0 -37
  412. package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.cpp +0 -492
  413. package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.h +0 -144
  414. package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.cpp +0 -582
  415. package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.h +0 -187
  416. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsLock.h +0 -169
  417. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.cpp +0 -261
  418. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.h +0 -104
  419. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSettings.h +0 -125
  420. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsStepListener.h +0 -37
  421. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.cpp +0 -2915
  422. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.h +0 -391
  423. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.cpp +0 -25
  424. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.h +0 -176
  425. package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.cpp +0 -744
  426. package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.h +0 -245
  427. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyContactListener.h +0 -55
  428. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.cpp +0 -128
  429. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.h +0 -75
  430. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyManifold.h +0 -74
  431. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.cpp +0 -1501
  432. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.h +0 -333
  433. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.cpp +0 -354
  434. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.h +0 -73
  435. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.cpp +0 -1487
  436. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.h +0 -390
  437. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyUpdateContext.h +0 -63
  438. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyVertex.h +0 -36
  439. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorder.h +0 -136
  440. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.cpp +0 -90
  441. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.h +0 -50
  442. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.cpp +0 -306
  443. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.h +0 -119
  444. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.cpp +0 -547
  445. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.h +0 -169
  446. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.cpp +0 -33
  447. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.h +0 -33
  448. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.cpp +0 -376
  449. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.h +0 -146
  450. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.cpp +0 -703
  451. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.h +0 -252
  452. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.cpp +0 -17
  453. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.h +0 -87
  454. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.cpp +0 -81
  455. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.h +0 -39
  456. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.cpp +0 -122
  457. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.h +0 -93
  458. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.cpp +0 -52
  459. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.h +0 -56
  460. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.cpp +0 -159
  461. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.h +0 -87
  462. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.cpp +0 -93
  463. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.h +0 -148
  464. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.cpp +0 -866
  465. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.h +0 -205
  466. package/native/third_party/JoltPhysics/Jolt/RegisterTypes.cpp +0 -204
  467. package/native/third_party/JoltPhysics/Jolt/RegisterTypes.h +0 -29
  468. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.cpp +0 -1107
  469. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.h +0 -383
  470. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.cpp +0 -168
  471. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.h +0 -48
  472. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.cpp +0 -158
  473. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.h +0 -130
  474. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.cpp +0 -80
  475. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.h +0 -88
  476. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.cpp +0 -165
  477. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.h +0 -91
  478. package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.cpp +0 -82
  479. package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.h +0 -72
  480. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.cpp +0 -237
  481. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.h +0 -145
  482. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.cpp +0 -87
  483. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.h +0 -82
  484. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.cpp +0 -73
  485. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.h +0 -84
  486. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.cpp +0 -139
  487. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.h +0 -52
  488. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.cpp +0 -43
  489. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.h +0 -28
  490. package/native/third_party/JoltPhysics/LICENSE +0 -7
  491. package/native/third_party/JoltPhysics/README.md +0 -173
  492. package/native/third_party/bloom_jolt/CMakeLists.txt +0 -87
  493. package/native/third_party/bloom_jolt/include/bloom_jolt.h +0 -519
  494. package/native/third_party/bloom_jolt/src/bloom_jolt.cpp +0 -1780
@@ -1,242 +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/AABBTree/AABBTreeBuilder.h>
8
-
9
- JPH_NAMESPACE_BEGIN
10
-
11
- uint AABBTreeBuilder::Node::GetMinDepth(const Array<Node> &inNodes) const
12
- {
13
- if (HasChildren())
14
- {
15
- uint left = inNodes[mChild[0]].GetMinDepth(inNodes);
16
- uint right = inNodes[mChild[1]].GetMinDepth(inNodes);
17
- return min(left, right) + 1;
18
- }
19
- else
20
- return 1;
21
- }
22
-
23
- uint AABBTreeBuilder::Node::GetMaxDepth(const Array<Node> &inNodes) const
24
- {
25
- if (HasChildren())
26
- {
27
- uint left = inNodes[mChild[0]].GetMaxDepth(inNodes);
28
- uint right = inNodes[mChild[1]].GetMaxDepth(inNodes);
29
- return max(left, right) + 1;
30
- }
31
- else
32
- return 1;
33
- }
34
-
35
- uint AABBTreeBuilder::Node::GetNodeCount(const Array<Node> &inNodes) const
36
- {
37
- if (HasChildren())
38
- return inNodes[mChild[0]].GetNodeCount(inNodes) + inNodes[mChild[1]].GetNodeCount(inNodes) + 1;
39
- else
40
- return 1;
41
- }
42
-
43
- uint AABBTreeBuilder::Node::GetLeafNodeCount(const Array<Node> &inNodes) const
44
- {
45
- if (HasChildren())
46
- return inNodes[mChild[0]].GetLeafNodeCount(inNodes) + inNodes[mChild[1]].GetLeafNodeCount(inNodes);
47
- else
48
- return 1;
49
- }
50
-
51
- uint AABBTreeBuilder::Node::GetTriangleCountInTree(const Array<Node> &inNodes) const
52
- {
53
- if (HasChildren())
54
- return inNodes[mChild[0]].GetTriangleCountInTree(inNodes) + inNodes[mChild[1]].GetTriangleCountInTree(inNodes);
55
- else
56
- return GetTriangleCount();
57
- }
58
-
59
- void AABBTreeBuilder::Node::GetTriangleCountPerNode(const Array<Node> &inNodes, float &outAverage, uint &outMin, uint &outMax) const
60
- {
61
- outMin = INT_MAX;
62
- outMax = 0;
63
- outAverage = 0;
64
- uint avg_divisor = 0;
65
- GetTriangleCountPerNodeInternal(inNodes, outAverage, avg_divisor, outMin, outMax);
66
- if (avg_divisor > 0)
67
- outAverage /= avg_divisor;
68
- }
69
-
70
- float AABBTreeBuilder::Node::CalculateSAHCost(const Array<Node> &inNodes, float inCostTraversal, float inCostLeaf) const
71
- {
72
- float surface_area = mBounds.GetSurfaceArea();
73
- return surface_area > 0.0f? CalculateSAHCostInternal(inNodes, inCostTraversal / surface_area, inCostLeaf / surface_area) : 0.0f;
74
- }
75
-
76
- void AABBTreeBuilder::Node::GetNChildren(const Array<Node> &inNodes, uint inN, Array<const Node*> &outChildren) const
77
- {
78
- JPH_ASSERT(outChildren.empty());
79
-
80
- // Check if there is anything to expand
81
- if (!HasChildren())
82
- return;
83
-
84
- // Start with the children of this node
85
- outChildren.push_back(&inNodes[mChild[0]]);
86
- outChildren.push_back(&inNodes[mChild[1]]);
87
-
88
- size_t next = 0;
89
- bool all_triangles = true;
90
- while (outChildren.size() < inN)
91
- {
92
- // If we have looped over all nodes, start over with the first node again
93
- if (next >= outChildren.size())
94
- {
95
- // If there only triangle nodes left, we have to terminate
96
- if (all_triangles)
97
- return;
98
- next = 0;
99
- all_triangles = true;
100
- }
101
-
102
- // Try to expand this node into its two children
103
- const Node *to_expand = outChildren[next];
104
- if (to_expand->HasChildren())
105
- {
106
- outChildren.erase(outChildren.begin() + next);
107
- outChildren.push_back(&inNodes[to_expand->mChild[0]]);
108
- outChildren.push_back(&inNodes[to_expand->mChild[1]]);
109
- all_triangles = false;
110
- }
111
- else
112
- {
113
- ++next;
114
- }
115
- }
116
- }
117
-
118
- float AABBTreeBuilder::Node::CalculateSAHCostInternal(const Array<Node> &inNodes, float inCostTraversalDivSurfaceArea, float inCostLeafDivSurfaceArea) const
119
- {
120
- if (HasChildren())
121
- return inCostTraversalDivSurfaceArea * mBounds.GetSurfaceArea()
122
- + inNodes[mChild[0]].CalculateSAHCostInternal(inNodes, inCostTraversalDivSurfaceArea, inCostLeafDivSurfaceArea)
123
- + inNodes[mChild[1]].CalculateSAHCostInternal(inNodes, inCostTraversalDivSurfaceArea, inCostLeafDivSurfaceArea);
124
- else
125
- return inCostLeafDivSurfaceArea * mBounds.GetSurfaceArea() * GetTriangleCount();
126
- }
127
-
128
- void AABBTreeBuilder::Node::GetTriangleCountPerNodeInternal(const Array<Node> &inNodes, float &outAverage, uint &outAverageDivisor, uint &outMin, uint &outMax) const
129
- {
130
- if (HasChildren())
131
- {
132
- inNodes[mChild[0]].GetTriangleCountPerNodeInternal(inNodes, outAverage, outAverageDivisor, outMin, outMax);
133
- inNodes[mChild[1]].GetTriangleCountPerNodeInternal(inNodes, outAverage, outAverageDivisor, outMin, outMax);
134
- }
135
- else
136
- {
137
- outAverage += GetTriangleCount();
138
- outAverageDivisor++;
139
- outMin = min(outMin, GetTriangleCount());
140
- outMax = max(outMax, GetTriangleCount());
141
- }
142
- }
143
-
144
- AABBTreeBuilder::AABBTreeBuilder(TriangleSplitter &inSplitter, uint inMaxTrianglesPerLeaf) :
145
- mTriangleSplitter(inSplitter),
146
- mMaxTrianglesPerLeaf(inMaxTrianglesPerLeaf)
147
- {
148
- }
149
-
150
- AABBTreeBuilder::Node *AABBTreeBuilder::Build(AABBTreeBuilderStats &outStats)
151
- {
152
- TriangleSplitter::Range initial = mTriangleSplitter.GetInitialRange();
153
-
154
- // Worst case for number of nodes: 1 leaf node per triangle. At each level above, the number of nodes is half that of the level below.
155
- // This means that at most we'll be allocating 2x the number of triangles in nodes.
156
- mNodes.reserve(2 * initial.Count());
157
- mTriangles.reserve(initial.Count());
158
-
159
- // Build the tree
160
- Node &root = mNodes[BuildInternal(initial)];
161
-
162
- // Collect stats
163
- float avg_triangles_per_leaf;
164
- uint min_triangles_per_leaf, max_triangles_per_leaf;
165
- root.GetTriangleCountPerNode(mNodes, avg_triangles_per_leaf, min_triangles_per_leaf, max_triangles_per_leaf);
166
-
167
- mTriangleSplitter.GetStats(outStats.mSplitterStats);
168
-
169
- outStats.mSAHCost = root.CalculateSAHCost(mNodes, 1.0f, 1.0f);
170
- outStats.mMinDepth = root.GetMinDepth(mNodes);
171
- outStats.mMaxDepth = root.GetMaxDepth(mNodes);
172
- outStats.mNodeCount = root.GetNodeCount(mNodes);
173
- outStats.mLeafNodeCount = root.GetLeafNodeCount(mNodes);
174
- outStats.mMaxTrianglesPerLeaf = mMaxTrianglesPerLeaf;
175
- outStats.mTreeMinTrianglesPerLeaf = min_triangles_per_leaf;
176
- outStats.mTreeMaxTrianglesPerLeaf = max_triangles_per_leaf;
177
- outStats.mTreeAvgTrianglesPerLeaf = avg_triangles_per_leaf;
178
-
179
- return &root;
180
- }
181
-
182
- uint AABBTreeBuilder::BuildInternal(const TriangleSplitter::Range &inTriangles)
183
- {
184
- // Check if there are too many triangles left
185
- if (inTriangles.Count() > mMaxTrianglesPerLeaf)
186
- {
187
- // Split triangles in two batches
188
- TriangleSplitter::Range left, right;
189
- if (!mTriangleSplitter.Split(inTriangles, left, right))
190
- {
191
- // When the trace below triggers:
192
- //
193
- // This code builds a tree structure to accelerate collision detection.
194
- // At top level it will start with all triangles in a mesh and then divides the triangles into two batches.
195
- // This process repeats until until the batch size is smaller than mMaxTrianglePerLeaf.
196
- //
197
- // It uses a TriangleSplitter to find a good split. When this warning triggers, the splitter was not able
198
- // to create a reasonable split for the triangles. This usually happens when the triangles in a batch are
199
- // intersecting. They could also be overlapping when projected on the 3 coordinate axis.
200
- //
201
- // To solve this issue, you could try to pass your mesh through a mesh cleaning / optimization algorithm.
202
- // You could also inspect the triangles that cause this issue and see if that part of the mesh can be fixed manually.
203
- //
204
- // When you do not fix this warning, the tree will be less efficient for collision detection, but it will still work.
205
- JPH_IF_DEBUG(Trace("AABBTreeBuilder: Doing random split for %d triangles (max per node: %u)!", (int)inTriangles.Count(), mMaxTrianglesPerLeaf);)
206
- int half = inTriangles.Count() / 2;
207
- JPH_ASSERT(half > 0);
208
- left = TriangleSplitter::Range(inTriangles.mBegin, inTriangles.mBegin + half);
209
- right = TriangleSplitter::Range(inTriangles.mBegin + half, inTriangles.mEnd);
210
- }
211
-
212
- // Recursively build
213
- const uint node_index = (uint)mNodes.size();
214
- mNodes.push_back(Node());
215
- uint left_index = BuildInternal(left);
216
- uint right_index = BuildInternal(right);
217
- Node &node = mNodes[node_index];
218
- node.mChild[0] = left_index;
219
- node.mChild[1] = right_index;
220
- node.mBounds = mNodes[node.mChild[0]].mBounds;
221
- node.mBounds.Encapsulate(mNodes[node.mChild[1]].mBounds);
222
- return node_index;
223
- }
224
-
225
- // Create leaf node
226
- const uint node_index = (uint)mNodes.size();
227
- mNodes.push_back(Node());
228
- Node &node = mNodes.back();
229
- node.mTrianglesBegin = (uint)mTriangles.size();
230
- node.mNumTriangles = inTriangles.mEnd - inTriangles.mBegin;
231
- const VertexList &v = mTriangleSplitter.GetVertices();
232
- for (uint i = inTriangles.mBegin; i < inTriangles.mEnd; ++i)
233
- {
234
- const IndexedTriangle &t = mTriangleSplitter.GetTriangle(i);
235
- mTriangles.push_back(t);
236
- node.mBounds.Encapsulate(v, t);
237
- }
238
-
239
- return node_index;
240
- }
241
-
242
- JPH_NAMESPACE_END
@@ -1,121 +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/TriangleSplitter/TriangleSplitter.h>
8
- #include <Jolt/Geometry/AABox.h>
9
- #include <Jolt/Core/NonCopyable.h>
10
-
11
- JPH_NAMESPACE_BEGIN
12
-
13
- struct AABBTreeBuilderStats
14
- {
15
- ///@name Splitter stats
16
- TriangleSplitter::Stats mSplitterStats; ///< Stats returned by the triangle splitter algorithm
17
-
18
- ///@name Tree structure
19
- float mSAHCost = 0.0f; ///< Surface Area Heuristic cost of this tree
20
- int mMinDepth = 0; ///< Minimal depth of tree (number of nodes)
21
- int mMaxDepth = 0; ///< Maximum depth of tree (number of nodes)
22
- int mNodeCount = 0; ///< Number of nodes in the tree
23
- int mLeafNodeCount = 0; ///< Number of leaf nodes (that contain triangles)
24
-
25
- ///@name Configured stats
26
- int mMaxTrianglesPerLeaf = 0; ///< Configured max triangles per leaf
27
-
28
- ///@name Actual stats
29
- int mTreeMinTrianglesPerLeaf = 0; ///< Minimal amount of triangles in a leaf
30
- int mTreeMaxTrianglesPerLeaf = 0; ///< Maximal amount of triangles in a leaf
31
- float mTreeAvgTrianglesPerLeaf = 0.0f; ///< Average amount of triangles in leaf nodes
32
- };
33
-
34
- /// Helper class to build an AABB tree
35
- class JPH_EXPORT AABBTreeBuilder
36
- {
37
- public:
38
- /// A node in the tree, contains the AABox for the tree and any child nodes or triangles
39
- class Node
40
- {
41
- public:
42
- JPH_OVERRIDE_NEW_DELETE
43
-
44
- /// Indicates that there is no child
45
- static constexpr uint cInvalidNodeIndex = ~uint(0);
46
-
47
- /// Get number of triangles in this node
48
- inline uint GetTriangleCount() const { return mNumTriangles; }
49
-
50
- /// Check if this node has any children
51
- inline bool HasChildren() const { return mChild[0] != cInvalidNodeIndex || mChild[1] != cInvalidNodeIndex; }
52
-
53
- /// Get child node
54
- inline const Node * GetChild(uint inIdx, const Array<Node> &inNodes) const { return mChild[inIdx] != cInvalidNodeIndex? &inNodes[mChild[inIdx]] : nullptr; }
55
-
56
- /// Min depth of tree
57
- uint GetMinDepth(const Array<Node> &inNodes) const;
58
-
59
- /// Max depth of tree
60
- uint GetMaxDepth(const Array<Node> &inNodes) const;
61
-
62
- /// Number of nodes in tree
63
- uint GetNodeCount(const Array<Node> &inNodes) const;
64
-
65
- /// Number of leaf nodes in tree
66
- uint GetLeafNodeCount(const Array<Node> &inNodes) const;
67
-
68
- /// Get triangle count in tree
69
- uint GetTriangleCountInTree(const Array<Node> &inNodes) const;
70
-
71
- /// Calculate min and max triangles per node
72
- void GetTriangleCountPerNode(const Array<Node> &inNodes, float &outAverage, uint &outMin, uint &outMax) const;
73
-
74
- /// Calculate the total cost of the tree using the surface area heuristic
75
- float CalculateSAHCost(const Array<Node> &inNodes, float inCostTraversal, float inCostLeaf) const;
76
-
77
- /// Recursively get children (breadth first) to get in total inN children (or less if there are no more)
78
- void GetNChildren(const Array<Node> &inNodes, uint inN, Array<const Node *> &outChildren) const;
79
-
80
- /// Bounding box
81
- AABox mBounds;
82
-
83
- /// Triangles (if no child nodes)
84
- uint mTrianglesBegin; // Index into mTriangles
85
- uint mNumTriangles = 0;
86
-
87
- /// Child node indices (if no triangles)
88
- uint mChild[2] = { cInvalidNodeIndex, cInvalidNodeIndex };
89
-
90
- private:
91
- friend class AABBTreeBuilder;
92
-
93
- /// Recursive helper function to calculate cost of the tree
94
- float CalculateSAHCostInternal(const Array<Node> &inNodes, float inCostTraversalDivSurfaceArea, float inCostLeafDivSurfaceArea) const;
95
-
96
- /// Recursive helper function to calculate min and max triangles per node
97
- void GetTriangleCountPerNodeInternal(const Array<Node> &inNodes, float &outAverage, uint &outAverageDivisor, uint &outMin, uint &outMax) const;
98
- };
99
-
100
- /// Constructor
101
- explicit AABBTreeBuilder(TriangleSplitter &inSplitter, uint inMaxTrianglesPerLeaf = 16);
102
-
103
- /// Recursively build tree, returns the root node of the tree
104
- Node * Build(AABBTreeBuilderStats &outStats);
105
-
106
- /// Get all nodes
107
- const Array<Node> & GetNodes() const { return mNodes; }
108
-
109
- /// Get all triangles
110
- const Array<IndexedTriangle> &GetTriangles() const { return mTriangles; }
111
-
112
- private:
113
- uint BuildInternal(const TriangleSplitter::Range &inTriangles);
114
-
115
- TriangleSplitter & mTriangleSplitter;
116
- const uint mMaxTrianglesPerLeaf;
117
- Array<Node> mNodes;
118
- Array<IndexedTriangle> mTriangles;
119
- };
120
-
121
- JPH_NAMESPACE_END
@@ -1,296 +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/AABBTree/AABBTreeBuilder.h>
8
- #include <Jolt/Core/ByteBuffer.h>
9
- #include <Jolt/Geometry/IndexedTriangle.h>
10
-
11
- JPH_NAMESPACE_BEGIN
12
-
13
- /// Conversion algorithm that converts an AABB tree to an optimized binary buffer
14
- template <class TriangleCodec, class NodeCodec>
15
- class AABBTreeToBuffer
16
- {
17
- public:
18
- /// Header for the tree
19
- using NodeHeader = typename NodeCodec::Header;
20
-
21
- /// Size in bytes of the header of the tree
22
- static const int HeaderSize = NodeCodec::HeaderSize;
23
-
24
- /// Maximum number of children per node in the tree
25
- static const int NumChildrenPerNode = NodeCodec::NumChildrenPerNode;
26
-
27
- /// Header for the triangles
28
- using TriangleHeader = typename TriangleCodec::TriangleHeader;
29
-
30
- /// Size in bytes of the header for the triangles
31
- static const int TriangleHeaderSize = TriangleCodec::TriangleHeaderSize;
32
-
33
- /// Convert AABB tree. Returns false if failed.
34
- bool Convert(const Array<IndexedTriangle> &inTriangles, const Array<AABBTreeBuilder::Node> &inNodes, const VertexList &inVertices, const AABBTreeBuilder::Node *inRoot, bool inStoreUserData, const char *&outError)
35
- {
36
- typename NodeCodec::EncodingContext node_ctx;
37
- typename TriangleCodec::EncodingContext tri_ctx(inVertices);
38
-
39
- // Child nodes out of loop so we don't constantly realloc it
40
- Array<const AABBTreeBuilder::Node *> child_nodes;
41
- child_nodes.reserve(NumChildrenPerNode);
42
-
43
- // First calculate how big the tree is going to be.
44
- // Since the tree can be huge for very large meshes, we don't want
45
- // to reallocate the buffer as it may cause out of memory situations.
46
- // This loop mimics the construction loop below.
47
- uint64 total_size = HeaderSize + TriangleHeaderSize;
48
- size_t node_count = 1; // Start with root node
49
- size_t to_process_max_size = 1; // Track size of queues so we can do a single reserve below
50
- size_t to_process_triangles_max_size = 0;
51
- { // A scope to free the memory associated with to_estimate and to_estimate_triangles
52
- Array<const AABBTreeBuilder::Node *> to_estimate;
53
- Array<const AABBTreeBuilder::Node *> to_estimate_triangles;
54
- to_estimate.push_back(inRoot);
55
- for (;;)
56
- {
57
- while (!to_estimate.empty())
58
- {
59
- // Get the next node to process
60
- const AABBTreeBuilder::Node *node = to_estimate.back();
61
- to_estimate.pop_back();
62
-
63
- // Update total size
64
- node_ctx.PrepareNodeAllocate(node, total_size);
65
-
66
- if (node->HasChildren())
67
- {
68
- // Collect the first NumChildrenPerNode sub-nodes in the tree
69
- child_nodes.clear(); // Won't free the memory
70
- node->GetNChildren(inNodes, NumChildrenPerNode, child_nodes);
71
-
72
- // Increment the number of nodes we're going to store
73
- node_count += child_nodes.size();
74
-
75
- // Insert in reverse order so we estimate left child first when taking nodes from the back
76
- for (int idx = int(child_nodes.size()) - 1; idx >= 0; --idx)
77
- {
78
- // Store triangles in separate list so we process them last
79
- const AABBTreeBuilder::Node *child = child_nodes[idx];
80
- if (child->HasChildren())
81
- {
82
- to_estimate.push_back(child);
83
- to_process_max_size = max(to_estimate.size(), to_process_max_size);
84
- }
85
- else
86
- {
87
- to_estimate_triangles.push_back(child);
88
- to_process_triangles_max_size = max(to_estimate_triangles.size(), to_process_triangles_max_size);
89
- }
90
- }
91
- }
92
- else
93
- {
94
- // Update total size
95
- tri_ctx.PreparePack(&inTriangles[node->mTrianglesBegin], node->mNumTriangles, inStoreUserData, total_size);
96
- }
97
- }
98
-
99
- // If we've got triangles to estimate, loop again with just the triangles
100
- if (to_estimate_triangles.empty())
101
- break;
102
- else
103
- to_estimate.swap(to_estimate_triangles);
104
- }
105
- }
106
-
107
- // Finalize the prepare stage for the triangle context
108
- tri_ctx.FinalizePreparePack(total_size);
109
-
110
- // Reserve the buffer
111
- if (size_t(total_size) != total_size)
112
- {
113
- outError = "AABBTreeToBuffer: Out of memory!";
114
- return false;
115
- }
116
- mTree.reserve(size_t(total_size));
117
-
118
- // Add headers
119
- NodeHeader *header = HeaderSize > 0? mTree.Allocate<NodeHeader>() : nullptr;
120
- TriangleHeader *triangle_header = TriangleHeaderSize > 0? mTree.Allocate<TriangleHeader>() : nullptr;
121
-
122
- struct NodeData
123
- {
124
- const AABBTreeBuilder::Node * mNode = nullptr; // Node that this entry belongs to
125
- Vec3 mNodeBoundsMin; // Quantized node bounds
126
- Vec3 mNodeBoundsMax;
127
- size_t mNodeStart = size_t(-1); // Start of node in mTree
128
- size_t mTriangleStart = size_t(-1); // Start of the triangle data in mTree
129
- size_t mChildNodeStart[NumChildrenPerNode]; // Start of the children of the node in mTree
130
- size_t mChildTrianglesStart[NumChildrenPerNode]; // Start of the triangle data in mTree
131
- size_t * mParentChildNodeStart = nullptr; // Where to store mNodeStart (to patch mChildNodeStart of my parent)
132
- size_t * mParentTrianglesStart = nullptr; // Where to store mTriangleStart (to patch mChildTrianglesStart of my parent)
133
- uint mNumChildren = 0; // Number of children
134
- };
135
-
136
- Array<NodeData *> to_process;
137
- to_process.reserve(to_process_max_size);
138
- Array<NodeData *> to_process_triangles;
139
- to_process_triangles.reserve(to_process_triangles_max_size);
140
- Array<NodeData> node_list;
141
- node_list.reserve(node_count); // Needed to ensure that array is not reallocated, so we can keep pointers in the array
142
-
143
- NodeData root;
144
- root.mNode = inRoot;
145
- root.mNodeBoundsMin = inRoot->mBounds.mMin;
146
- root.mNodeBoundsMax = inRoot->mBounds.mMax;
147
- node_list.push_back(root);
148
- to_process.push_back(&node_list.back());
149
-
150
- for (;;)
151
- {
152
- while (!to_process.empty())
153
- {
154
- // Get the next node to process
155
- NodeData *node_data = to_process.back();
156
- to_process.pop_back();
157
-
158
- // Due to quantization box could have become bigger, not smaller
159
- JPH_ASSERT(AABox(node_data->mNodeBoundsMin, node_data->mNodeBoundsMax).Contains(node_data->mNode->mBounds), "AABBTreeToBuffer: Bounding box became smaller!");
160
-
161
- // Collect the first NumChildrenPerNode sub-nodes in the tree
162
- child_nodes.clear(); // Won't free the memory
163
- node_data->mNode->GetNChildren(inNodes, NumChildrenPerNode, child_nodes);
164
- node_data->mNumChildren = (uint)child_nodes.size();
165
-
166
- // Fill in default child bounds
167
- Vec3 child_bounds_min[NumChildrenPerNode], child_bounds_max[NumChildrenPerNode];
168
- for (size_t i = 0; i < NumChildrenPerNode; ++i)
169
- if (i < child_nodes.size())
170
- {
171
- child_bounds_min[i] = child_nodes[i]->mBounds.mMin;
172
- child_bounds_max[i] = child_nodes[i]->mBounds.mMax;
173
- }
174
- else
175
- {
176
- child_bounds_min[i] = Vec3::sZero();
177
- child_bounds_max[i] = Vec3::sZero();
178
- }
179
-
180
- // Start a new node
181
- node_data->mNodeStart = node_ctx.NodeAllocate(node_data->mNode, node_data->mNodeBoundsMin, node_data->mNodeBoundsMax, child_nodes, child_bounds_min, child_bounds_max, mTree, outError);
182
- if (node_data->mNodeStart == size_t(-1))
183
- return false;
184
-
185
- if (node_data->mNode->HasChildren())
186
- {
187
- // Insert in reverse order so we process left child first when taking nodes from the back
188
- for (int idx = int(child_nodes.size()) - 1; idx >= 0; --idx)
189
- {
190
- const AABBTreeBuilder::Node *child_node = child_nodes[idx];
191
-
192
- // Due to quantization box could have become bigger, not smaller
193
- JPH_ASSERT(AABox(child_bounds_min[idx], child_bounds_max[idx]).Contains(child_node->mBounds), "AABBTreeToBuffer: Bounding box became smaller!");
194
-
195
- // Add child to list of nodes to be processed
196
- NodeData child;
197
- child.mNode = child_node;
198
- child.mNodeBoundsMin = child_bounds_min[idx];
199
- child.mNodeBoundsMax = child_bounds_max[idx];
200
- child.mParentChildNodeStart = &node_data->mChildNodeStart[idx];
201
- child.mParentTrianglesStart = &node_data->mChildTrianglesStart[idx];
202
- node_list.push_back(child);
203
-
204
- // Store triangles in separate list so we process them last
205
- if (child_node->HasChildren())
206
- to_process.push_back(&node_list.back());
207
- else
208
- to_process_triangles.push_back(&node_list.back());
209
- }
210
- }
211
- else
212
- {
213
- // Add triangles
214
- node_data->mTriangleStart = tri_ctx.Pack(&inTriangles[node_data->mNode->mTrianglesBegin], node_data->mNode->mNumTriangles, inStoreUserData, mTree, outError);
215
- if (node_data->mTriangleStart == size_t(-1))
216
- return false;
217
- }
218
-
219
- // Patch offset into parent
220
- if (node_data->mParentChildNodeStart != nullptr)
221
- {
222
- *node_data->mParentChildNodeStart = node_data->mNodeStart;
223
- *node_data->mParentTrianglesStart = node_data->mTriangleStart;
224
- }
225
- }
226
-
227
- // If we've got triangles to process, loop again with just the triangles
228
- if (to_process_triangles.empty())
229
- break;
230
- else
231
- to_process.swap(to_process_triangles);
232
- }
233
-
234
- // Assert that our reservation was correct (we don't know if we swapped the arrays or not)
235
- JPH_ASSERT(to_process_max_size == to_process.capacity() || to_process_triangles_max_size == to_process.capacity());
236
- JPH_ASSERT(to_process_max_size == to_process_triangles.capacity() || to_process_triangles_max_size == to_process_triangles.capacity());
237
-
238
- // Finalize all nodes
239
- for (NodeData &n : node_list)
240
- if (!node_ctx.NodeFinalize(n.mNode, n.mNodeStart, n.mNumChildren, n.mChildNodeStart, n.mChildTrianglesStart, mTree, outError))
241
- return false;
242
-
243
- // Finalize the triangles
244
- tri_ctx.Finalize(inVertices, triangle_header, mTree);
245
-
246
- // Validate that our reservations were correct
247
- if (node_count != node_list.size())
248
- {
249
- outError = "Internal Error: Node memory estimate was incorrect, memory corruption!";
250
- return false;
251
- }
252
- if (total_size != mTree.size())
253
- {
254
- outError = "Internal Error: Tree memory estimate was incorrect, memory corruption!";
255
- return false;
256
- }
257
-
258
- // Finalize the nodes
259
- return node_ctx.Finalize(header, inRoot, node_list[0].mNodeStart, node_list[0].mTriangleStart, outError);
260
- }
261
-
262
- /// Get resulting data
263
- inline const ByteBuffer & GetBuffer() const
264
- {
265
- return mTree;
266
- }
267
-
268
- /// Get resulting data
269
- inline ByteBuffer & GetBuffer()
270
- {
271
- return mTree;
272
- }
273
-
274
- /// Get header for tree
275
- inline const NodeHeader * GetNodeHeader() const
276
- {
277
- return mTree.Get<NodeHeader>(0);
278
- }
279
-
280
- /// Get header for triangles
281
- inline const TriangleHeader * GetTriangleHeader() const
282
- {
283
- return mTree.Get<TriangleHeader>(HeaderSize);
284
- }
285
-
286
- /// Get root of resulting tree
287
- inline const void * GetRoot() const
288
- {
289
- return mTree.Get<void>(HeaderSize + TriangleHeaderSize);
290
- }
291
-
292
- private:
293
- ByteBuffer mTree; ///< Resulting tree structure
294
- };
295
-
296
- JPH_NAMESPACE_END