ruby-bullet 0.1.0-x86-linux → 0.1.1-x86-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (284) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +3 -0
  3. data/Rakefile +14 -2
  4. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +2 -2
  5. data/bindings/bullet/interface/bullet_wrap.cpp +17548 -6035
  6. data/bindings/bullet/interface/bullet_wrap.h +7 -7
  7. data/bindings/bullet/interface/bullet_wrap.o +0 -0
  8. data/lib/bullet.so +0 -0
  9. data/lib/ruby-bullet/version.rb +1 -1
  10. data/ruby-bullet.gemspec +0 -3
  11. metadata +169 -444
  12. data/deps/include/bullet/Bullet-C-Api.h +0 -176
  13. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.h +0 -1051
  14. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h +0 -82
  15. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +0 -270
  16. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +0 -80
  17. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvt.h +0 -1257
  18. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h +0 -146
  19. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDispatcher.h +0 -110
  20. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h +0 -151
  21. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +0 -469
  22. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h +0 -40
  23. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.h +0 -579
  24. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +0 -171
  25. data/deps/include/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.h +0 -51
  26. data/deps/include/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h +0 -36
  27. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h +0 -66
  28. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h +0 -66
  29. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.h +0 -44
  30. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +0 -48
  31. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h +0 -45
  32. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.h +0 -172
  33. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionObject.h +0 -524
  34. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h +0 -509
  35. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h +0 -86
  36. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h +0 -95
  37. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h +0 -116
  38. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h +0 -109
  39. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h +0 -84
  40. data/deps/include/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +0 -137
  41. data/deps/include/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h +0 -54
  42. data/deps/include/bullet/BulletCollision/CollisionDispatch/btGhostObject.h +0 -175
  43. data/deps/include/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h +0 -46
  44. data/deps/include/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h +0 -128
  45. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.h +0 -81
  46. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h +0 -75
  47. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h +0 -66
  48. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h +0 -69
  49. data/deps/include/bullet/BulletCollision/CollisionDispatch/btUnionFind.h +0 -129
  50. data/deps/include/bullet/BulletCollision/CollisionShapes/btBox2dShape.h +0 -369
  51. data/deps/include/bullet/BulletCollision/CollisionShapes/btBoxShape.h +0 -312
  52. data/deps/include/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +0 -139
  53. data/deps/include/bullet/BulletCollision/CollisionShapes/btCapsuleShape.h +0 -173
  54. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionMargin.h +0 -27
  55. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionShape.h +0 -150
  56. data/deps/include/bullet/BulletCollision/CollisionShapes/btCompoundShape.h +0 -212
  57. data/deps/include/bullet/BulletCollision/CollisionShapes/btConcaveShape.h +0 -60
  58. data/deps/include/bullet/BulletCollision/CollisionShapes/btConeShape.h +0 -103
  59. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvex2dShape.h +0 -80
  60. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h +0 -122
  61. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.h +0 -224
  62. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.h +0 -105
  63. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.h +0 -62
  64. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexShape.h +0 -84
  65. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +0 -75
  66. data/deps/include/bullet/BulletCollision/CollisionShapes/btCylinderShape.h +0 -200
  67. data/deps/include/bullet/BulletCollision/CollisionShapes/btEmptyShape.h +0 -70
  68. data/deps/include/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +0 -161
  69. data/deps/include/bullet/BulletCollision/CollisionShapes/btMaterial.h +0 -35
  70. data/deps/include/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +0 -60
  71. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.h +0 -99
  72. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h +0 -120
  73. data/deps/include/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.h +0 -65
  74. data/deps/include/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +0 -112
  75. data/deps/include/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h +0 -93
  76. data/deps/include/bullet/BulletCollision/CollisionShapes/btShapeHull.h +0 -59
  77. data/deps/include/bullet/BulletCollision/CollisionShapes/btSphereShape.h +0 -73
  78. data/deps/include/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.h +0 -103
  79. data/deps/include/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.h +0 -162
  80. data/deps/include/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.h +0 -74
  81. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.h +0 -69
  82. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleCallback.h +0 -42
  83. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h +0 -133
  84. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h +0 -84
  85. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleInfoMap.h +0 -241
  86. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMesh.h +0 -69
  87. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.h +0 -89
  88. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleShape.h +0 -182
  89. data/deps/include/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.h +0 -87
  90. data/deps/include/bullet/BulletCollision/Gimpact/btBoxCollision.h +0 -647
  91. data/deps/include/bullet/BulletCollision/Gimpact/btClipPolygon.h +0 -182
  92. data/deps/include/bullet/BulletCollision/Gimpact/btContactProcessing.h +0 -145
  93. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactBvh.h +0 -396
  94. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h +0 -306
  95. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactMassUtil.h +0 -60
  96. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.h +0 -372
  97. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactShape.h +0 -1171
  98. data/deps/include/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +0 -163
  99. data/deps/include/bullet/BulletCollision/Gimpact/btGeometryOperations.h +0 -212
  100. data/deps/include/bullet/BulletCollision/Gimpact/btQuantization.h +0 -88
  101. data/deps/include/bullet/BulletCollision/Gimpact/btTriangleShapeEx.h +0 -180
  102. data/deps/include/bullet/BulletCollision/Gimpact/gim_array.h +0 -326
  103. data/deps/include/bullet/BulletCollision/Gimpact/gim_basic_geometry_operations.h +0 -543
  104. data/deps/include/bullet/BulletCollision/Gimpact/gim_bitset.h +0 -123
  105. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_collision.h +0 -590
  106. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_set.h +0 -674
  107. data/deps/include/bullet/BulletCollision/Gimpact/gim_clip_polygon.h +0 -210
  108. data/deps/include/bullet/BulletCollision/Gimpact/gim_contact.h +0 -164
  109. data/deps/include/bullet/BulletCollision/Gimpact/gim_geom_types.h +0 -97
  110. data/deps/include/bullet/BulletCollision/Gimpact/gim_geometry.h +0 -42
  111. data/deps/include/bullet/BulletCollision/Gimpact/gim_hash_table.h +0 -902
  112. data/deps/include/bullet/BulletCollision/Gimpact/gim_linear_math.h +0 -1573
  113. data/deps/include/bullet/BulletCollision/Gimpact/gim_math.h +0 -157
  114. data/deps/include/bullet/BulletCollision/Gimpact/gim_memory.h +0 -190
  115. data/deps/include/bullet/BulletCollision/Gimpact/gim_radixsort.h +0 -406
  116. data/deps/include/bullet/BulletCollision/Gimpact/gim_tri_collision.h +0 -379
  117. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h +0 -59
  118. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.h +0 -73
  119. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h +0 -42
  120. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h +0 -91
  121. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h +0 -50
  122. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h +0 -75
  123. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h +0 -43
  124. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h +0 -103
  125. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +0 -158
  126. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h +0 -40
  127. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h +0 -228
  128. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPointCollector.h +0 -64
  129. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h +0 -46
  130. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h +0 -72
  131. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h +0 -63
  132. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h +0 -50
  133. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h +0 -179
  134. data/deps/include/bullet/BulletCollision/btBulletCollisionCommon.h +0 -69
  135. data/deps/include/bullet/BulletDynamics/Character/btCharacterControllerInterface.h +0 -46
  136. data/deps/include/bullet/BulletDynamics/Character/btKinematicCharacterController.h +0 -163
  137. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h +0 -346
  138. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConstraintSolver.h +0 -52
  139. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.h +0 -71
  140. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactSolverInfo.h +0 -87
  141. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h +0 -614
  142. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h +0 -99
  143. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.h +0 -58
  144. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.h +0 -381
  145. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btJacobianEntry.h +0 -156
  146. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h +0 -161
  147. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +0 -130
  148. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.h +0 -333
  149. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h +0 -107
  150. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h +0 -191
  151. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverConstraint.h +0 -98
  152. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.h +0 -452
  153. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.h +0 -62
  154. data/deps/include/bullet/BulletDynamics/Dynamics/btActionInterface.h +0 -46
  155. data/deps/include/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h +0 -203
  156. data/deps/include/bullet/BulletDynamics/Dynamics/btDynamicsWorld.h +0 -151
  157. data/deps/include/bullet/BulletDynamics/Dynamics/btRigidBody.h +0 -691
  158. data/deps/include/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h +0 -89
  159. data/deps/include/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h +0 -236
  160. data/deps/include/bullet/BulletDynamics/Vehicle/btVehicleRaycaster.h +0 -35
  161. data/deps/include/bullet/BulletDynamics/Vehicle/btWheelInfo.h +0 -119
  162. data/deps/include/bullet/BulletDynamics/btBulletDynamicsCommon.h +0 -48
  163. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverBuffer_DX11.h +0 -323
  164. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11.h +0 -103
  165. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11SIMDAware.h +0 -173
  166. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverTriangleData_DX11.h +0 -96
  167. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexBuffer_DX11.h +0 -107
  168. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexData_DX11.h +0 -63
  169. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11.h +0 -691
  170. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11SIMDAware.h +0 -81
  171. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverBuffer_OpenCL.h +0 -209
  172. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCL.h +0 -99
  173. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCLSIMDAware.h +0 -169
  174. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverOutputCLtoGL.h +0 -62
  175. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverTriangleData_OpenCL.h +0 -84
  176. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexBuffer_OpenGL.h +0 -166
  177. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexData_OpenCL.h +0 -52
  178. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCL.h +0 -527
  179. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCLSIMDAware.h +0 -81
  180. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h +0 -748
  181. data/deps/include/bullet/BulletMultiThreaded/HeapManager.h +0 -117
  182. data/deps/include/bullet/BulletMultiThreaded/PlatformDefinitions.h +0 -99
  183. data/deps/include/bullet/BulletMultiThreaded/PosixThreadSupport.h +0 -142
  184. data/deps/include/bullet/BulletMultiThreaded/PpuAddressSpace.h +0 -37
  185. data/deps/include/bullet/BulletMultiThreaded/SequentialThreadSupport.h +0 -96
  186. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionObjectWrapper.h +0 -40
  187. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionTaskProcess.h +0 -163
  188. data/deps/include/bullet/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h +0 -120
  189. data/deps/include/bullet/BulletMultiThreaded/SpuDoubleBuffer.h +0 -126
  190. data/deps/include/bullet/BulletMultiThreaded/SpuFakeDma.h +0 -135
  191. data/deps/include/bullet/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h +0 -72
  192. data/deps/include/bullet/BulletMultiThreaded/SpuLibspe2Support.h +0 -180
  193. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/Box.h +0 -167
  194. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +0 -128
  195. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.h +0 -106
  196. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h +0 -51
  197. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h +0 -140
  198. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuLocalSupport.h +0 -19
  199. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h +0 -48
  200. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h +0 -70
  201. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.h +0 -65
  202. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.h +0 -54
  203. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTaskProcess.h +0 -153
  204. data/deps/include/bullet/BulletMultiThreaded/SpuSync.h +0 -149
  205. data/deps/include/bullet/BulletMultiThreaded/TrbDynBody.h +0 -79
  206. data/deps/include/bullet/BulletMultiThreaded/TrbStateVec.h +0 -339
  207. data/deps/include/bullet/BulletMultiThreaded/Win32ThreadSupport.h +0 -138
  208. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphase.h +0 -138
  209. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedCode.h +0 -430
  210. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedDefs.h +0 -61
  211. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedTypes.h +0 -67
  212. data/deps/include/bullet/BulletMultiThreaded/btGpuDefines.h +0 -211
  213. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedCode.h +0 -55
  214. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedDefs.h +0 -52
  215. data/deps/include/bullet/BulletMultiThreaded/btParallelConstraintSolver.h +0 -285
  216. data/deps/include/bullet/BulletMultiThreaded/btThreadSupportInterface.h +0 -85
  217. data/deps/include/bullet/BulletMultiThreaded/vectormath2bullet.h +0 -73
  218. data/deps/include/bullet/BulletSoftBody/btDefaultSoftBodySolver.h +0 -63
  219. data/deps/include/bullet/BulletSoftBody/btSoftBody.h +0 -987
  220. data/deps/include/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h +0 -153
  221. data/deps/include/bullet/BulletSoftBody/btSoftBodyData.h +0 -217
  222. data/deps/include/bullet/BulletSoftBody/btSoftBodyHelpers.h +0 -143
  223. data/deps/include/bullet/BulletSoftBody/btSoftBodyInternals.h +0 -930
  224. data/deps/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h +0 -48
  225. data/deps/include/bullet/BulletSoftBody/btSoftBodySolverVertexBuffer.h +0 -165
  226. data/deps/include/bullet/BulletSoftBody/btSoftBodySolvers.h +0 -154
  227. data/deps/include/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.h +0 -75
  228. data/deps/include/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.h +0 -107
  229. data/deps/include/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.h +0 -69
  230. data/deps/include/bullet/BulletSoftBody/btSparseSDF.h +0 -306
  231. data/deps/include/bullet/LinearMath/btAabbUtil2.h +0 -236
  232. data/deps/include/bullet/LinearMath/btAlignedAllocator.h +0 -107
  233. data/deps/include/bullet/LinearMath/btAlignedObjectArray.h +0 -494
  234. data/deps/include/bullet/LinearMath/btConvexHull.h +0 -241
  235. data/deps/include/bullet/LinearMath/btConvexHullComputer.h +0 -103
  236. data/deps/include/bullet/LinearMath/btDefaultMotionState.h +0 -40
  237. data/deps/include/bullet/LinearMath/btGeometryUtil.h +0 -42
  238. data/deps/include/bullet/LinearMath/btGrahamScan2dConvexHull.h +0 -110
  239. data/deps/include/bullet/LinearMath/btHashMap.h +0 -450
  240. data/deps/include/bullet/LinearMath/btIDebugDraw.h +0 -418
  241. data/deps/include/bullet/LinearMath/btList.h +0 -73
  242. data/deps/include/bullet/LinearMath/btMatrix3x3.h +0 -771
  243. data/deps/include/bullet/LinearMath/btMinMax.h +0 -71
  244. data/deps/include/bullet/LinearMath/btMotionState.h +0 -40
  245. data/deps/include/bullet/LinearMath/btPoolAllocator.h +0 -121
  246. data/deps/include/bullet/LinearMath/btQuadWord.h +0 -180
  247. data/deps/include/bullet/LinearMath/btQuaternion.h +0 -430
  248. data/deps/include/bullet/LinearMath/btQuickprof.h +0 -203
  249. data/deps/include/bullet/LinearMath/btRandom.h +0 -42
  250. data/deps/include/bullet/LinearMath/btScalar.h +0 -539
  251. data/deps/include/bullet/LinearMath/btSerializer.h +0 -639
  252. data/deps/include/bullet/LinearMath/btStackAlloc.h +0 -116
  253. data/deps/include/bullet/LinearMath/btTransform.h +0 -307
  254. data/deps/include/bullet/LinearMath/btTransformUtil.h +0 -228
  255. data/deps/include/bullet/LinearMath/btVector3.h +0 -766
  256. data/deps/include/bullet/MiniCL/MiniCLTask/MiniCLTask.h +0 -62
  257. data/deps/include/bullet/MiniCL/MiniCLTaskScheduler.h +0 -194
  258. data/deps/include/bullet/MiniCL/cl.h +0 -867
  259. data/deps/include/bullet/MiniCL/cl_MiniCL_Defs.h +0 -439
  260. data/deps/include/bullet/MiniCL/cl_gl.h +0 -113
  261. data/deps/include/bullet/MiniCL/cl_platform.h +0 -254
  262. data/deps/include/bullet/btBulletCollisionCommon.h +0 -69
  263. data/deps/include/bullet/btBulletDynamicsCommon.h +0 -48
  264. data/deps/include/bullet/vectormath/scalar/boolInVec.h +0 -225
  265. data/deps/include/bullet/vectormath/scalar/floatInVec.h +0 -343
  266. data/deps/include/bullet/vectormath/scalar/mat_aos.h +0 -1630
  267. data/deps/include/bullet/vectormath/scalar/quat_aos.h +0 -433
  268. data/deps/include/bullet/vectormath/scalar/vec_aos.h +0 -1426
  269. data/deps/include/bullet/vectormath/scalar/vectormath_aos.h +0 -1872
  270. data/deps/include/bullet/vectormath/sse/boolInVec.h +0 -247
  271. data/deps/include/bullet/vectormath/sse/floatInVec.h +0 -340
  272. data/deps/include/bullet/vectormath/sse/mat_aos.h +0 -2190
  273. data/deps/include/bullet/vectormath/sse/quat_aos.h +0 -579
  274. data/deps/include/bullet/vectormath/sse/vec_aos.h +0 -1455
  275. data/deps/include/bullet/vectormath/sse/vecidx_aos.h +0 -80
  276. data/deps/include/bullet/vectormath/sse/vectormath_aos.h +0 -2547
  277. data/deps/include/bullet/vectormath/vmInclude.h +0 -27
  278. data/deps/lib/libBulletCollision.a +0 -0
  279. data/deps/lib/libBulletDynamics.a +0 -0
  280. data/deps/lib/libBulletMultiThreaded.a +0 -0
  281. data/deps/lib/libBulletSoftBody.a +0 -0
  282. data/deps/lib/libBulletSoftBodySolvers_OpenCL_Mini.a +0 -0
  283. data/deps/lib/libLinearMath.a +0 -0
  284. data/deps/lib/libMiniCL.a +0 -0
@@ -1,579 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
-
16
- #ifndef BT_QUANTIZED_BVH_H
17
- #define BT_QUANTIZED_BVH_H
18
-
19
- class btSerializer;
20
-
21
- //#define DEBUG_CHECK_DEQUANTIZATION 1
22
- #ifdef DEBUG_CHECK_DEQUANTIZATION
23
- #ifdef __SPU__
24
- #define printf spu_printf
25
- #endif //__SPU__
26
-
27
- #include <stdio.h>
28
- #include <stdlib.h>
29
- #endif //DEBUG_CHECK_DEQUANTIZATION
30
-
31
- #include "LinearMath/btVector3.h"
32
- #include "LinearMath/btAlignedAllocator.h"
33
-
34
- #ifdef BT_USE_DOUBLE_PRECISION
35
- #define btQuantizedBvhData btQuantizedBvhDoubleData
36
- #define btOptimizedBvhNodeData btOptimizedBvhNodeDoubleData
37
- #define btQuantizedBvhDataName "btQuantizedBvhDoubleData"
38
- #else
39
- #define btQuantizedBvhData btQuantizedBvhFloatData
40
- #define btOptimizedBvhNodeData btOptimizedBvhNodeFloatData
41
- #define btQuantizedBvhDataName "btQuantizedBvhFloatData"
42
- #endif
43
-
44
-
45
-
46
- //http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/vclrf__m128.asp
47
-
48
-
49
- //Note: currently we have 16 bytes per quantized node
50
- #define MAX_SUBTREE_SIZE_IN_BYTES 2048
51
-
52
- // 10 gives the potential for 1024 parts, with at most 2^21 (2097152) (minus one
53
- // actually) triangles each (since the sign bit is reserved
54
- #define MAX_NUM_PARTS_IN_BITS 10
55
-
56
- ///btQuantizedBvhNode is a compressed aabb node, 16 bytes.
57
- ///Node can be used for leafnode or internal node. Leafnodes can point to 32-bit triangle index (non-negative range).
58
- ATTRIBUTE_ALIGNED16 (struct) btQuantizedBvhNode
59
- {
60
- BT_DECLARE_ALIGNED_ALLOCATOR();
61
-
62
- //12 bytes
63
- unsigned short int m_quantizedAabbMin[3];
64
- unsigned short int m_quantizedAabbMax[3];
65
- //4 bytes
66
- int m_escapeIndexOrTriangleIndex;
67
-
68
- bool isLeafNode() const
69
- {
70
- //skipindex is negative (internal node), triangleindex >=0 (leafnode)
71
- return (m_escapeIndexOrTriangleIndex >= 0);
72
- }
73
- int getEscapeIndex() const
74
- {
75
- btAssert(!isLeafNode());
76
- return -m_escapeIndexOrTriangleIndex;
77
- }
78
- int getTriangleIndex() const
79
- {
80
- btAssert(isLeafNode());
81
- // Get only the lower bits where the triangle index is stored
82
- return (m_escapeIndexOrTriangleIndex&~((~0)<<(31-MAX_NUM_PARTS_IN_BITS)));
83
- }
84
- int getPartId() const
85
- {
86
- btAssert(isLeafNode());
87
- // Get only the highest bits where the part index is stored
88
- return (m_escapeIndexOrTriangleIndex>>(31-MAX_NUM_PARTS_IN_BITS));
89
- }
90
- }
91
- ;
92
-
93
- /// btOptimizedBvhNode contains both internal and leaf node information.
94
- /// Total node size is 44 bytes / node. You can use the compressed version of 16 bytes.
95
- ATTRIBUTE_ALIGNED16 (struct) btOptimizedBvhNode
96
- {
97
- BT_DECLARE_ALIGNED_ALLOCATOR();
98
-
99
- //32 bytes
100
- btVector3 m_aabbMinOrg;
101
- btVector3 m_aabbMaxOrg;
102
-
103
- //4
104
- int m_escapeIndex;
105
-
106
- //8
107
- //for child nodes
108
- int m_subPart;
109
- int m_triangleIndex;
110
-
111
- //pad the size to 64 bytes
112
- char m_padding[20];
113
- };
114
-
115
-
116
- ///btBvhSubtreeInfo provides info to gather a subtree of limited size
117
- ATTRIBUTE_ALIGNED16(class) btBvhSubtreeInfo
118
- {
119
- public:
120
- BT_DECLARE_ALIGNED_ALLOCATOR();
121
-
122
- //12 bytes
123
- unsigned short int m_quantizedAabbMin[3];
124
- unsigned short int m_quantizedAabbMax[3];
125
- //4 bytes, points to the root of the subtree
126
- int m_rootNodeIndex;
127
- //4 bytes
128
- int m_subtreeSize;
129
- int m_padding[3];
130
-
131
- btBvhSubtreeInfo()
132
- {
133
- //memset(&m_padding[0], 0, sizeof(m_padding));
134
- }
135
-
136
-
137
- void setAabbFromQuantizeNode(const btQuantizedBvhNode& quantizedNode)
138
- {
139
- m_quantizedAabbMin[0] = quantizedNode.m_quantizedAabbMin[0];
140
- m_quantizedAabbMin[1] = quantizedNode.m_quantizedAabbMin[1];
141
- m_quantizedAabbMin[2] = quantizedNode.m_quantizedAabbMin[2];
142
- m_quantizedAabbMax[0] = quantizedNode.m_quantizedAabbMax[0];
143
- m_quantizedAabbMax[1] = quantizedNode.m_quantizedAabbMax[1];
144
- m_quantizedAabbMax[2] = quantizedNode.m_quantizedAabbMax[2];
145
- }
146
- }
147
- ;
148
-
149
-
150
- class btNodeOverlapCallback
151
- {
152
- public:
153
- virtual ~btNodeOverlapCallback() {};
154
-
155
- virtual void processNode(int subPart, int triangleIndex) = 0;
156
- };
157
-
158
- #include "LinearMath/btAlignedAllocator.h"
159
- #include "LinearMath/btAlignedObjectArray.h"
160
-
161
-
162
-
163
- ///for code readability:
164
- typedef btAlignedObjectArray<btOptimizedBvhNode> NodeArray;
165
- typedef btAlignedObjectArray<btQuantizedBvhNode> QuantizedNodeArray;
166
- typedef btAlignedObjectArray<btBvhSubtreeInfo> BvhSubtreeInfoArray;
167
-
168
-
169
- ///The btQuantizedBvh class stores an AABB tree that can be quickly traversed on CPU and Cell SPU.
170
- ///It is used by the btBvhTriangleMeshShape as midphase, and by the btMultiSapBroadphase.
171
- ///It is recommended to use quantization for better performance and lower memory requirements.
172
- ATTRIBUTE_ALIGNED16(class) btQuantizedBvh
173
- {
174
- public:
175
- enum btTraversalMode
176
- {
177
- TRAVERSAL_STACKLESS = 0,
178
- TRAVERSAL_STACKLESS_CACHE_FRIENDLY,
179
- TRAVERSAL_RECURSIVE
180
- };
181
-
182
- protected:
183
-
184
-
185
- btVector3 m_bvhAabbMin;
186
- btVector3 m_bvhAabbMax;
187
- btVector3 m_bvhQuantization;
188
-
189
- int m_bulletVersion; //for serialization versioning. It could also be used to detect endianess.
190
-
191
- int m_curNodeIndex;
192
- //quantization data
193
- bool m_useQuantization;
194
-
195
-
196
-
197
- NodeArray m_leafNodes;
198
- NodeArray m_contiguousNodes;
199
- QuantizedNodeArray m_quantizedLeafNodes;
200
- QuantizedNodeArray m_quantizedContiguousNodes;
201
-
202
- btTraversalMode m_traversalMode;
203
- BvhSubtreeInfoArray m_SubtreeHeaders;
204
-
205
- //This is only used for serialization so we don't have to add serialization directly to btAlignedObjectArray
206
- mutable int m_subtreeHeaderCount;
207
-
208
-
209
-
210
-
211
-
212
- ///two versions, one for quantized and normal nodes. This allows code-reuse while maintaining readability (no template/macro!)
213
- ///this might be refactored into a virtual, it is usually not calculated at run-time
214
- void setInternalNodeAabbMin(int nodeIndex, const btVector3& aabbMin)
215
- {
216
- if (m_useQuantization)
217
- {
218
- quantize(&m_quantizedContiguousNodes[nodeIndex].m_quantizedAabbMin[0] ,aabbMin,0);
219
- } else
220
- {
221
- m_contiguousNodes[nodeIndex].m_aabbMinOrg = aabbMin;
222
-
223
- }
224
- }
225
- void setInternalNodeAabbMax(int nodeIndex,const btVector3& aabbMax)
226
- {
227
- if (m_useQuantization)
228
- {
229
- quantize(&m_quantizedContiguousNodes[nodeIndex].m_quantizedAabbMax[0],aabbMax,1);
230
- } else
231
- {
232
- m_contiguousNodes[nodeIndex].m_aabbMaxOrg = aabbMax;
233
- }
234
- }
235
-
236
- btVector3 getAabbMin(int nodeIndex) const
237
- {
238
- if (m_useQuantization)
239
- {
240
- return unQuantize(&m_quantizedLeafNodes[nodeIndex].m_quantizedAabbMin[0]);
241
- }
242
- //non-quantized
243
- return m_leafNodes[nodeIndex].m_aabbMinOrg;
244
-
245
- }
246
- btVector3 getAabbMax(int nodeIndex) const
247
- {
248
- if (m_useQuantization)
249
- {
250
- return unQuantize(&m_quantizedLeafNodes[nodeIndex].m_quantizedAabbMax[0]);
251
- }
252
- //non-quantized
253
- return m_leafNodes[nodeIndex].m_aabbMaxOrg;
254
-
255
- }
256
-
257
-
258
- void setInternalNodeEscapeIndex(int nodeIndex, int escapeIndex)
259
- {
260
- if (m_useQuantization)
261
- {
262
- m_quantizedContiguousNodes[nodeIndex].m_escapeIndexOrTriangleIndex = -escapeIndex;
263
- }
264
- else
265
- {
266
- m_contiguousNodes[nodeIndex].m_escapeIndex = escapeIndex;
267
- }
268
-
269
- }
270
-
271
- void mergeInternalNodeAabb(int nodeIndex,const btVector3& newAabbMin,const btVector3& newAabbMax)
272
- {
273
- if (m_useQuantization)
274
- {
275
- unsigned short int quantizedAabbMin[3];
276
- unsigned short int quantizedAabbMax[3];
277
- quantize(quantizedAabbMin,newAabbMin,0);
278
- quantize(quantizedAabbMax,newAabbMax,1);
279
- for (int i=0;i<3;i++)
280
- {
281
- if (m_quantizedContiguousNodes[nodeIndex].m_quantizedAabbMin[i] > quantizedAabbMin[i])
282
- m_quantizedContiguousNodes[nodeIndex].m_quantizedAabbMin[i] = quantizedAabbMin[i];
283
-
284
- if (m_quantizedContiguousNodes[nodeIndex].m_quantizedAabbMax[i] < quantizedAabbMax[i])
285
- m_quantizedContiguousNodes[nodeIndex].m_quantizedAabbMax[i] = quantizedAabbMax[i];
286
-
287
- }
288
- } else
289
- {
290
- //non-quantized
291
- m_contiguousNodes[nodeIndex].m_aabbMinOrg.setMin(newAabbMin);
292
- m_contiguousNodes[nodeIndex].m_aabbMaxOrg.setMax(newAabbMax);
293
- }
294
- }
295
-
296
- void swapLeafNodes(int firstIndex,int secondIndex);
297
-
298
- void assignInternalNodeFromLeafNode(int internalNode,int leafNodeIndex);
299
-
300
- protected:
301
-
302
-
303
-
304
- void buildTree (int startIndex,int endIndex);
305
-
306
- int calcSplittingAxis(int startIndex,int endIndex);
307
-
308
- int sortAndCalcSplittingIndex(int startIndex,int endIndex,int splitAxis);
309
-
310
- void walkStacklessTree(btNodeOverlapCallback* nodeCallback,const btVector3& aabbMin,const btVector3& aabbMax) const;
311
-
312
- void walkStacklessQuantizedTreeAgainstRay(btNodeOverlapCallback* nodeCallback, const btVector3& raySource, const btVector3& rayTarget, const btVector3& aabbMin, const btVector3& aabbMax, int startNodeIndex,int endNodeIndex) const;
313
- void walkStacklessQuantizedTree(btNodeOverlapCallback* nodeCallback,unsigned short int* quantizedQueryAabbMin,unsigned short int* quantizedQueryAabbMax,int startNodeIndex,int endNodeIndex) const;
314
- void walkStacklessTreeAgainstRay(btNodeOverlapCallback* nodeCallback, const btVector3& raySource, const btVector3& rayTarget, const btVector3& aabbMin, const btVector3& aabbMax, int startNodeIndex,int endNodeIndex) const;
315
-
316
- ///tree traversal designed for small-memory processors like PS3 SPU
317
- void walkStacklessQuantizedTreeCacheFriendly(btNodeOverlapCallback* nodeCallback,unsigned short int* quantizedQueryAabbMin,unsigned short int* quantizedQueryAabbMax) const;
318
-
319
- ///use the 16-byte stackless 'skipindex' node tree to do a recursive traversal
320
- void walkRecursiveQuantizedTreeAgainstQueryAabb(const btQuantizedBvhNode* currentNode,btNodeOverlapCallback* nodeCallback,unsigned short int* quantizedQueryAabbMin,unsigned short int* quantizedQueryAabbMax) const;
321
-
322
- ///use the 16-byte stackless 'skipindex' node tree to do a recursive traversal
323
- void walkRecursiveQuantizedTreeAgainstQuantizedTree(const btQuantizedBvhNode* treeNodeA,const btQuantizedBvhNode* treeNodeB,btNodeOverlapCallback* nodeCallback) const;
324
-
325
-
326
-
327
-
328
- void updateSubtreeHeaders(int leftChildNodexIndex,int rightChildNodexIndex);
329
-
330
- public:
331
-
332
- BT_DECLARE_ALIGNED_ALLOCATOR();
333
-
334
- btQuantizedBvh();
335
-
336
- virtual ~btQuantizedBvh();
337
-
338
-
339
- ///***************************************** expert/internal use only *************************
340
- void setQuantizationValues(const btVector3& bvhAabbMin,const btVector3& bvhAabbMax,btScalar quantizationMargin=btScalar(1.0));
341
- QuantizedNodeArray& getLeafNodeArray() { return m_quantizedLeafNodes; }
342
- ///buildInternal is expert use only: assumes that setQuantizationValues and LeafNodeArray are initialized
343
- void buildInternal();
344
- ///***************************************** expert/internal use only *************************
345
-
346
- void reportAabbOverlappingNodex(btNodeOverlapCallback* nodeCallback,const btVector3& aabbMin,const btVector3& aabbMax) const;
347
- void reportRayOverlappingNodex (btNodeOverlapCallback* nodeCallback, const btVector3& raySource, const btVector3& rayTarget) const;
348
- void reportBoxCastOverlappingNodex(btNodeOverlapCallback* nodeCallback, const btVector3& raySource, const btVector3& rayTarget, const btVector3& aabbMin,const btVector3& aabbMax) const;
349
-
350
- SIMD_FORCE_INLINE void quantize(unsigned short* out, const btVector3& point,int isMax) const
351
- {
352
-
353
- btAssert(m_useQuantization);
354
-
355
- btAssert(point.getX() <= m_bvhAabbMax.getX());
356
- btAssert(point.getY() <= m_bvhAabbMax.getY());
357
- btAssert(point.getZ() <= m_bvhAabbMax.getZ());
358
-
359
- btAssert(point.getX() >= m_bvhAabbMin.getX());
360
- btAssert(point.getY() >= m_bvhAabbMin.getY());
361
- btAssert(point.getZ() >= m_bvhAabbMin.getZ());
362
-
363
- btVector3 v = (point - m_bvhAabbMin) * m_bvhQuantization;
364
- ///Make sure rounding is done in a way that unQuantize(quantizeWithClamp(...)) is conservative
365
- ///end-points always set the first bit, so that they are sorted properly (so that neighbouring AABBs overlap properly)
366
- ///@todo: double-check this
367
- if (isMax)
368
- {
369
- out[0] = (unsigned short) (((unsigned short)(v.getX()+btScalar(1.)) | 1));
370
- out[1] = (unsigned short) (((unsigned short)(v.getY()+btScalar(1.)) | 1));
371
- out[2] = (unsigned short) (((unsigned short)(v.getZ()+btScalar(1.)) | 1));
372
- } else
373
- {
374
- out[0] = (unsigned short) (((unsigned short)(v.getX()) & 0xfffe));
375
- out[1] = (unsigned short) (((unsigned short)(v.getY()) & 0xfffe));
376
- out[2] = (unsigned short) (((unsigned short)(v.getZ()) & 0xfffe));
377
- }
378
-
379
-
380
- #ifdef DEBUG_CHECK_DEQUANTIZATION
381
- btVector3 newPoint = unQuantize(out);
382
- if (isMax)
383
- {
384
- if (newPoint.getX() < point.getX())
385
- {
386
- printf("unconservative X, diffX = %f, oldX=%f,newX=%f\n",newPoint.getX()-point.getX(), newPoint.getX(),point.getX());
387
- }
388
- if (newPoint.getY() < point.getY())
389
- {
390
- printf("unconservative Y, diffY = %f, oldY=%f,newY=%f\n",newPoint.getY()-point.getY(), newPoint.getY(),point.getY());
391
- }
392
- if (newPoint.getZ() < point.getZ())
393
- {
394
-
395
- printf("unconservative Z, diffZ = %f, oldZ=%f,newZ=%f\n",newPoint.getZ()-point.getZ(), newPoint.getZ(),point.getZ());
396
- }
397
- } else
398
- {
399
- if (newPoint.getX() > point.getX())
400
- {
401
- printf("unconservative X, diffX = %f, oldX=%f,newX=%f\n",newPoint.getX()-point.getX(), newPoint.getX(),point.getX());
402
- }
403
- if (newPoint.getY() > point.getY())
404
- {
405
- printf("unconservative Y, diffY = %f, oldY=%f,newY=%f\n",newPoint.getY()-point.getY(), newPoint.getY(),point.getY());
406
- }
407
- if (newPoint.getZ() > point.getZ())
408
- {
409
- printf("unconservative Z, diffZ = %f, oldZ=%f,newZ=%f\n",newPoint.getZ()-point.getZ(), newPoint.getZ(),point.getZ());
410
- }
411
- }
412
- #endif //DEBUG_CHECK_DEQUANTIZATION
413
-
414
- }
415
-
416
-
417
- SIMD_FORCE_INLINE void quantizeWithClamp(unsigned short* out, const btVector3& point2,int isMax) const
418
- {
419
-
420
- btAssert(m_useQuantization);
421
-
422
- btVector3 clampedPoint(point2);
423
- clampedPoint.setMax(m_bvhAabbMin);
424
- clampedPoint.setMin(m_bvhAabbMax);
425
-
426
- quantize(out,clampedPoint,isMax);
427
-
428
- }
429
-
430
- SIMD_FORCE_INLINE btVector3 unQuantize(const unsigned short* vecIn) const
431
- {
432
- btVector3 vecOut;
433
- vecOut.setValue(
434
- (btScalar)(vecIn[0]) / (m_bvhQuantization.getX()),
435
- (btScalar)(vecIn[1]) / (m_bvhQuantization.getY()),
436
- (btScalar)(vecIn[2]) / (m_bvhQuantization.getZ()));
437
- vecOut += m_bvhAabbMin;
438
- return vecOut;
439
- }
440
-
441
- ///setTraversalMode let's you choose between stackless, recursive or stackless cache friendly tree traversal. Note this is only implemented for quantized trees.
442
- void setTraversalMode(btTraversalMode traversalMode)
443
- {
444
- m_traversalMode = traversalMode;
445
- }
446
-
447
-
448
- SIMD_FORCE_INLINE QuantizedNodeArray& getQuantizedNodeArray()
449
- {
450
- return m_quantizedContiguousNodes;
451
- }
452
-
453
-
454
- SIMD_FORCE_INLINE BvhSubtreeInfoArray& getSubtreeInfoArray()
455
- {
456
- return m_SubtreeHeaders;
457
- }
458
-
459
- ////////////////////////////////////////////////////////////////////
460
-
461
- /////Calculate space needed to store BVH for serialization
462
- unsigned calculateSerializeBufferSize() const;
463
-
464
- /// Data buffer MUST be 16 byte aligned
465
- virtual bool serialize(void *o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const;
466
-
467
- ///deSerializeInPlace loads and initializes a BVH from a buffer in memory 'in place'
468
- static btQuantizedBvh *deSerializeInPlace(void *i_alignedDataBuffer, unsigned int i_dataBufferSize, bool i_swapEndian);
469
-
470
- static unsigned int getAlignmentSerializationPadding();
471
- //////////////////////////////////////////////////////////////////////
472
-
473
-
474
- virtual int calculateSerializeBufferSizeNew() const;
475
-
476
- ///fills the dataBuffer and returns the struct name (and 0 on failure)
477
- virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
478
-
479
- virtual void deSerializeFloat(struct btQuantizedBvhFloatData& quantizedBvhFloatData);
480
-
481
- virtual void deSerializeDouble(struct btQuantizedBvhDoubleData& quantizedBvhDoubleData);
482
-
483
-
484
- ////////////////////////////////////////////////////////////////////
485
-
486
- SIMD_FORCE_INLINE bool isQuantized()
487
- {
488
- return m_useQuantization;
489
- }
490
-
491
- private:
492
- // Special "copy" constructor that allows for in-place deserialization
493
- // Prevents btVector3's default constructor from being called, but doesn't inialize much else
494
- // ownsMemory should most likely be false if deserializing, and if you are not, don't call this (it also changes the function signature, which we need)
495
- btQuantizedBvh(btQuantizedBvh &other, bool ownsMemory);
496
-
497
- }
498
- ;
499
-
500
-
501
- struct btBvhSubtreeInfoData
502
- {
503
- int m_rootNodeIndex;
504
- int m_subtreeSize;
505
- unsigned short m_quantizedAabbMin[3];
506
- unsigned short m_quantizedAabbMax[3];
507
- };
508
-
509
- struct btOptimizedBvhNodeFloatData
510
- {
511
- btVector3FloatData m_aabbMinOrg;
512
- btVector3FloatData m_aabbMaxOrg;
513
- int m_escapeIndex;
514
- int m_subPart;
515
- int m_triangleIndex;
516
- char m_pad[4];
517
- };
518
-
519
- struct btOptimizedBvhNodeDoubleData
520
- {
521
- btVector3DoubleData m_aabbMinOrg;
522
- btVector3DoubleData m_aabbMaxOrg;
523
- int m_escapeIndex;
524
- int m_subPart;
525
- int m_triangleIndex;
526
- char m_pad[4];
527
- };
528
-
529
-
530
- struct btQuantizedBvhNodeData
531
- {
532
- unsigned short m_quantizedAabbMin[3];
533
- unsigned short m_quantizedAabbMax[3];
534
- int m_escapeIndexOrTriangleIndex;
535
- };
536
-
537
- struct btQuantizedBvhFloatData
538
- {
539
- btVector3FloatData m_bvhAabbMin;
540
- btVector3FloatData m_bvhAabbMax;
541
- btVector3FloatData m_bvhQuantization;
542
- int m_curNodeIndex;
543
- int m_useQuantization;
544
- int m_numContiguousLeafNodes;
545
- int m_numQuantizedContiguousNodes;
546
- btOptimizedBvhNodeFloatData *m_contiguousNodesPtr;
547
- btQuantizedBvhNodeData *m_quantizedContiguousNodesPtr;
548
- btBvhSubtreeInfoData *m_subTreeInfoPtr;
549
- int m_traversalMode;
550
- int m_numSubtreeHeaders;
551
-
552
- };
553
-
554
- struct btQuantizedBvhDoubleData
555
- {
556
- btVector3DoubleData m_bvhAabbMin;
557
- btVector3DoubleData m_bvhAabbMax;
558
- btVector3DoubleData m_bvhQuantization;
559
- int m_curNodeIndex;
560
- int m_useQuantization;
561
- int m_numContiguousLeafNodes;
562
- int m_numQuantizedContiguousNodes;
563
- btOptimizedBvhNodeDoubleData *m_contiguousNodesPtr;
564
- btQuantizedBvhNodeData *m_quantizedContiguousNodesPtr;
565
-
566
- int m_traversalMode;
567
- int m_numSubtreeHeaders;
568
- btBvhSubtreeInfoData *m_subTreeInfoPtr;
569
- };
570
-
571
-
572
- SIMD_FORCE_INLINE int btQuantizedBvh::calculateSerializeBufferSizeNew() const
573
- {
574
- return sizeof(btQuantizedBvhData);
575
- }
576
-
577
-
578
-
579
- #endif //BT_QUANTIZED_BVH_H