@bloomengine/engine 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/package.json +4 -11
  2. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/build.gradle +0 -51
  3. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/AndroidManifest.xml +0 -20
  4. package/native/third_party/JoltPhysics/Build/Android/PerformanceTest/src/main/cpp/CMakeLists.txt +0 -20
  5. package/native/third_party/JoltPhysics/Build/Android/UnitTests/build.gradle +0 -51
  6. package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/AndroidManifest.xml +0 -20
  7. package/native/third_party/JoltPhysics/Build/Android/UnitTests/src/main/cpp/CMakeLists.txt +0 -20
  8. package/native/third_party/JoltPhysics/Build/Android/build.gradle +0 -17
  9. package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.jar +0 -0
  10. package/native/third_party/JoltPhysics/Build/Android/gradle/wrapper/gradle-wrapper.properties +0 -5
  11. package/native/third_party/JoltPhysics/Build/Android/gradle.properties +0 -21
  12. package/native/third_party/JoltPhysics/Build/Android/gradlew +0 -185
  13. package/native/third_party/JoltPhysics/Build/Android/gradlew.bat +0 -89
  14. package/native/third_party/JoltPhysics/Build/Android/settings.gradle +0 -10
  15. package/native/third_party/JoltPhysics/Build/CMakeLists.txt +0 -449
  16. package/native/third_party/JoltPhysics/Build/README.md +0 -250
  17. package/native/third_party/JoltPhysics/Build/cmake_linux_clang_gcc.sh +0 -28
  18. package/native/third_party/JoltPhysics/Build/cmake_linux_emscripten.sh +0 -19
  19. package/native/third_party/JoltPhysics/Build/cmake_linux_mingw.sh +0 -19
  20. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl.bat +0 -3
  21. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_32bit.bat +0 -3
  22. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm.bat +0 -3
  23. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_arm_32bit.bat +0 -4
  24. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_cross_platform_deterministic.bat +0 -3
  25. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_double.bat +0 -3
  26. package/native/third_party/JoltPhysics/Build/cmake_vs2022_cl_no_object_stream.bat +0 -3
  27. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang.bat +0 -10
  28. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_cross_platform_deterministic.bat +0 -10
  29. package/native/third_party/JoltPhysics/Build/cmake_vs2022_clang_double.bat +0 -10
  30. package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp.bat +0 -5
  31. package/native/third_party/JoltPhysics/Build/cmake_vs2022_uwp_arm.bat +0 -5
  32. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl.bat +0 -3
  33. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_cross_platform_deterministic.bat +0 -3
  34. package/native/third_party/JoltPhysics/Build/cmake_vs2026_cl_double.bat +0 -3
  35. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang.bat +0 -10
  36. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_cross_platform_deterministic.bat +0 -10
  37. package/native/third_party/JoltPhysics/Build/cmake_vs2026_clang_double.bat +0 -10
  38. package/native/third_party/JoltPhysics/Build/cmake_windows_mingw.sh +0 -19
  39. package/native/third_party/JoltPhysics/Build/cmake_xcode_ios.sh +0 -4
  40. package/native/third_party/JoltPhysics/Build/cmake_xcode_macos.sh +0 -4
  41. package/native/third_party/JoltPhysics/Build/iOS/JoltViewerInfo.plist +0 -34
  42. package/native/third_party/JoltPhysics/Build/iOS/SamplesInfo.plist +0 -34
  43. package/native/third_party/JoltPhysics/Build/iOS/UnitTestsInfo.plist +0 -34
  44. package/native/third_party/JoltPhysics/Build/macOS/icon.icns +0 -0
  45. package/native/third_party/JoltPhysics/Build/macos_install_vulkan_sdk.sh +0 -13
  46. package/native/third_party/JoltPhysics/Build/ubuntu24_install_vulkan_sdk.sh +0 -4
  47. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.cpp +0 -242
  48. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeBuilder.h +0 -121
  49. package/native/third_party/JoltPhysics/Jolt/AABBTree/AABBTreeToBuffer.h +0 -296
  50. package/native/third_party/JoltPhysics/Jolt/AABBTree/NodeCodec/NodeCodecQuadTreeHalfFloat.h +0 -323
  51. package/native/third_party/JoltPhysics/Jolt/AABBTree/TriangleCodec/TriangleCodecIndexed8BitPackSOA4Flags.h +0 -555
  52. package/native/third_party/JoltPhysics/Jolt/ConfigurationString.h +0 -112
  53. package/native/third_party/JoltPhysics/Jolt/Core/ARMNeon.h +0 -94
  54. package/native/third_party/JoltPhysics/Jolt/Core/Array.h +0 -713
  55. package/native/third_party/JoltPhysics/Jolt/Core/Atomics.h +0 -44
  56. package/native/third_party/JoltPhysics/Jolt/Core/BinaryHeap.h +0 -96
  57. package/native/third_party/JoltPhysics/Jolt/Core/ByteBuffer.h +0 -74
  58. package/native/third_party/JoltPhysics/Jolt/Core/Color.cpp +0 -38
  59. package/native/third_party/JoltPhysics/Jolt/Core/Color.h +0 -98
  60. package/native/third_party/JoltPhysics/Jolt/Core/Core.h +0 -652
  61. package/native/third_party/JoltPhysics/Jolt/Core/FPControlWord.h +0 -143
  62. package/native/third_party/JoltPhysics/Jolt/Core/FPException.h +0 -96
  63. package/native/third_party/JoltPhysics/Jolt/Core/FPFlushDenormals.h +0 -43
  64. package/native/third_party/JoltPhysics/Jolt/Core/Factory.cpp +0 -92
  65. package/native/third_party/JoltPhysics/Jolt/Core/Factory.h +0 -54
  66. package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.h +0 -122
  67. package/native/third_party/JoltPhysics/Jolt/Core/FixedSizeFreeList.inl +0 -215
  68. package/native/third_party/JoltPhysics/Jolt/Core/HashCombine.h +0 -234
  69. package/native/third_party/JoltPhysics/Jolt/Core/HashTable.h +0 -876
  70. package/native/third_party/JoltPhysics/Jolt/Core/InsertionSort.h +0 -58
  71. package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.cpp +0 -27
  72. package/native/third_party/JoltPhysics/Jolt/Core/IssueReporting.h +0 -38
  73. package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.h +0 -311
  74. package/native/third_party/JoltPhysics/Jolt/Core/JobSystem.inl +0 -56
  75. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.cpp +0 -65
  76. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemSingleThreaded.h +0 -62
  77. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.cpp +0 -364
  78. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemThreadPool.h +0 -101
  79. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.cpp +0 -230
  80. package/native/third_party/JoltPhysics/Jolt/Core/JobSystemWithBarrier.h +0 -85
  81. package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.cpp +0 -51
  82. package/native/third_party/JoltPhysics/Jolt/Core/LinearCurve.h +0 -67
  83. package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.h +0 -182
  84. package/native/third_party/JoltPhysics/Jolt/Core/LockFreeHashMap.inl +0 -351
  85. package/native/third_party/JoltPhysics/Jolt/Core/Memory.cpp +0 -85
  86. package/native/third_party/JoltPhysics/Jolt/Core/Memory.h +0 -85
  87. package/native/third_party/JoltPhysics/Jolt/Core/Mutex.h +0 -223
  88. package/native/third_party/JoltPhysics/Jolt/Core/MutexArray.h +0 -98
  89. package/native/third_party/JoltPhysics/Jolt/Core/NonCopyable.h +0 -18
  90. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.cpp +0 -677
  91. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.h +0 -301
  92. package/native/third_party/JoltPhysics/Jolt/Core/Profiler.inl +0 -90
  93. package/native/third_party/JoltPhysics/Jolt/Core/QuickSort.h +0 -137
  94. package/native/third_party/JoltPhysics/Jolt/Core/RTTI.cpp +0 -149
  95. package/native/third_party/JoltPhysics/Jolt/Core/RTTI.h +0 -436
  96. package/native/third_party/JoltPhysics/Jolt/Core/Reference.h +0 -244
  97. package/native/third_party/JoltPhysics/Jolt/Core/Result.h +0 -174
  98. package/native/third_party/JoltPhysics/Jolt/Core/STLAlignedAllocator.h +0 -72
  99. package/native/third_party/JoltPhysics/Jolt/Core/STLAllocator.h +0 -127
  100. package/native/third_party/JoltPhysics/Jolt/Core/STLLocalAllocator.h +0 -170
  101. package/native/third_party/JoltPhysics/Jolt/Core/STLTempAllocator.h +0 -80
  102. package/native/third_party/JoltPhysics/Jolt/Core/ScopeExit.h +0 -49
  103. package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.cpp +0 -135
  104. package/native/third_party/JoltPhysics/Jolt/Core/Semaphore.h +0 -68
  105. package/native/third_party/JoltPhysics/Jolt/Core/StaticArray.h +0 -329
  106. package/native/third_party/JoltPhysics/Jolt/Core/StreamIn.h +0 -120
  107. package/native/third_party/JoltPhysics/Jolt/Core/StreamOut.h +0 -97
  108. package/native/third_party/JoltPhysics/Jolt/Core/StreamUtils.h +0 -168
  109. package/native/third_party/JoltPhysics/Jolt/Core/StreamWrapper.h +0 -53
  110. package/native/third_party/JoltPhysics/Jolt/Core/StridedPtr.h +0 -63
  111. package/native/third_party/JoltPhysics/Jolt/Core/StringTools.cpp +0 -101
  112. package/native/third_party/JoltPhysics/Jolt/Core/StringTools.h +0 -38
  113. package/native/third_party/JoltPhysics/Jolt/Core/TempAllocator.h +0 -209
  114. package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.cpp +0 -37
  115. package/native/third_party/JoltPhysics/Jolt/Core/TickCounter.h +0 -58
  116. package/native/third_party/JoltPhysics/Jolt/Core/UnorderedMap.h +0 -80
  117. package/native/third_party/JoltPhysics/Jolt/Core/UnorderedSet.h +0 -32
  118. package/native/third_party/JoltPhysics/Jolt/Geometry/AABox.h +0 -313
  119. package/native/third_party/JoltPhysics/Jolt/Geometry/AABox4.h +0 -224
  120. package/native/third_party/JoltPhysics/Jolt/Geometry/ClipPoly.h +0 -200
  121. package/native/third_party/JoltPhysics/Jolt/Geometry/ClosestPoint.h +0 -498
  122. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.cpp +0 -1467
  123. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder.h +0 -276
  124. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.cpp +0 -335
  125. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexHullBuilder2D.h +0 -105
  126. package/native/third_party/JoltPhysics/Jolt/Geometry/ConvexSupport.h +0 -188
  127. package/native/third_party/JoltPhysics/Jolt/Geometry/EPAConvexHullBuilder.h +0 -845
  128. package/native/third_party/JoltPhysics/Jolt/Geometry/EPAPenetrationDepth.h +0 -557
  129. package/native/third_party/JoltPhysics/Jolt/Geometry/Ellipse.h +0 -77
  130. package/native/third_party/JoltPhysics/Jolt/Geometry/GJKClosestPoint.h +0 -945
  131. package/native/third_party/JoltPhysics/Jolt/Geometry/IndexedTriangle.h +0 -130
  132. package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.cpp +0 -222
  133. package/native/third_party/JoltPhysics/Jolt/Geometry/Indexify.h +0 -19
  134. package/native/third_party/JoltPhysics/Jolt/Geometry/MortonCode.h +0 -40
  135. package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.cpp +0 -178
  136. package/native/third_party/JoltPhysics/Jolt/Geometry/OrientedBox.h +0 -39
  137. package/native/third_party/JoltPhysics/Jolt/Geometry/Plane.h +0 -104
  138. package/native/third_party/JoltPhysics/Jolt/Geometry/RayAABox.h +0 -241
  139. package/native/third_party/JoltPhysics/Jolt/Geometry/RayCapsule.h +0 -37
  140. package/native/third_party/JoltPhysics/Jolt/Geometry/RayCylinder.h +0 -101
  141. package/native/third_party/JoltPhysics/Jolt/Geometry/RaySphere.h +0 -96
  142. package/native/third_party/JoltPhysics/Jolt/Geometry/RayTriangle.h +0 -158
  143. package/native/third_party/JoltPhysics/Jolt/Geometry/Sphere.h +0 -72
  144. package/native/third_party/JoltPhysics/Jolt/Geometry/Triangle.h +0 -34
  145. package/native/third_party/JoltPhysics/Jolt/Jolt.cmake +0 -703
  146. package/native/third_party/JoltPhysics/Jolt/Jolt.h +0 -16
  147. package/native/third_party/JoltPhysics/Jolt/Jolt.natvis +0 -116
  148. package/native/third_party/JoltPhysics/Jolt/Math/BVec16.h +0 -99
  149. package/native/third_party/JoltPhysics/Jolt/Math/BVec16.inl +0 -177
  150. package/native/third_party/JoltPhysics/Jolt/Math/DMat44.h +0 -158
  151. package/native/third_party/JoltPhysics/Jolt/Math/DMat44.inl +0 -310
  152. package/native/third_party/JoltPhysics/Jolt/Math/DVec3.h +0 -291
  153. package/native/third_party/JoltPhysics/Jolt/Math/DVec3.inl +0 -941
  154. package/native/third_party/JoltPhysics/Jolt/Math/Double3.h +0 -48
  155. package/native/third_party/JoltPhysics/Jolt/Math/DynMatrix.h +0 -31
  156. package/native/third_party/JoltPhysics/Jolt/Math/EigenValueSymmetric.h +0 -177
  157. package/native/third_party/JoltPhysics/Jolt/Math/FindRoot.h +0 -42
  158. package/native/third_party/JoltPhysics/Jolt/Math/Float2.h +0 -36
  159. package/native/third_party/JoltPhysics/Jolt/Math/Float3.h +0 -50
  160. package/native/third_party/JoltPhysics/Jolt/Math/Float4.h +0 -44
  161. package/native/third_party/JoltPhysics/Jolt/Math/GaussianElimination.h +0 -102
  162. package/native/third_party/JoltPhysics/Jolt/Math/HalfFloat.h +0 -208
  163. package/native/third_party/JoltPhysics/Jolt/Math/Mat44.h +0 -243
  164. package/native/third_party/JoltPhysics/Jolt/Math/Mat44.inl +0 -952
  165. package/native/third_party/JoltPhysics/Jolt/Math/Math.h +0 -208
  166. package/native/third_party/JoltPhysics/Jolt/Math/MathTypes.h +0 -32
  167. package/native/third_party/JoltPhysics/Jolt/Math/Matrix.h +0 -259
  168. package/native/third_party/JoltPhysics/Jolt/Math/Quat.h +0 -268
  169. package/native/third_party/JoltPhysics/Jolt/Math/Quat.inl +0 -406
  170. package/native/third_party/JoltPhysics/Jolt/Math/Real.h +0 -44
  171. package/native/third_party/JoltPhysics/Jolt/Math/Swizzle.h +0 -19
  172. package/native/third_party/JoltPhysics/Jolt/Math/Trigonometry.h +0 -79
  173. package/native/third_party/JoltPhysics/Jolt/Math/UVec4.h +0 -232
  174. package/native/third_party/JoltPhysics/Jolt/Math/UVec4.inl +0 -636
  175. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.cpp +0 -71
  176. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.h +0 -308
  177. package/native/third_party/JoltPhysics/Jolt/Math/Vec3.inl +0 -942
  178. package/native/third_party/JoltPhysics/Jolt/Math/Vec4.h +0 -320
  179. package/native/third_party/JoltPhysics/Jolt/Math/Vec4.inl +0 -1152
  180. package/native/third_party/JoltPhysics/Jolt/Math/Vector.h +0 -211
  181. package/native/third_party/JoltPhysics/Jolt/ObjectStream/GetPrimitiveTypeOfType.h +0 -54
  182. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.cpp +0 -38
  183. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStream.h +0 -337
  184. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.cpp +0 -252
  185. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryIn.h +0 -57
  186. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.cpp +0 -165
  187. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamBinaryOut.h +0 -57
  188. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.cpp +0 -635
  189. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamIn.h +0 -148
  190. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.cpp +0 -166
  191. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamOut.h +0 -101
  192. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.cpp +0 -418
  193. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextIn.h +0 -55
  194. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.cpp +0 -255
  195. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTextOut.h +0 -62
  196. package/native/third_party/JoltPhysics/Jolt/ObjectStream/ObjectStreamTypes.h +0 -26
  197. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttribute.h +0 -111
  198. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeEnum.h +0 -67
  199. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableAttributeTyped.h +0 -60
  200. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.cpp +0 -15
  201. package/native/third_party/JoltPhysics/Jolt/ObjectStream/SerializableObject.h +0 -170
  202. package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.cpp +0 -70
  203. package/native/third_party/JoltPhysics/Jolt/ObjectStream/TypeDeclarations.h +0 -45
  204. package/native/third_party/JoltPhysics/Jolt/Physics/Body/AllowedDOFs.h +0 -68
  205. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.cpp +0 -426
  206. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.h +0 -452
  207. package/native/third_party/JoltPhysics/Jolt/Physics/Body/Body.inl +0 -197
  208. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyAccess.h +0 -68
  209. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyActivationListener.h +0 -28
  210. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.cpp +0 -234
  211. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyCreationSettings.h +0 -124
  212. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyFilter.h +0 -130
  213. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyID.h +0 -101
  214. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.cpp +0 -1099
  215. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyInterface.h +0 -324
  216. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLock.h +0 -111
  217. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockInterface.h +0 -134
  218. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyLockMulti.h +0 -120
  219. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.cpp +0 -1220
  220. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyManager.h +0 -403
  221. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyPair.h +0 -36
  222. package/native/third_party/JoltPhysics/Jolt/Physics/Body/BodyType.h +0 -19
  223. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.cpp +0 -185
  224. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MassProperties.h +0 -58
  225. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.cpp +0 -92
  226. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.h +0 -308
  227. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionProperties.inl +0 -178
  228. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionQuality.h +0 -31
  229. package/native/third_party/JoltPhysics/Jolt/Physics/Body/MotionType.h +0 -17
  230. package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.cpp +0 -354
  231. package/native/third_party/JoltPhysics/Jolt/Physics/Character/Character.h +0 -159
  232. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.cpp +0 -59
  233. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterBase.h +0 -157
  234. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterID.h +0 -98
  235. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.cpp +0 -1933
  236. package/native/third_party/JoltPhysics/Jolt/Physics/Character/CharacterVirtual.h +0 -752
  237. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/AABoxCast.h +0 -20
  238. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdgeMode.h +0 -17
  239. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ActiveEdges.h +0 -114
  240. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BackFaceMode.h +0 -16
  241. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.cpp +0 -16
  242. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhase.h +0 -109
  243. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.cpp +0 -313
  244. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.h +0 -38
  245. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayer.h +0 -148
  246. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceMask.h +0 -92
  247. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseLayerInterfaceTable.h +0 -64
  248. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.cpp +0 -629
  249. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.h +0 -108
  250. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/BroadPhaseQuery.h +0 -56
  251. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterMask.h +0 -35
  252. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/ObjectVsBroadPhaseLayerFilterTable.h +0 -66
  253. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.cpp +0 -1768
  254. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/BroadPhase/QuadTree.h +0 -389
  255. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.cpp +0 -107
  256. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastConvexVsTriangles.h +0 -46
  257. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastResult.h +0 -37
  258. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.cpp +0 -223
  259. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CastSphereVsTriangles.h +0 -49
  260. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollectFacesMode.h +0 -16
  261. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.cpp +0 -155
  262. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideConvexVsTriangles.h +0 -56
  263. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollidePointResult.h +0 -25
  264. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShape.h +0 -106
  265. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideShapeVsShapePerLeaf.h +0 -94
  266. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVertexIterator.h +0 -110
  267. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSoftBodyVerticesVsTriangles.h +0 -102
  268. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.cpp +0 -121
  269. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollideSphereVsTriangles.h +0 -50
  270. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollector.h +0 -109
  271. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionCollectorImpl.h +0 -219
  272. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.cpp +0 -107
  273. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionDispatch.h +0 -97
  274. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.cpp +0 -35
  275. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/CollisionGroup.h +0 -97
  276. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ContactListener.h +0 -143
  277. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.cpp +0 -213
  278. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/EstimateCollisionResponse.h +0 -48
  279. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.cpp +0 -32
  280. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilter.h +0 -46
  281. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.cpp +0 -38
  282. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/GroupFilterTable.h +0 -130
  283. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/InternalEdgeRemovingCollector.h +0 -279
  284. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.cpp +0 -271
  285. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ManifoldBetweenTwoFaces.h +0 -44
  286. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.cpp +0 -448
  287. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseQuery.h +0 -77
  288. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.cpp +0 -62
  289. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/NarrowPhaseStats.h +0 -110
  290. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayer.h +0 -111
  291. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterMask.h +0 -52
  292. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ObjectLayerPairFilterTable.h +0 -78
  293. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.cpp +0 -35
  294. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterial.h +0 -57
  295. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.cpp +0 -38
  296. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/PhysicsMaterialSimple.h +0 -37
  297. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/RayCast.h +0 -87
  298. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.cpp +0 -318
  299. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/BoxShape.h +0 -115
  300. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.cpp +0 -438
  301. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CapsuleShape.h +0 -129
  302. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.cpp +0 -433
  303. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShape.h +0 -354
  304. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CompoundShapeVisitors.h +0 -461
  305. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.cpp +0 -1311
  306. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexHullShape.h +0 -202
  307. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.cpp +0 -566
  308. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ConvexShape.h +0 -150
  309. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.cpp +0 -418
  310. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/CylinderShape.h +0 -126
  311. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.cpp +0 -87
  312. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/DecoratedShape.h +0 -80
  313. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.cpp +0 -64
  314. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/EmptyShape.h +0 -75
  315. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/GetTrianglesContext.h +0 -248
  316. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.cpp +0 -2754
  317. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/HeightFieldShape.h +0 -380
  318. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.cpp +0 -1305
  319. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MeshShape.h +0 -228
  320. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.cpp +0 -596
  321. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/MutableCompoundShape.h +0 -176
  322. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.cpp +0 -217
  323. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.h +0 -140
  324. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.cpp +0 -541
  325. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PlaneShape.h +0 -147
  326. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/PolyhedronSubmergedVolumeCalculator.h +0 -319
  327. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.cpp +0 -333
  328. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/RotatedTranslatedShape.h +0 -161
  329. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaleHelpers.h +0 -83
  330. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.cpp +0 -238
  331. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/ScaledShape.h +0 -145
  332. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.cpp +0 -325
  333. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/Shape.h +0 -466
  334. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.cpp +0 -347
  335. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SphereShape.h +0 -125
  336. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.cpp +0 -674
  337. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/StaticCompoundShape.h +0 -139
  338. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeID.h +0 -138
  339. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/SubShapeIDPair.h +0 -65
  340. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.cpp +0 -453
  341. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.gliffy +0 -1
  342. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCapsuleShape.h +0 -135
  343. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.cpp +0 -691
  344. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TaperedCylinderShape.h +0 -132
  345. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.cpp +0 -430
  346. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/Shape/TriangleShape.h +0 -143
  347. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeCast.h +0 -173
  348. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/ShapeFilter.h +0 -73
  349. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilter.h +0 -40
  350. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SimShapeFilterWrapper.h +0 -58
  351. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/SortReverseAndStore.h +0 -48
  352. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.cpp +0 -180
  353. package/native/third_party/JoltPhysics/Jolt/Physics/Collision/TransformedShape.h +0 -194
  354. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/CalculateSolverSteps.h +0 -70
  355. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.cpp +0 -246
  356. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConeConstraint.h +0 -133
  357. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.cpp +0 -73
  358. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/Constraint.h +0 -243
  359. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.cpp +0 -289
  360. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintManager.h +0 -100
  361. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AngleConstraintPart.h +0 -257
  362. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/AxisConstraintPart.h +0 -682
  363. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/DualAxisConstraintPart.h +0 -276
  364. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/GearConstraintPart.h +0 -195
  365. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/HingeRotationConstraintPart.h +0 -222
  366. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/IndependentAxisConstraintPart.h +0 -246
  367. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/PointConstraintPart.h +0 -239
  368. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RackAndPinionConstraintPart.h +0 -196
  369. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationEulerConstraintPart.h +0 -283
  370. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/RotationQuatConstraintPart.h +0 -246
  371. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SpringPart.h +0 -169
  372. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ConstraintPart/SwingTwistConstraintPart.h +0 -597
  373. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.cpp +0 -1804
  374. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/ContactConstraintManager.h +0 -524
  375. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.cpp +0 -266
  376. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/DistanceConstraint.h +0 -120
  377. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.cpp +0 -215
  378. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/FixedConstraint.h +0 -96
  379. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.cpp +0 -188
  380. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/GearConstraint.h +0 -116
  381. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.cpp +0 -443
  382. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/HingeConstraint.h +0 -205
  383. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.cpp +0 -43
  384. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/MotorSettings.h +0 -66
  385. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.cpp +0 -458
  386. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraint.h +0 -191
  387. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.cpp +0 -85
  388. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPath.h +0 -76
  389. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.cpp +0 -308
  390. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PathConstraintPathHermite.h +0 -54
  391. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.cpp +0 -157
  392. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PointConstraint.h +0 -94
  393. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.cpp +0 -253
  394. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/PulleyConstraint.h +0 -137
  395. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.cpp +0 -189
  396. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/RackAndPinionConstraint.h +0 -118
  397. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.cpp +0 -900
  398. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SixDOFConstraint.h +0 -289
  399. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.cpp +0 -501
  400. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SliderConstraint.h +0 -198
  401. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.cpp +0 -35
  402. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SpringSettings.h +0 -70
  403. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.cpp +0 -524
  404. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/SwingTwistConstraint.h +0 -197
  405. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.cpp +0 -56
  406. package/native/third_party/JoltPhysics/Jolt/Physics/Constraints/TwoBodyConstraint.h +0 -65
  407. package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.cpp +0 -17
  408. package/native/third_party/JoltPhysics/Jolt/Physics/DeterminismLog.h +0 -159
  409. package/native/third_party/JoltPhysics/Jolt/Physics/EActivation.h +0 -16
  410. package/native/third_party/JoltPhysics/Jolt/Physics/EPhysicsUpdateError.h +0 -37
  411. package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.cpp +0 -492
  412. package/native/third_party/JoltPhysics/Jolt/Physics/IslandBuilder.h +0 -144
  413. package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.cpp +0 -582
  414. package/native/third_party/JoltPhysics/Jolt/Physics/LargeIslandSplitter.h +0 -187
  415. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsLock.h +0 -169
  416. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.cpp +0 -261
  417. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsScene.h +0 -104
  418. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSettings.h +0 -125
  419. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsStepListener.h +0 -37
  420. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.cpp +0 -2915
  421. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsSystem.h +0 -391
  422. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.cpp +0 -25
  423. package/native/third_party/JoltPhysics/Jolt/Physics/PhysicsUpdateContext.h +0 -176
  424. package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.cpp +0 -744
  425. package/native/third_party/JoltPhysics/Jolt/Physics/Ragdoll/Ragdoll.h +0 -245
  426. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyContactListener.h +0 -55
  427. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.cpp +0 -128
  428. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyCreationSettings.h +0 -75
  429. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyManifold.h +0 -74
  430. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.cpp +0 -1501
  431. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyMotionProperties.h +0 -333
  432. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.cpp +0 -354
  433. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyShape.h +0 -73
  434. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.cpp +0 -1487
  435. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodySharedSettings.h +0 -390
  436. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyUpdateContext.h +0 -63
  437. package/native/third_party/JoltPhysics/Jolt/Physics/SoftBody/SoftBodyVertex.h +0 -36
  438. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorder.h +0 -136
  439. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.cpp +0 -90
  440. package/native/third_party/JoltPhysics/Jolt/Physics/StateRecorderImpl.h +0 -50
  441. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.cpp +0 -306
  442. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/MotorcycleController.h +0 -119
  443. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.cpp +0 -547
  444. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/TrackedVehicleController.h +0 -169
  445. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.cpp +0 -33
  446. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleAntiRollBar.h +0 -33
  447. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.cpp +0 -376
  448. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleCollisionTester.h +0 -146
  449. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.cpp +0 -703
  450. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleConstraint.h +0 -252
  451. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.cpp +0 -17
  452. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleController.h +0 -87
  453. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.cpp +0 -81
  454. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleDifferential.h +0 -39
  455. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.cpp +0 -122
  456. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleEngine.h +0 -93
  457. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.cpp +0 -52
  458. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTrack.h +0 -56
  459. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.cpp +0 -159
  460. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/VehicleTransmission.h +0 -87
  461. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.cpp +0 -93
  462. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/Wheel.h +0 -148
  463. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.cpp +0 -866
  464. package/native/third_party/JoltPhysics/Jolt/Physics/Vehicle/WheeledVehicleController.h +0 -205
  465. package/native/third_party/JoltPhysics/Jolt/RegisterTypes.cpp +0 -204
  466. package/native/third_party/JoltPhysics/Jolt/RegisterTypes.h +0 -29
  467. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.cpp +0 -1107
  468. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRenderer.h +0 -383
  469. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.cpp +0 -168
  470. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererPlayback.h +0 -48
  471. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.cpp +0 -158
  472. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererRecorder.h +0 -130
  473. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.cpp +0 -80
  474. package/native/third_party/JoltPhysics/Jolt/Renderer/DebugRendererSimple.h +0 -88
  475. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.cpp +0 -165
  476. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletalAnimation.h +0 -91
  477. package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.cpp +0 -82
  478. package/native/third_party/JoltPhysics/Jolt/Skeleton/Skeleton.h +0 -72
  479. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.cpp +0 -237
  480. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonMapper.h +0 -145
  481. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.cpp +0 -87
  482. package/native/third_party/JoltPhysics/Jolt/Skeleton/SkeletonPose.h +0 -82
  483. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.cpp +0 -73
  484. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitter.h +0 -84
  485. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.cpp +0 -139
  486. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterBinning.h +0 -52
  487. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.cpp +0 -43
  488. package/native/third_party/JoltPhysics/Jolt/TriangleSplitter/TriangleSplitterMean.h +0 -28
  489. package/native/third_party/JoltPhysics/LICENSE +0 -7
  490. package/native/third_party/JoltPhysics/README.md +0 -173
  491. package/native/third_party/bloom_jolt/CMakeLists.txt +0 -87
  492. package/native/third_party/bloom_jolt/include/bloom_jolt.h +0 -519
  493. 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