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,306 +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
- ///btSparseSdf implementation by Nathanael Presson
16
-
17
- #ifndef BT_SPARSE_SDF_H
18
- #define BT_SPARSE_SDF_H
19
-
20
- #include "BulletCollision/CollisionDispatch/btCollisionObject.h"
21
- #include "BulletCollision/NarrowPhaseCollision/btGjkEpa2.h"
22
-
23
- // Modified Paul Hsieh hash
24
- template <const int DWORDLEN>
25
- unsigned int HsiehHash(const void* pdata)
26
- {
27
- const unsigned short* data=(const unsigned short*)pdata;
28
- unsigned hash=DWORDLEN<<2,tmp;
29
- for(int i=0;i<DWORDLEN;++i)
30
- {
31
- hash += data[0];
32
- tmp = (data[1]<<11)^hash;
33
- hash = (hash<<16)^tmp;
34
- data += 2;
35
- hash += hash>>11;
36
- }
37
- hash^=hash<<3;hash+=hash>>5;
38
- hash^=hash<<4;hash+=hash>>17;
39
- hash^=hash<<25;hash+=hash>>6;
40
- return(hash);
41
- }
42
-
43
- template <const int CELLSIZE>
44
- struct btSparseSdf
45
- {
46
- //
47
- // Inner types
48
- //
49
- struct IntFrac
50
- {
51
- int b;
52
- int i;
53
- btScalar f;
54
- };
55
- struct Cell
56
- {
57
- btScalar d[CELLSIZE+1][CELLSIZE+1][CELLSIZE+1];
58
- int c[3];
59
- int puid;
60
- unsigned hash;
61
- btCollisionShape* pclient;
62
- Cell* next;
63
- };
64
- //
65
- // Fields
66
- //
67
-
68
- btAlignedObjectArray<Cell*> cells;
69
- btScalar voxelsz;
70
- int puid;
71
- int ncells;
72
- int nprobes;
73
- int nqueries;
74
-
75
- //
76
- // Methods
77
- //
78
-
79
- //
80
- void Initialize(int hashsize=2383)
81
- {
82
- cells.resize(hashsize,0);
83
- Reset();
84
- }
85
- //
86
- void Reset()
87
- {
88
- for(int i=0,ni=cells.size();i<ni;++i)
89
- {
90
- Cell* pc=cells[i];
91
- cells[i]=0;
92
- while(pc)
93
- {
94
- Cell* pn=pc->next;
95
- delete pc;
96
- pc=pn;
97
- }
98
- }
99
- voxelsz =0.25;
100
- puid =0;
101
- ncells =0;
102
- nprobes =1;
103
- nqueries =1;
104
- }
105
- //
106
- void GarbageCollect(int lifetime=256)
107
- {
108
- const int life=puid-lifetime;
109
- for(int i=0;i<cells.size();++i)
110
- {
111
- Cell*& root=cells[i];
112
- Cell* pp=0;
113
- Cell* pc=root;
114
- while(pc)
115
- {
116
- Cell* pn=pc->next;
117
- if(pc->puid<life)
118
- {
119
- if(pp) pp->next=pn; else root=pn;
120
- delete pc;pc=pp;--ncells;
121
- }
122
- pp=pc;pc=pn;
123
- }
124
- }
125
- //printf("GC[%d]: %d cells, PpQ: %f\r\n",puid,ncells,nprobes/(btScalar)nqueries);
126
- nqueries=1;
127
- nprobes=1;
128
- ++puid; ///@todo: Reset puid's when int range limit is reached */
129
- /* else setup a priority list... */
130
- }
131
- //
132
- int RemoveReferences(btCollisionShape* pcs)
133
- {
134
- int refcount=0;
135
- for(int i=0;i<cells.size();++i)
136
- {
137
- Cell*& root=cells[i];
138
- Cell* pp=0;
139
- Cell* pc=root;
140
- while(pc)
141
- {
142
- Cell* pn=pc->next;
143
- if(pc->pclient==pcs)
144
- {
145
- if(pp) pp->next=pn; else root=pn;
146
- delete pc;pc=pp;++refcount;
147
- }
148
- pp=pc;pc=pn;
149
- }
150
- }
151
- return(refcount);
152
- }
153
- //
154
- btScalar Evaluate( const btVector3& x,
155
- btCollisionShape* shape,
156
- btVector3& normal,
157
- btScalar margin)
158
- {
159
- /* Lookup cell */
160
- const btVector3 scx=x/voxelsz;
161
- const IntFrac ix=Decompose(scx.x());
162
- const IntFrac iy=Decompose(scx.y());
163
- const IntFrac iz=Decompose(scx.z());
164
- const unsigned h=Hash(ix.b,iy.b,iz.b,shape);
165
- Cell*& root=cells[static_cast<int>(h%cells.size())];
166
- Cell* c=root;
167
- ++nqueries;
168
- while(c)
169
- {
170
- ++nprobes;
171
- if( (c->hash==h) &&
172
- (c->c[0]==ix.b) &&
173
- (c->c[1]==iy.b) &&
174
- (c->c[2]==iz.b) &&
175
- (c->pclient==shape))
176
- { break; }
177
- else
178
- { c=c->next; }
179
- }
180
- if(!c)
181
- {
182
- ++nprobes;
183
- ++ncells;
184
- c=new Cell();
185
- c->next=root;root=c;
186
- c->pclient=shape;
187
- c->hash=h;
188
- c->c[0]=ix.b;c->c[1]=iy.b;c->c[2]=iz.b;
189
- BuildCell(*c);
190
- }
191
- c->puid=puid;
192
- /* Extract infos */
193
- const int o[]={ ix.i,iy.i,iz.i};
194
- const btScalar d[]={ c->d[o[0]+0][o[1]+0][o[2]+0],
195
- c->d[o[0]+1][o[1]+0][o[2]+0],
196
- c->d[o[0]+1][o[1]+1][o[2]+0],
197
- c->d[o[0]+0][o[1]+1][o[2]+0],
198
- c->d[o[0]+0][o[1]+0][o[2]+1],
199
- c->d[o[0]+1][o[1]+0][o[2]+1],
200
- c->d[o[0]+1][o[1]+1][o[2]+1],
201
- c->d[o[0]+0][o[1]+1][o[2]+1]};
202
- /* Normal */
203
- #if 1
204
- const btScalar gx[]={ d[1]-d[0],d[2]-d[3],
205
- d[5]-d[4],d[6]-d[7]};
206
- const btScalar gy[]={ d[3]-d[0],d[2]-d[1],
207
- d[7]-d[4],d[6]-d[5]};
208
- const btScalar gz[]={ d[4]-d[0],d[5]-d[1],
209
- d[7]-d[3],d[6]-d[2]};
210
- normal.setX(Lerp( Lerp(gx[0],gx[1],iy.f),
211
- Lerp(gx[2],gx[3],iy.f),iz.f));
212
- normal.setY(Lerp( Lerp(gy[0],gy[1],ix.f),
213
- Lerp(gy[2],gy[3],ix.f),iz.f));
214
- normal.setZ(Lerp( Lerp(gz[0],gz[1],ix.f),
215
- Lerp(gz[2],gz[3],ix.f),iy.f));
216
- normal = normal.normalized();
217
- #else
218
- normal = btVector3(d[1]-d[0],d[3]-d[0],d[4]-d[0]).normalized();
219
- #endif
220
- /* Distance */
221
- const btScalar d0=Lerp(Lerp(d[0],d[1],ix.f),
222
- Lerp(d[3],d[2],ix.f),iy.f);
223
- const btScalar d1=Lerp(Lerp(d[4],d[5],ix.f),
224
- Lerp(d[7],d[6],ix.f),iy.f);
225
- return(Lerp(d0,d1,iz.f)-margin);
226
- }
227
- //
228
- void BuildCell(Cell& c)
229
- {
230
- const btVector3 org=btVector3( (btScalar)c.c[0],
231
- (btScalar)c.c[1],
232
- (btScalar)c.c[2]) *
233
- CELLSIZE*voxelsz;
234
- for(int k=0;k<=CELLSIZE;++k)
235
- {
236
- const btScalar z=voxelsz*k+org.z();
237
- for(int j=0;j<=CELLSIZE;++j)
238
- {
239
- const btScalar y=voxelsz*j+org.y();
240
- for(int i=0;i<=CELLSIZE;++i)
241
- {
242
- const btScalar x=voxelsz*i+org.x();
243
- c.d[i][j][k]=DistanceToShape( btVector3(x,y,z),
244
- c.pclient);
245
- }
246
- }
247
- }
248
- }
249
- //
250
- static inline btScalar DistanceToShape(const btVector3& x,
251
- btCollisionShape* shape)
252
- {
253
- btTransform unit;
254
- unit.setIdentity();
255
- if(shape->isConvex())
256
- {
257
- btGjkEpaSolver2::sResults res;
258
- btConvexShape* csh=static_cast<btConvexShape*>(shape);
259
- return(btGjkEpaSolver2::SignedDistance(x,0,csh,unit,res));
260
- }
261
- return(0);
262
- }
263
- //
264
- static inline IntFrac Decompose(btScalar x)
265
- {
266
- /* That one need a lot of improvements... */
267
- /* Remove test, faster floor... */
268
- IntFrac r;
269
- x/=CELLSIZE;
270
- const int o=x<0?(int)(-x+1):0;
271
- x+=o;r.b=(int)x;
272
- const btScalar k=(x-r.b)*CELLSIZE;
273
- r.i=(int)k;r.f=k-r.i;r.b-=o;
274
- return(r);
275
- }
276
- //
277
- static inline btScalar Lerp(btScalar a,btScalar b,btScalar t)
278
- {
279
- return(a+(b-a)*t);
280
- }
281
-
282
-
283
-
284
- //
285
- static inline unsigned int Hash(int x,int y,int z,btCollisionShape* shape)
286
- {
287
- struct btS
288
- {
289
- int x,y,z;
290
- void* p;
291
- };
292
-
293
- btS myset;
294
-
295
- myset.x=x;myset.y=y;myset.z=z;myset.p=shape;
296
- const void* ptr = &myset;
297
-
298
- unsigned int result = HsiehHash<sizeof(btS)/4> (ptr);
299
-
300
-
301
- return result;
302
- }
303
- };
304
-
305
-
306
- #endif //BT_SPARSE_SDF_H
@@ -1,236 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2006 Gino van den Bergen / Erwin Coumans http://continuousphysics.com/Bullet/
3
-
4
- This software is provided 'as-is', without any express or implied warranty.
5
- In no event will the authors be held liable for any damages arising from the use of this software.
6
- Permission is granted to anyone to use this software for any purpose,
7
- including commercial applications, and to alter it and redistribute it freely,
8
- subject to the following restrictions:
9
-
10
- 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.
11
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
12
- 3. This notice may not be removed or altered from any source distribution.
13
- */
14
-
15
-
16
-
17
- #ifndef BT_AABB_UTIL2
18
- #define BT_AABB_UTIL2
19
-
20
- #include "btTransform.h"
21
- #include "btVector3.h"
22
- #include "btMinMax.h"
23
-
24
-
25
-
26
- SIMD_FORCE_INLINE void AabbExpand (btVector3& aabbMin,
27
- btVector3& aabbMax,
28
- const btVector3& expansionMin,
29
- const btVector3& expansionMax)
30
- {
31
- aabbMin = aabbMin + expansionMin;
32
- aabbMax = aabbMax + expansionMax;
33
- }
34
-
35
- /// conservative test for overlap between two aabbs
36
- SIMD_FORCE_INLINE bool TestPointAgainstAabb2(const btVector3 &aabbMin1, const btVector3 &aabbMax1,
37
- const btVector3 &point)
38
- {
39
- bool overlap = true;
40
- overlap = (aabbMin1.getX() > point.getX() || aabbMax1.getX() < point.getX()) ? false : overlap;
41
- overlap = (aabbMin1.getZ() > point.getZ() || aabbMax1.getZ() < point.getZ()) ? false : overlap;
42
- overlap = (aabbMin1.getY() > point.getY() || aabbMax1.getY() < point.getY()) ? false : overlap;
43
- return overlap;
44
- }
45
-
46
-
47
- /// conservative test for overlap between two aabbs
48
- SIMD_FORCE_INLINE bool TestAabbAgainstAabb2(const btVector3 &aabbMin1, const btVector3 &aabbMax1,
49
- const btVector3 &aabbMin2, const btVector3 &aabbMax2)
50
- {
51
- bool overlap = true;
52
- overlap = (aabbMin1.getX() > aabbMax2.getX() || aabbMax1.getX() < aabbMin2.getX()) ? false : overlap;
53
- overlap = (aabbMin1.getZ() > aabbMax2.getZ() || aabbMax1.getZ() < aabbMin2.getZ()) ? false : overlap;
54
- overlap = (aabbMin1.getY() > aabbMax2.getY() || aabbMax1.getY() < aabbMin2.getY()) ? false : overlap;
55
- return overlap;
56
- }
57
-
58
- /// conservative test for overlap between triangle and aabb
59
- SIMD_FORCE_INLINE bool TestTriangleAgainstAabb2(const btVector3 *vertices,
60
- const btVector3 &aabbMin, const btVector3 &aabbMax)
61
- {
62
- const btVector3 &p1 = vertices[0];
63
- const btVector3 &p2 = vertices[1];
64
- const btVector3 &p3 = vertices[2];
65
-
66
- if (btMin(btMin(p1[0], p2[0]), p3[0]) > aabbMax[0]) return false;
67
- if (btMax(btMax(p1[0], p2[0]), p3[0]) < aabbMin[0]) return false;
68
-
69
- if (btMin(btMin(p1[2], p2[2]), p3[2]) > aabbMax[2]) return false;
70
- if (btMax(btMax(p1[2], p2[2]), p3[2]) < aabbMin[2]) return false;
71
-
72
- if (btMin(btMin(p1[1], p2[1]), p3[1]) > aabbMax[1]) return false;
73
- if (btMax(btMax(p1[1], p2[1]), p3[1]) < aabbMin[1]) return false;
74
- return true;
75
- }
76
-
77
-
78
- SIMD_FORCE_INLINE int btOutcode(const btVector3& p,const btVector3& halfExtent)
79
- {
80
- return (p.getX() < -halfExtent.getX() ? 0x01 : 0x0) |
81
- (p.getX() > halfExtent.getX() ? 0x08 : 0x0) |
82
- (p.getY() < -halfExtent.getY() ? 0x02 : 0x0) |
83
- (p.getY() > halfExtent.getY() ? 0x10 : 0x0) |
84
- (p.getZ() < -halfExtent.getZ() ? 0x4 : 0x0) |
85
- (p.getZ() > halfExtent.getZ() ? 0x20 : 0x0);
86
- }
87
-
88
-
89
-
90
- SIMD_FORCE_INLINE bool btRayAabb2(const btVector3& rayFrom,
91
- const btVector3& rayInvDirection,
92
- const unsigned int raySign[3],
93
- const btVector3 bounds[2],
94
- btScalar& tmin,
95
- btScalar lambda_min,
96
- btScalar lambda_max)
97
- {
98
- btScalar tmax, tymin, tymax, tzmin, tzmax;
99
- tmin = (bounds[raySign[0]].getX() - rayFrom.getX()) * rayInvDirection.getX();
100
- tmax = (bounds[1-raySign[0]].getX() - rayFrom.getX()) * rayInvDirection.getX();
101
- tymin = (bounds[raySign[1]].getY() - rayFrom.getY()) * rayInvDirection.getY();
102
- tymax = (bounds[1-raySign[1]].getY() - rayFrom.getY()) * rayInvDirection.getY();
103
-
104
- if ( (tmin > tymax) || (tymin > tmax) )
105
- return false;
106
-
107
- if (tymin > tmin)
108
- tmin = tymin;
109
-
110
- if (tymax < tmax)
111
- tmax = tymax;
112
-
113
- tzmin = (bounds[raySign[2]].getZ() - rayFrom.getZ()) * rayInvDirection.getZ();
114
- tzmax = (bounds[1-raySign[2]].getZ() - rayFrom.getZ()) * rayInvDirection.getZ();
115
-
116
- if ( (tmin > tzmax) || (tzmin > tmax) )
117
- return false;
118
- if (tzmin > tmin)
119
- tmin = tzmin;
120
- if (tzmax < tmax)
121
- tmax = tzmax;
122
- return ( (tmin < lambda_max) && (tmax > lambda_min) );
123
- }
124
-
125
- SIMD_FORCE_INLINE bool btRayAabb(const btVector3& rayFrom,
126
- const btVector3& rayTo,
127
- const btVector3& aabbMin,
128
- const btVector3& aabbMax,
129
- btScalar& param, btVector3& normal)
130
- {
131
- btVector3 aabbHalfExtent = (aabbMax-aabbMin)* btScalar(0.5);
132
- btVector3 aabbCenter = (aabbMax+aabbMin)* btScalar(0.5);
133
- btVector3 source = rayFrom - aabbCenter;
134
- btVector3 target = rayTo - aabbCenter;
135
- int sourceOutcode = btOutcode(source,aabbHalfExtent);
136
- int targetOutcode = btOutcode(target,aabbHalfExtent);
137
- if ((sourceOutcode & targetOutcode) == 0x0)
138
- {
139
- btScalar lambda_enter = btScalar(0.0);
140
- btScalar lambda_exit = param;
141
- btVector3 r = target - source;
142
- int i;
143
- btScalar normSign = 1;
144
- btVector3 hitNormal(0,0,0);
145
- int bit=1;
146
-
147
- for (int j=0;j<2;j++)
148
- {
149
- for (i = 0; i != 3; ++i)
150
- {
151
- if (sourceOutcode & bit)
152
- {
153
- btScalar lambda = (-source[i] - aabbHalfExtent[i]*normSign) / r[i];
154
- if (lambda_enter <= lambda)
155
- {
156
- lambda_enter = lambda;
157
- hitNormal.setValue(0,0,0);
158
- hitNormal[i] = normSign;
159
- }
160
- }
161
- else if (targetOutcode & bit)
162
- {
163
- btScalar lambda = (-source[i] - aabbHalfExtent[i]*normSign) / r[i];
164
- btSetMin(lambda_exit, lambda);
165
- }
166
- bit<<=1;
167
- }
168
- normSign = btScalar(-1.);
169
- }
170
- if (lambda_enter <= lambda_exit)
171
- {
172
- param = lambda_enter;
173
- normal = hitNormal;
174
- return true;
175
- }
176
- }
177
- return false;
178
- }
179
-
180
-
181
-
182
- SIMD_FORCE_INLINE void btTransformAabb(const btVector3& halfExtents, btScalar margin,const btTransform& t,btVector3& aabbMinOut,btVector3& aabbMaxOut)
183
- {
184
- btVector3 halfExtentsWithMargin = halfExtents+btVector3(margin,margin,margin);
185
- btMatrix3x3 abs_b = t.getBasis().absolute();
186
- btVector3 center = t.getOrigin();
187
- btVector3 extent = btVector3(abs_b[0].dot(halfExtentsWithMargin),
188
- abs_b[1].dot(halfExtentsWithMargin),
189
- abs_b[2].dot(halfExtentsWithMargin));
190
- aabbMinOut = center - extent;
191
- aabbMaxOut = center + extent;
192
- }
193
-
194
-
195
- SIMD_FORCE_INLINE void btTransformAabb(const btVector3& localAabbMin,const btVector3& localAabbMax, btScalar margin,const btTransform& trans,btVector3& aabbMinOut,btVector3& aabbMaxOut)
196
- {
197
- btAssert(localAabbMin.getX() <= localAabbMax.getX());
198
- btAssert(localAabbMin.getY() <= localAabbMax.getY());
199
- btAssert(localAabbMin.getZ() <= localAabbMax.getZ());
200
- btVector3 localHalfExtents = btScalar(0.5)*(localAabbMax-localAabbMin);
201
- localHalfExtents+=btVector3(margin,margin,margin);
202
-
203
- btVector3 localCenter = btScalar(0.5)*(localAabbMax+localAabbMin);
204
- btMatrix3x3 abs_b = trans.getBasis().absolute();
205
- btVector3 center = trans(localCenter);
206
- btVector3 extent = btVector3(abs_b[0].dot(localHalfExtents),
207
- abs_b[1].dot(localHalfExtents),
208
- abs_b[2].dot(localHalfExtents));
209
- aabbMinOut = center-extent;
210
- aabbMaxOut = center+extent;
211
- }
212
-
213
- #define USE_BANCHLESS 1
214
- #ifdef USE_BANCHLESS
215
- //This block replaces the block below and uses no branches, and replaces the 8 bit return with a 32 bit return for improved performance (~3x on XBox 360)
216
- SIMD_FORCE_INLINE unsigned testQuantizedAabbAgainstQuantizedAabb(const unsigned short int* aabbMin1,const unsigned short int* aabbMax1,const unsigned short int* aabbMin2,const unsigned short int* aabbMax2)
217
- {
218
- return static_cast<unsigned int>(btSelect((unsigned)((aabbMin1[0] <= aabbMax2[0]) & (aabbMax1[0] >= aabbMin2[0])
219
- & (aabbMin1[2] <= aabbMax2[2]) & (aabbMax1[2] >= aabbMin2[2])
220
- & (aabbMin1[1] <= aabbMax2[1]) & (aabbMax1[1] >= aabbMin2[1])),
221
- 1, 0));
222
- }
223
- #else
224
- SIMD_FORCE_INLINE bool testQuantizedAabbAgainstQuantizedAabb(const unsigned short int* aabbMin1,const unsigned short int* aabbMax1,const unsigned short int* aabbMin2,const unsigned short int* aabbMax2)
225
- {
226
- bool overlap = true;
227
- overlap = (aabbMin1[0] > aabbMax2[0] || aabbMax1[0] < aabbMin2[0]) ? false : overlap;
228
- overlap = (aabbMin1[2] > aabbMax2[2] || aabbMax1[2] < aabbMin2[2]) ? false : overlap;
229
- overlap = (aabbMin1[1] > aabbMax2[1] || aabbMax1[1] < aabbMin2[1]) ? false : overlap;
230
- return overlap;
231
- }
232
- #endif //USE_BANCHLESS
233
-
234
- #endif //BT_AABB_UTIL2
235
-
236
-
@@ -1,107 +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_ALIGNED_ALLOCATOR
17
- #define BT_ALIGNED_ALLOCATOR
18
-
19
- ///we probably replace this with our own aligned memory allocator
20
- ///so we replace _aligned_malloc and _aligned_free with our own
21
- ///that is better portable and more predictable
22
-
23
- #include "btScalar.h"
24
- //#define BT_DEBUG_MEMORY_ALLOCATIONS 1
25
- #ifdef BT_DEBUG_MEMORY_ALLOCATIONS
26
-
27
- #define btAlignedAlloc(a,b) \
28
- btAlignedAllocInternal(a,b,__LINE__,__FILE__)
29
-
30
- #define btAlignedFree(ptr) \
31
- btAlignedFreeInternal(ptr,__LINE__,__FILE__)
32
-
33
- void* btAlignedAllocInternal (size_t size, int alignment,int line,char* filename);
34
-
35
- void btAlignedFreeInternal (void* ptr,int line,char* filename);
36
-
37
- #else
38
- void* btAlignedAllocInternal (size_t size, int alignment);
39
- void btAlignedFreeInternal (void* ptr);
40
-
41
- #define btAlignedAlloc(size,alignment) btAlignedAllocInternal(size,alignment)
42
- #define btAlignedFree(ptr) btAlignedFreeInternal(ptr)
43
-
44
- #endif
45
- typedef int size_type;
46
-
47
- typedef void *(btAlignedAllocFunc)(size_t size, int alignment);
48
- typedef void (btAlignedFreeFunc)(void *memblock);
49
- typedef void *(btAllocFunc)(size_t size);
50
- typedef void (btFreeFunc)(void *memblock);
51
-
52
- ///The developer can let all Bullet memory allocations go through a custom memory allocator, using btAlignedAllocSetCustom
53
- void btAlignedAllocSetCustom(btAllocFunc *allocFunc, btFreeFunc *freeFunc);
54
- ///If the developer has already an custom aligned allocator, then btAlignedAllocSetCustomAligned can be used. The default aligned allocator pre-allocates extra memory using the non-aligned allocator, and instruments it.
55
- void btAlignedAllocSetCustomAligned(btAlignedAllocFunc *allocFunc, btAlignedFreeFunc *freeFunc);
56
-
57
-
58
- ///The btAlignedAllocator is a portable class for aligned memory allocations.
59
- ///Default implementations for unaligned and aligned allocations can be overridden by a custom allocator using btAlignedAllocSetCustom and btAlignedAllocSetCustomAligned.
60
- template < typename T , unsigned Alignment >
61
- class btAlignedAllocator {
62
-
63
- typedef btAlignedAllocator< T , Alignment > self_type;
64
-
65
- public:
66
-
67
- //just going down a list:
68
- btAlignedAllocator() {}
69
- /*
70
- btAlignedAllocator( const self_type & ) {}
71
- */
72
-
73
- template < typename Other >
74
- btAlignedAllocator( const btAlignedAllocator< Other , Alignment > & ) {}
75
-
76
- typedef const T* const_pointer;
77
- typedef const T& const_reference;
78
- typedef T* pointer;
79
- typedef T& reference;
80
- typedef T value_type;
81
-
82
- pointer address ( reference ref ) const { return &ref; }
83
- const_pointer address ( const_reference ref ) const { return &ref; }
84
- pointer allocate ( size_type n , const_pointer * hint = 0 ) {
85
- (void)hint;
86
- return reinterpret_cast< pointer >(btAlignedAlloc( sizeof(value_type) * n , Alignment ));
87
- }
88
- void construct ( pointer ptr , const value_type & value ) { new (ptr) value_type( value ); }
89
- void deallocate( pointer ptr ) {
90
- btAlignedFree( reinterpret_cast< void * >( ptr ) );
91
- }
92
- void destroy ( pointer ptr ) { ptr->~value_type(); }
93
-
94
-
95
- template < typename O > struct rebind {
96
- typedef btAlignedAllocator< O , Alignment > other;
97
- };
98
- template < typename O >
99
- self_type & operator=( const btAlignedAllocator< O , Alignment > & ) { return *this; }
100
-
101
- friend bool operator==( const self_type & , const self_type & ) { return true; }
102
- };
103
-
104
-
105
-
106
- #endif //BT_ALIGNED_ALLOCATOR
107
-