ruby-bullet 0.0.1-x86-linux

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 (460) hide show
  1. data/INSTALL.md +22 -0
  2. data/LICENSE +23 -0
  3. data/README.md +39 -0
  4. data/Rakefile +131 -0
  5. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btAxisSweep3.i +30 -0
  6. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btBroadphaseInterface.i +8 -0
  7. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btBroadphaseProxy.i +8 -0
  8. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.i +8 -0
  9. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDbvt.i +10 -0
  10. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDbvtBroadphase.i +8 -0
  11. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDispatcher.i +8 -0
  12. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.i +10 -0
  13. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btOverlappingPairCache.i +8 -0
  14. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.i +8 -0
  15. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btQuantizedBvh.i +8 -0
  16. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btSimpleBroadphase.i +8 -0
  17. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/local_btAxisSweep3Internal.h +191 -0
  18. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/SphereTriangleDetector.i +8 -0
  19. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.i +8 -0
  20. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.i +8 -0
  21. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.i +8 -0
  22. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBoxBoxDetector.i +8 -0
  23. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionConfiguration.i +21 -0
  24. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionCreateFunc.i +8 -0
  25. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionDispatcher.i +24 -0
  26. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionObject.i +8 -0
  27. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +82 -0
  28. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.i +8 -0
  29. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.i +8 -0
  30. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.i +8 -0
  31. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.i +8 -0
  32. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.i +8 -0
  33. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.i +8 -0
  34. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.i +8 -0
  35. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btGhostObject.i +8 -0
  36. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btInternalEdgeUtility.i +8 -0
  37. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btManifoldResult.i +8 -0
  38. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSimulationIslandManager.i +8 -0
  39. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.i +8 -0
  40. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.i +8 -0
  41. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.i +8 -0
  42. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btUnionFind.i +10 -0
  43. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBox2dShape.i +8 -0
  44. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBoxShape.i +22 -0
  45. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.i +8 -0
  46. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCapsuleShape.i +8 -0
  47. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCollisionMargin.i +8 -0
  48. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCollisionShape.i +8 -0
  49. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCompoundShape.i +8 -0
  50. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConcaveShape.i +8 -0
  51. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConeShape.i +8 -0
  52. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvex2dShape.i +8 -0
  53. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexHullShape.i +8 -0
  54. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexInternalShape.i +8 -0
  55. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexPointCloudShape.i +8 -0
  56. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexPolyhedron.i +8 -0
  57. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexShape.i +8 -0
  58. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.i +8 -0
  59. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCylinderShape.i +8 -0
  60. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btEmptyShape.i +8 -0
  61. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.i +8 -0
  62. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMaterial.i +8 -0
  63. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMinkowskiSumShape.i +8 -0
  64. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMultiSphereShape.i +8 -0
  65. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.i +8 -0
  66. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btOptimizedBvh.i +8 -0
  67. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btPolyhedralConvexShape.i +8 -0
  68. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.i +8 -0
  69. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btShapeHull.i +8 -0
  70. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btSphereShape.i +8 -0
  71. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btStaticPlaneShape.i +8 -0
  72. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btStridingMeshInterface.i +8 -0
  73. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTetrahedronShape.i +8 -0
  74. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleBuffer.i +8 -0
  75. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleCallback.i +8 -0
  76. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.i +8 -0
  77. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.i +8 -0
  78. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleInfoMap.i +8 -0
  79. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleMeshShape.i +8 -0
  80. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleShape.i +8 -0
  81. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btUniformScalingShape.i +8 -0
  82. data/bindings/bullet/interface/BulletCollision/Gimpact/btBoxCollision.i +8 -0
  83. data/bindings/bullet/interface/BulletCollision/Gimpact/btClipPolygon.i +8 -0
  84. data/bindings/bullet/interface/BulletCollision/Gimpact/btContactProcessing.i +8 -0
  85. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactBvh.i +8 -0
  86. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.i +8 -0
  87. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactMassUtil.i +8 -0
  88. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactQuantizedBvh.i +8 -0
  89. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactShape.i +8 -0
  90. data/bindings/bullet/interface/BulletCollision/Gimpact/btGenericPoolAllocator.i +11 -0
  91. data/bindings/bullet/interface/BulletCollision/Gimpact/btGeometryOperations.i +8 -0
  92. data/bindings/bullet/interface/BulletCollision/Gimpact/btQuantization.i +8 -0
  93. data/bindings/bullet/interface/BulletCollision/Gimpact/btTriangleShapeEx.i +8 -0
  94. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.i +8 -0
  95. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btConvexCast.i +8 -0
  96. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.i +8 -0
  97. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.i +11 -0
  98. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.i +8 -0
  99. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkEpa2.i +8 -0
  100. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.i +8 -0
  101. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.i +8 -0
  102. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btManifoldPoint.i +8 -0
  103. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.i +8 -0
  104. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPersistentManifold.i +8 -0
  105. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPointCollector.i +8 -0
  106. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.i +8 -0
  107. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btRaycastCallback.i +8 -0
  108. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.i +8 -0
  109. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.i +8 -0
  110. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.i +8 -0
  111. data/bindings/bullet/interface/BulletDynamics/Character/btCharacterControllerInterface.i +8 -0
  112. data/bindings/bullet/interface/BulletDynamics/Character/btKinematicCharacterController.i +8 -0
  113. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btConeTwistConstraint.i +8 -0
  114. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btConstraintSolver.i +8 -0
  115. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btContactConstraint.i +8 -0
  116. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btContactSolverInfo.i +8 -0
  117. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.i +8 -0
  118. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.i +8 -0
  119. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btHinge2Constraint.i +8 -0
  120. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btHingeConstraint.i +8 -0
  121. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btJacobianEntry.i +8 -0
  122. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.i +8 -0
  123. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.i +21 -0
  124. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSliderConstraint.i +8 -0
  125. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.i +8 -0
  126. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolverBody.i +8 -0
  127. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolverConstraint.i +8 -0
  128. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btTypedConstraint.i +8 -0
  129. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btUniversalConstraint.i +8 -0
  130. data/bindings/bullet/interface/BulletDynamics/Dynamics/btActionInterface.i +8 -0
  131. data/bindings/bullet/interface/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.i +23 -0
  132. data/bindings/bullet/interface/BulletDynamics/Dynamics/btDynamicsWorld.i +37 -0
  133. data/bindings/bullet/interface/BulletDynamics/Dynamics/btRigidBody.i +20 -0
  134. data/bindings/bullet/interface/BulletDynamics/Dynamics/btSimpleDynamicsWorld.i +8 -0
  135. data/bindings/bullet/interface/BulletDynamics/Vehicle/btRaycastVehicle.i +12 -0
  136. data/bindings/bullet/interface/BulletDynamics/Vehicle/btVehicleRaycaster.i +8 -0
  137. data/bindings/bullet/interface/BulletDynamics/Vehicle/btWheelInfo.i +8 -0
  138. data/bindings/bullet/interface/BulletSoftBody/btDefaultSoftBodySolver.i +8 -0
  139. data/bindings/bullet/interface/BulletSoftBody/btSoftBody.i +8 -0
  140. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.i +8 -0
  141. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyData.i +8 -0
  142. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyHelpers.i +8 -0
  143. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyInternals.i +8 -0
  144. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.i +8 -0
  145. data/bindings/bullet/interface/BulletSoftBody/btSoftBodySolverVertexBuffer.i +8 -0
  146. data/bindings/bullet/interface/BulletSoftBody/btSoftBodySolvers.i +8 -0
  147. data/bindings/bullet/interface/BulletSoftBody/btSoftRigidCollisionAlgorithm.i +8 -0
  148. data/bindings/bullet/interface/BulletSoftBody/btSoftRigidDynamicsWorld.i +8 -0
  149. data/bindings/bullet/interface/BulletSoftBody/btSoftSoftCollisionAlgorithm.i +8 -0
  150. data/bindings/bullet/interface/BulletSoftBody/btSparseSDF.i +8 -0
  151. data/bindings/bullet/interface/LinearMath/btAabbUtil2.i +8 -0
  152. data/bindings/bullet/interface/LinearMath/btAlignedAllocator.i +8 -0
  153. data/bindings/bullet/interface/LinearMath/btAlignedObjectArray.i +8 -0
  154. data/bindings/bullet/interface/LinearMath/btConvexHull.i +8 -0
  155. data/bindings/bullet/interface/LinearMath/btConvexHullComputer.i +8 -0
  156. data/bindings/bullet/interface/LinearMath/btDefaultMotionState.i +10 -0
  157. data/bindings/bullet/interface/LinearMath/btGeometryUtil.i +10 -0
  158. data/bindings/bullet/interface/LinearMath/btGrahamScan2dConvexHull.i +8 -0
  159. data/bindings/bullet/interface/LinearMath/btHashMap.i +8 -0
  160. data/bindings/bullet/interface/LinearMath/btIDebugDraw.i +10 -0
  161. data/bindings/bullet/interface/LinearMath/btList.i +8 -0
  162. data/bindings/bullet/interface/LinearMath/btMatrix3x3.i +8 -0
  163. data/bindings/bullet/interface/LinearMath/btMinMax.i +8 -0
  164. data/bindings/bullet/interface/LinearMath/btMotionState.i +10 -0
  165. data/bindings/bullet/interface/LinearMath/btPoolAllocator.i +10 -0
  166. data/bindings/bullet/interface/LinearMath/btQuadWord.i +8 -0
  167. data/bindings/bullet/interface/LinearMath/btQuaternion.i +60 -0
  168. data/bindings/bullet/interface/LinearMath/btQuickprof.i +10 -0
  169. data/bindings/bullet/interface/LinearMath/btRandom.i +8 -0
  170. data/bindings/bullet/interface/LinearMath/btScalar.i +8 -0
  171. data/bindings/bullet/interface/LinearMath/btSerializer.i +10 -0
  172. data/bindings/bullet/interface/LinearMath/btStackAlloc.i +10 -0
  173. data/bindings/bullet/interface/LinearMath/btTransform.i +8 -0
  174. data/bindings/bullet/interface/LinearMath/btTransformUtil.i +8 -0
  175. data/bindings/bullet/interface/LinearMath/btVector3.i +42 -0
  176. data/bindings/bullet/interface/Makefile +19 -0
  177. data/bindings/bullet/interface/bullet.i +9 -0
  178. data/bindings/bullet/interface/bullet_all.i +186 -0
  179. data/bindings/bullet/interface/bullet_wrap.cpp +194161 -0
  180. data/bindings/bullet/interface/bullet_wrap.h +106 -0
  181. data/bindings/bullet/interface/bullet_wrap.o +0 -0
  182. data/bindings/bullet/src/TickListener.h +22 -0
  183. data/deps/include/bullet/Bullet-C-Api.h +176 -0
  184. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.h +1051 -0
  185. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h +82 -0
  186. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +270 -0
  187. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +80 -0
  188. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvt.h +1257 -0
  189. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h +146 -0
  190. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDispatcher.h +110 -0
  191. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h +151 -0
  192. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +469 -0
  193. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h +40 -0
  194. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.h +579 -0
  195. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +171 -0
  196. data/deps/include/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.h +51 -0
  197. data/deps/include/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h +36 -0
  198. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h +66 -0
  199. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h +66 -0
  200. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.h +44 -0
  201. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +48 -0
  202. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h +45 -0
  203. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.h +172 -0
  204. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionObject.h +524 -0
  205. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h +509 -0
  206. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h +86 -0
  207. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h +95 -0
  208. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h +116 -0
  209. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h +109 -0
  210. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h +84 -0
  211. data/deps/include/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +137 -0
  212. data/deps/include/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h +54 -0
  213. data/deps/include/bullet/BulletCollision/CollisionDispatch/btGhostObject.h +175 -0
  214. data/deps/include/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h +46 -0
  215. data/deps/include/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h +128 -0
  216. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.h +81 -0
  217. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h +75 -0
  218. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h +66 -0
  219. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h +69 -0
  220. data/deps/include/bullet/BulletCollision/CollisionDispatch/btUnionFind.h +129 -0
  221. data/deps/include/bullet/BulletCollision/CollisionShapes/btBox2dShape.h +369 -0
  222. data/deps/include/bullet/BulletCollision/CollisionShapes/btBoxShape.h +312 -0
  223. data/deps/include/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +139 -0
  224. data/deps/include/bullet/BulletCollision/CollisionShapes/btCapsuleShape.h +173 -0
  225. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionMargin.h +27 -0
  226. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionShape.h +150 -0
  227. data/deps/include/bullet/BulletCollision/CollisionShapes/btCompoundShape.h +212 -0
  228. data/deps/include/bullet/BulletCollision/CollisionShapes/btConcaveShape.h +60 -0
  229. data/deps/include/bullet/BulletCollision/CollisionShapes/btConeShape.h +103 -0
  230. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvex2dShape.h +80 -0
  231. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h +122 -0
  232. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.h +224 -0
  233. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.h +105 -0
  234. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.h +62 -0
  235. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexShape.h +84 -0
  236. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +75 -0
  237. data/deps/include/bullet/BulletCollision/CollisionShapes/btCylinderShape.h +200 -0
  238. data/deps/include/bullet/BulletCollision/CollisionShapes/btEmptyShape.h +70 -0
  239. data/deps/include/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +161 -0
  240. data/deps/include/bullet/BulletCollision/CollisionShapes/btMaterial.h +35 -0
  241. data/deps/include/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +60 -0
  242. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.h +99 -0
  243. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h +120 -0
  244. data/deps/include/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.h +65 -0
  245. data/deps/include/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +112 -0
  246. data/deps/include/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h +93 -0
  247. data/deps/include/bullet/BulletCollision/CollisionShapes/btShapeHull.h +59 -0
  248. data/deps/include/bullet/BulletCollision/CollisionShapes/btSphereShape.h +73 -0
  249. data/deps/include/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.h +103 -0
  250. data/deps/include/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.h +162 -0
  251. data/deps/include/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.h +74 -0
  252. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.h +69 -0
  253. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleCallback.h +42 -0
  254. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h +133 -0
  255. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h +84 -0
  256. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleInfoMap.h +241 -0
  257. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMesh.h +69 -0
  258. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.h +89 -0
  259. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleShape.h +182 -0
  260. data/deps/include/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.h +87 -0
  261. data/deps/include/bullet/BulletCollision/Gimpact/btBoxCollision.h +647 -0
  262. data/deps/include/bullet/BulletCollision/Gimpact/btClipPolygon.h +182 -0
  263. data/deps/include/bullet/BulletCollision/Gimpact/btContactProcessing.h +145 -0
  264. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactBvh.h +396 -0
  265. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h +306 -0
  266. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactMassUtil.h +60 -0
  267. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.h +372 -0
  268. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactShape.h +1171 -0
  269. data/deps/include/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +163 -0
  270. data/deps/include/bullet/BulletCollision/Gimpact/btGeometryOperations.h +212 -0
  271. data/deps/include/bullet/BulletCollision/Gimpact/btQuantization.h +88 -0
  272. data/deps/include/bullet/BulletCollision/Gimpact/btTriangleShapeEx.h +180 -0
  273. data/deps/include/bullet/BulletCollision/Gimpact/gim_array.h +326 -0
  274. data/deps/include/bullet/BulletCollision/Gimpact/gim_basic_geometry_operations.h +543 -0
  275. data/deps/include/bullet/BulletCollision/Gimpact/gim_bitset.h +123 -0
  276. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_collision.h +590 -0
  277. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_set.h +674 -0
  278. data/deps/include/bullet/BulletCollision/Gimpact/gim_clip_polygon.h +210 -0
  279. data/deps/include/bullet/BulletCollision/Gimpact/gim_contact.h +164 -0
  280. data/deps/include/bullet/BulletCollision/Gimpact/gim_geom_types.h +97 -0
  281. data/deps/include/bullet/BulletCollision/Gimpact/gim_geometry.h +42 -0
  282. data/deps/include/bullet/BulletCollision/Gimpact/gim_hash_table.h +902 -0
  283. data/deps/include/bullet/BulletCollision/Gimpact/gim_linear_math.h +1573 -0
  284. data/deps/include/bullet/BulletCollision/Gimpact/gim_math.h +157 -0
  285. data/deps/include/bullet/BulletCollision/Gimpact/gim_memory.h +190 -0
  286. data/deps/include/bullet/BulletCollision/Gimpact/gim_radixsort.h +406 -0
  287. data/deps/include/bullet/BulletCollision/Gimpact/gim_tri_collision.h +379 -0
  288. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h +59 -0
  289. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.h +73 -0
  290. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h +42 -0
  291. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h +91 -0
  292. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h +50 -0
  293. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h +75 -0
  294. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h +43 -0
  295. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h +103 -0
  296. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +158 -0
  297. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h +40 -0
  298. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h +228 -0
  299. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPointCollector.h +64 -0
  300. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h +46 -0
  301. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h +72 -0
  302. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h +63 -0
  303. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h +50 -0
  304. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h +179 -0
  305. data/deps/include/bullet/BulletCollision/btBulletCollisionCommon.h +69 -0
  306. data/deps/include/bullet/BulletDynamics/Character/btCharacterControllerInterface.h +46 -0
  307. data/deps/include/bullet/BulletDynamics/Character/btKinematicCharacterController.h +163 -0
  308. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h +346 -0
  309. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConstraintSolver.h +52 -0
  310. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.h +71 -0
  311. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactSolverInfo.h +87 -0
  312. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h +614 -0
  313. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h +99 -0
  314. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.h +58 -0
  315. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.h +381 -0
  316. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btJacobianEntry.h +156 -0
  317. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h +161 -0
  318. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +130 -0
  319. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.h +333 -0
  320. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h +107 -0
  321. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h +191 -0
  322. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverConstraint.h +98 -0
  323. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.h +452 -0
  324. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.h +62 -0
  325. data/deps/include/bullet/BulletDynamics/Dynamics/btActionInterface.h +46 -0
  326. data/deps/include/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h +203 -0
  327. data/deps/include/bullet/BulletDynamics/Dynamics/btDynamicsWorld.h +151 -0
  328. data/deps/include/bullet/BulletDynamics/Dynamics/btRigidBody.h +691 -0
  329. data/deps/include/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h +89 -0
  330. data/deps/include/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h +236 -0
  331. data/deps/include/bullet/BulletDynamics/Vehicle/btVehicleRaycaster.h +35 -0
  332. data/deps/include/bullet/BulletDynamics/Vehicle/btWheelInfo.h +119 -0
  333. data/deps/include/bullet/BulletDynamics/btBulletDynamicsCommon.h +48 -0
  334. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverBuffer_DX11.h +323 -0
  335. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11.h +103 -0
  336. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11SIMDAware.h +173 -0
  337. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverTriangleData_DX11.h +96 -0
  338. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexBuffer_DX11.h +107 -0
  339. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexData_DX11.h +63 -0
  340. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11.h +691 -0
  341. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11SIMDAware.h +81 -0
  342. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverBuffer_OpenCL.h +209 -0
  343. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCL.h +99 -0
  344. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCLSIMDAware.h +169 -0
  345. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverOutputCLtoGL.h +62 -0
  346. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverTriangleData_OpenCL.h +84 -0
  347. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexBuffer_OpenGL.h +166 -0
  348. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexData_OpenCL.h +52 -0
  349. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCL.h +527 -0
  350. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCLSIMDAware.h +81 -0
  351. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h +748 -0
  352. data/deps/include/bullet/BulletMultiThreaded/HeapManager.h +117 -0
  353. data/deps/include/bullet/BulletMultiThreaded/PlatformDefinitions.h +99 -0
  354. data/deps/include/bullet/BulletMultiThreaded/PosixThreadSupport.h +142 -0
  355. data/deps/include/bullet/BulletMultiThreaded/PpuAddressSpace.h +37 -0
  356. data/deps/include/bullet/BulletMultiThreaded/SequentialThreadSupport.h +96 -0
  357. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionObjectWrapper.h +40 -0
  358. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionTaskProcess.h +163 -0
  359. data/deps/include/bullet/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h +120 -0
  360. data/deps/include/bullet/BulletMultiThreaded/SpuDoubleBuffer.h +126 -0
  361. data/deps/include/bullet/BulletMultiThreaded/SpuFakeDma.h +135 -0
  362. data/deps/include/bullet/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h +72 -0
  363. data/deps/include/bullet/BulletMultiThreaded/SpuLibspe2Support.h +180 -0
  364. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/Box.h +167 -0
  365. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +128 -0
  366. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.h +106 -0
  367. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h +51 -0
  368. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h +140 -0
  369. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuLocalSupport.h +19 -0
  370. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h +48 -0
  371. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h +70 -0
  372. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.h +65 -0
  373. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.h +54 -0
  374. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTaskProcess.h +153 -0
  375. data/deps/include/bullet/BulletMultiThreaded/SpuSync.h +149 -0
  376. data/deps/include/bullet/BulletMultiThreaded/TrbDynBody.h +79 -0
  377. data/deps/include/bullet/BulletMultiThreaded/TrbStateVec.h +339 -0
  378. data/deps/include/bullet/BulletMultiThreaded/Win32ThreadSupport.h +138 -0
  379. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphase.h +138 -0
  380. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedCode.h +430 -0
  381. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedDefs.h +61 -0
  382. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedTypes.h +67 -0
  383. data/deps/include/bullet/BulletMultiThreaded/btGpuDefines.h +211 -0
  384. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedCode.h +55 -0
  385. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedDefs.h +52 -0
  386. data/deps/include/bullet/BulletMultiThreaded/btParallelConstraintSolver.h +285 -0
  387. data/deps/include/bullet/BulletMultiThreaded/btThreadSupportInterface.h +85 -0
  388. data/deps/include/bullet/BulletMultiThreaded/vectormath2bullet.h +73 -0
  389. data/deps/include/bullet/BulletSoftBody/btDefaultSoftBodySolver.h +63 -0
  390. data/deps/include/bullet/BulletSoftBody/btSoftBody.h +987 -0
  391. data/deps/include/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h +153 -0
  392. data/deps/include/bullet/BulletSoftBody/btSoftBodyData.h +217 -0
  393. data/deps/include/bullet/BulletSoftBody/btSoftBodyHelpers.h +143 -0
  394. data/deps/include/bullet/BulletSoftBody/btSoftBodyInternals.h +930 -0
  395. data/deps/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h +48 -0
  396. data/deps/include/bullet/BulletSoftBody/btSoftBodySolverVertexBuffer.h +165 -0
  397. data/deps/include/bullet/BulletSoftBody/btSoftBodySolvers.h +154 -0
  398. data/deps/include/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.h +75 -0
  399. data/deps/include/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.h +107 -0
  400. data/deps/include/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.h +69 -0
  401. data/deps/include/bullet/BulletSoftBody/btSparseSDF.h +306 -0
  402. data/deps/include/bullet/LinearMath/btAabbUtil2.h +236 -0
  403. data/deps/include/bullet/LinearMath/btAlignedAllocator.h +107 -0
  404. data/deps/include/bullet/LinearMath/btAlignedObjectArray.h +494 -0
  405. data/deps/include/bullet/LinearMath/btConvexHull.h +241 -0
  406. data/deps/include/bullet/LinearMath/btConvexHullComputer.h +103 -0
  407. data/deps/include/bullet/LinearMath/btDefaultMotionState.h +40 -0
  408. data/deps/include/bullet/LinearMath/btGeometryUtil.h +42 -0
  409. data/deps/include/bullet/LinearMath/btGrahamScan2dConvexHull.h +110 -0
  410. data/deps/include/bullet/LinearMath/btHashMap.h +450 -0
  411. data/deps/include/bullet/LinearMath/btIDebugDraw.h +418 -0
  412. data/deps/include/bullet/LinearMath/btList.h +73 -0
  413. data/deps/include/bullet/LinearMath/btMatrix3x3.h +771 -0
  414. data/deps/include/bullet/LinearMath/btMinMax.h +71 -0
  415. data/deps/include/bullet/LinearMath/btMotionState.h +40 -0
  416. data/deps/include/bullet/LinearMath/btPoolAllocator.h +121 -0
  417. data/deps/include/bullet/LinearMath/btQuadWord.h +180 -0
  418. data/deps/include/bullet/LinearMath/btQuaternion.h +430 -0
  419. data/deps/include/bullet/LinearMath/btQuickprof.h +203 -0
  420. data/deps/include/bullet/LinearMath/btRandom.h +42 -0
  421. data/deps/include/bullet/LinearMath/btScalar.h +539 -0
  422. data/deps/include/bullet/LinearMath/btSerializer.h +639 -0
  423. data/deps/include/bullet/LinearMath/btStackAlloc.h +116 -0
  424. data/deps/include/bullet/LinearMath/btTransform.h +307 -0
  425. data/deps/include/bullet/LinearMath/btTransformUtil.h +228 -0
  426. data/deps/include/bullet/LinearMath/btVector3.h +766 -0
  427. data/deps/include/bullet/MiniCL/MiniCLTask/MiniCLTask.h +62 -0
  428. data/deps/include/bullet/MiniCL/MiniCLTaskScheduler.h +194 -0
  429. data/deps/include/bullet/MiniCL/cl.h +867 -0
  430. data/deps/include/bullet/MiniCL/cl_MiniCL_Defs.h +439 -0
  431. data/deps/include/bullet/MiniCL/cl_gl.h +113 -0
  432. data/deps/include/bullet/MiniCL/cl_platform.h +254 -0
  433. data/deps/include/bullet/btBulletCollisionCommon.h +69 -0
  434. data/deps/include/bullet/btBulletDynamicsCommon.h +48 -0
  435. data/deps/include/bullet/vectormath/scalar/boolInVec.h +225 -0
  436. data/deps/include/bullet/vectormath/scalar/floatInVec.h +343 -0
  437. data/deps/include/bullet/vectormath/scalar/mat_aos.h +1630 -0
  438. data/deps/include/bullet/vectormath/scalar/quat_aos.h +433 -0
  439. data/deps/include/bullet/vectormath/scalar/vec_aos.h +1426 -0
  440. data/deps/include/bullet/vectormath/scalar/vectormath_aos.h +1872 -0
  441. data/deps/include/bullet/vectormath/sse/boolInVec.h +247 -0
  442. data/deps/include/bullet/vectormath/sse/floatInVec.h +340 -0
  443. data/deps/include/bullet/vectormath/sse/mat_aos.h +2190 -0
  444. data/deps/include/bullet/vectormath/sse/quat_aos.h +579 -0
  445. data/deps/include/bullet/vectormath/sse/vec_aos.h +1455 -0
  446. data/deps/include/bullet/vectormath/sse/vecidx_aos.h +80 -0
  447. data/deps/include/bullet/vectormath/sse/vectormath_aos.h +2547 -0
  448. data/deps/include/bullet/vectormath/vmInclude.h +27 -0
  449. data/deps/lib/libBulletCollision.a +0 -0
  450. data/deps/lib/libBulletDynamics.a +0 -0
  451. data/deps/lib/libBulletMultiThreaded.a +0 -0
  452. data/deps/lib/libBulletSoftBody.a +0 -0
  453. data/deps/lib/libBulletSoftBodySolvers_OpenCL_Mini.a +0 -0
  454. data/deps/lib/libLinearMath.a +0 -0
  455. data/deps/lib/libMiniCL.a +0 -0
  456. data/lib/Bullet.so +0 -0
  457. data/lib/BulletConfig.rb +28 -0
  458. data/lib/Version.rb +5 -0
  459. data/sample/hello_bullet/HelloBullet.rb +144 -0
  460. metadata +504 -0
@@ -0,0 +1,211 @@
1
+ /*
2
+ Bullet Continuous Collision Detection and Physics Library, http://bulletphysics.org
3
+ Copyright (C) 2006, 2009 Sony Computer Entertainment Inc.
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
+
17
+
18
+ // definitions for "GPU on CPU" code
19
+
20
+
21
+ #ifndef BT_GPU_DEFINES_H
22
+ #define BT_GPU_DEFINES_H
23
+
24
+ typedef unsigned int uint;
25
+
26
+ struct int2
27
+ {
28
+ int x, y;
29
+ };
30
+
31
+ struct uint2
32
+ {
33
+ unsigned int x, y;
34
+ };
35
+
36
+ struct int3
37
+ {
38
+ int x, y, z;
39
+ };
40
+
41
+ struct uint3
42
+ {
43
+ unsigned int x, y, z;
44
+ };
45
+
46
+ struct float4
47
+ {
48
+ float x, y, z, w;
49
+ };
50
+
51
+ struct float3
52
+ {
53
+ float x, y, z;
54
+ };
55
+
56
+
57
+ #define BT_GPU___device__ inline
58
+ #define BT_GPU___devdata__
59
+ #define BT_GPU___constant__
60
+ #define BT_GPU_max(a, b) ((a) > (b) ? (a) : (b))
61
+ #define BT_GPU_min(a, b) ((a) < (b) ? (a) : (b))
62
+ #define BT_GPU_params s3DGridBroadphaseParams
63
+ #define BT_GPU___mul24(a, b) ((a)*(b))
64
+ #define BT_GPU___global__ inline
65
+ #define BT_GPU___shared__ static
66
+ #define BT_GPU___syncthreads()
67
+ #define CUDART_PI_F SIMD_PI
68
+
69
+ static inline uint2 bt3dGrid_make_uint2(unsigned int x, unsigned int y)
70
+ {
71
+ uint2 t; t.x = x; t.y = y; return t;
72
+ }
73
+ #define BT_GPU_make_uint2(x, y) bt3dGrid_make_uint2(x, y)
74
+
75
+ static inline int3 bt3dGrid_make_int3(int x, int y, int z)
76
+ {
77
+ int3 t; t.x = x; t.y = y; t.z = z; return t;
78
+ }
79
+ #define BT_GPU_make_int3(x, y, z) bt3dGrid_make_int3(x, y, z)
80
+
81
+ static inline float3 bt3dGrid_make_float3(float x, float y, float z)
82
+ {
83
+ float3 t; t.x = x; t.y = y; t.z = z; return t;
84
+ }
85
+ #define BT_GPU_make_float3(x, y, z) bt3dGrid_make_float3(x, y, z)
86
+
87
+ static inline float3 bt3dGrid_make_float34(float4 f)
88
+ {
89
+ float3 t; t.x = f.x; t.y = f.y; t.z = f.z; return t;
90
+ }
91
+ #define BT_GPU_make_float34(f) bt3dGrid_make_float34(f)
92
+
93
+ static inline float3 bt3dGrid_make_float31(float f)
94
+ {
95
+ float3 t; t.x = t.y = t.z = f; return t;
96
+ }
97
+ #define BT_GPU_make_float31(x) bt3dGrid_make_float31(x)
98
+
99
+ static inline float4 bt3dGrid_make_float42(float3 v, float f)
100
+ {
101
+ float4 t; t.x = v.x; t.y = v.y; t.z = v.z; t.w = f; return t;
102
+ }
103
+ #define BT_GPU_make_float42(a, b) bt3dGrid_make_float42(a, b)
104
+
105
+ static inline float4 bt3dGrid_make_float44(float a, float b, float c, float d)
106
+ {
107
+ float4 t; t.x = a; t.y = b; t.z = c; t.w = d; return t;
108
+ }
109
+ #define BT_GPU_make_float44(a, b, c, d) bt3dGrid_make_float44(a, b, c, d)
110
+
111
+ inline int3 operator+(int3 a, int3 b)
112
+ {
113
+ return bt3dGrid_make_int3(a.x + b.x, a.y + b.y, a.z + b.z);
114
+ }
115
+
116
+ inline float4 operator+(const float4& a, const float4& b)
117
+ {
118
+ float4 r; r.x = a.x+b.x; r.y = a.y+b.y; r.z = a.z+b.z; r.w = a.w+b.w; return r;
119
+ }
120
+ inline float4 operator*(const float4& a, float fact)
121
+ {
122
+ float4 r; r.x = a.x*fact; r.y = a.y*fact; r.z = a.z*fact; r.w = a.w*fact; return r;
123
+ }
124
+ inline float4 operator*(float fact, float4& a)
125
+ {
126
+ return (a * fact);
127
+ }
128
+ inline float4& operator*=(float4& a, float fact)
129
+ {
130
+ a = fact * a;
131
+ return a;
132
+ }
133
+ inline float4& operator+=(float4& a, const float4& b)
134
+ {
135
+ a = a + b;
136
+ return a;
137
+ }
138
+
139
+ inline float3 operator+(const float3& a, const float3& b)
140
+ {
141
+ float3 r; r.x = a.x+b.x; r.y = a.y+b.y; r.z = a.z+b.z; return r;
142
+ }
143
+ inline float3 operator-(const float3& a, const float3& b)
144
+ {
145
+ float3 r; r.x = a.x-b.x; r.y = a.y-b.y; r.z = a.z-b.z; return r;
146
+ }
147
+ static inline float bt3dGrid_dot(float3& a, float3& b)
148
+ {
149
+ return a.x*b.x+a.y*b.y+a.z*b.z;
150
+ }
151
+ #define BT_GPU_dot(a,b) bt3dGrid_dot(a,b)
152
+
153
+ static inline float bt3dGrid_dot4(float4& a, float4& b)
154
+ {
155
+ return a.x*b.x+a.y*b.y+a.z*b.z+a.w*b.w;
156
+ }
157
+ #define BT_GPU_dot4(a,b) bt3dGrid_dot4(a,b)
158
+
159
+ static inline float3 bt3dGrid_cross(const float3& a, const float3& b)
160
+ {
161
+ float3 r; r.x = a.y*b.z-a.z*b.y; r.y = -a.x*b.z+a.z*b.x; r.z = a.x*b.y-a.y*b.x; return r;
162
+ }
163
+ #define BT_GPU_cross(a,b) bt3dGrid_cross(a,b)
164
+
165
+
166
+ inline float3 operator*(const float3& a, float fact)
167
+ {
168
+ float3 r; r.x = a.x*fact; r.y = a.y*fact; r.z = a.z*fact; return r;
169
+ }
170
+
171
+
172
+ inline float3& operator+=(float3& a, const float3& b)
173
+ {
174
+ a = a + b;
175
+ return a;
176
+ }
177
+ inline float3& operator-=(float3& a, const float3& b)
178
+ {
179
+ a = a - b;
180
+ return a;
181
+ }
182
+ inline float3& operator*=(float3& a, float fact)
183
+ {
184
+ a = a * fact;
185
+ return a;
186
+ }
187
+ inline float3 operator-(const float3& v)
188
+ {
189
+ float3 r; r.x = -v.x; r.y = -v.y; r.z = -v.z; return r;
190
+ }
191
+
192
+
193
+ #define BT_GPU_FETCH(a, b) a[b]
194
+ #define BT_GPU_FETCH4(a, b) a[b]
195
+ #define BT_GPU_PREF(func) btGpu_##func
196
+ #define BT_GPU_SAFE_CALL(func) func
197
+ #define BT_GPU_Memset memset
198
+ #define BT_GPU_MemcpyToSymbol(a, b, c) memcpy(&a, b, c)
199
+ #define BT_GPU_BindTexture(a, b, c, d)
200
+ #define BT_GPU_UnbindTexture(a)
201
+
202
+ static uint2 s_blockIdx, s_blockDim, s_threadIdx;
203
+ #define BT_GPU_blockIdx s_blockIdx
204
+ #define BT_GPU_blockDim s_blockDim
205
+ #define BT_GPU_threadIdx s_threadIdx
206
+ #define BT_GPU_EXECKERNEL(numb, numt, kfunc, args) {s_blockDim.x=numt;for(int nb=0;nb<numb;nb++){s_blockIdx.x=nb;for(int nt=0;nt<numt;nt++){s_threadIdx.x=nt;kfunc args;}}}
207
+
208
+ #define BT_GPU_CHECK_ERROR(s)
209
+
210
+
211
+ #endif //BT_GPU_DEFINES_H
@@ -0,0 +1,55 @@
1
+ /*
2
+ Bullet Continuous Collision Detection and Physics Library, http://bulletphysics.org
3
+ Copyright (C) 2006, 2009 Sony Computer Entertainment Inc.
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
+ //----------------------------------------------------------------------------------------
17
+
18
+ // Shared code for GPU-based utilities
19
+
20
+ //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21
+ // Keep this file free from Bullet headers
22
+ // will be compiled by both CPU and CUDA compilers
23
+ // file with definitions of BT_GPU_xxx should be included first
24
+ //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25
+
26
+ //----------------------------------------------------------------------------------------
27
+
28
+ #include "btGpuUtilsSharedDefs.h"
29
+
30
+ //----------------------------------------------------------------------------------------
31
+
32
+ extern "C"
33
+ {
34
+
35
+ //----------------------------------------------------------------------------------------
36
+
37
+ //Round a / b to nearest higher integer value
38
+ int BT_GPU_PREF(iDivUp)(int a, int b)
39
+ {
40
+ return (a % b != 0) ? (a / b + 1) : (a / b);
41
+ } // iDivUp()
42
+
43
+ //----------------------------------------------------------------------------------------
44
+
45
+ // compute grid and thread block size for a given number of elements
46
+ void BT_GPU_PREF(computeGridSize)(int n, int blockSize, int &numBlocks, int &numThreads)
47
+ {
48
+ numThreads = BT_GPU_min(blockSize, n);
49
+ numBlocks = BT_GPU_PREF(iDivUp)(n, numThreads);
50
+ } // computeGridSize()
51
+
52
+ //----------------------------------------------------------------------------------------
53
+
54
+ } // extern "C"
55
+
@@ -0,0 +1,52 @@
1
+ /*
2
+ Bullet Continuous Collision Detection and Physics Library, http://bulletphysics.org
3
+ Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
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
+ // Shared definitions for GPU-based utilities
17
+
18
+ //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
19
+ // Keep this file free from Bullet headers
20
+ // it is included into both CUDA and CPU code
21
+ // file with definitions of BT_GPU_xxx should be included first
22
+ //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
23
+
24
+
25
+ #ifndef BTGPUUTILSDHAREDDEFS_H
26
+ #define BTGPUUTILSDHAREDDEFS_H
27
+
28
+
29
+ extern "C"
30
+ {
31
+
32
+
33
+ //Round a / b to nearest higher integer value
34
+ int BT_GPU_PREF(iDivUp)(int a, int b);
35
+
36
+ // compute grid and thread block size for a given number of elements
37
+ void BT_GPU_PREF(computeGridSize)(int n, int blockSize, int &numBlocks, int &numThreads);
38
+
39
+ void BT_GPU_PREF(allocateArray)(void** devPtr, unsigned int size);
40
+ void BT_GPU_PREF(freeArray)(void* devPtr);
41
+ void BT_GPU_PREF(copyArrayFromDevice)(void* host, const void* device, unsigned int size);
42
+ void BT_GPU_PREF(copyArrayToDevice)(void* device, const void* host, unsigned int size);
43
+ void BT_GPU_PREF(registerGLBufferObject(unsigned int vbo));
44
+ void* BT_GPU_PREF(mapGLBufferObject(unsigned int vbo));
45
+ void BT_GPU_PREF(unmapGLBufferObject(unsigned int vbo));
46
+
47
+
48
+ } // extern "C"
49
+
50
+
51
+ #endif // BTGPUUTILSDHAREDDEFS_H
52
+
@@ -0,0 +1,285 @@
1
+ /*
2
+ Copyright (C) 2010 Sony Computer Entertainment Inc.
3
+ All rights reserved.
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
+
17
+ #ifndef __BT_PARALLEL_CONSTRAINT_SOLVER_H
18
+ #define __BT_PARALLEL_CONSTRAINT_SOLVER_H
19
+
20
+ #include "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h"
21
+
22
+
23
+
24
+
25
+ #include "LinearMath/btScalar.h"
26
+ #include "PlatformDefinitions.h"
27
+
28
+
29
+ #define PFX_MAX_SOLVER_PHASES 64
30
+ #define PFX_MAX_SOLVER_BATCHES 16
31
+ #define PFX_MAX_SOLVER_PAIRS 128
32
+ #define PFX_MIN_SOLVER_PAIRS 16
33
+
34
+ #ifdef __CELLOS_LV2__
35
+ ATTRIBUTE_ALIGNED128(struct) PfxParallelBatch {
36
+ #else
37
+ ATTRIBUTE_ALIGNED16(struct) PfxParallelBatch {
38
+ #endif
39
+ uint16_t pairIndices[PFX_MAX_SOLVER_PAIRS];
40
+ };
41
+
42
+ #ifdef __CELLOS_LV2__
43
+ ATTRIBUTE_ALIGNED128(struct) PfxParallelGroup {
44
+ #else
45
+ ATTRIBUTE_ALIGNED16(struct) PfxParallelGroup {
46
+ #endif
47
+ uint16_t numPhases;
48
+ uint16_t numBatches[PFX_MAX_SOLVER_PHASES];
49
+ uint16_t numPairs[PFX_MAX_SOLVER_PHASES*PFX_MAX_SOLVER_BATCHES];
50
+ };
51
+
52
+
53
+
54
+ ATTRIBUTE_ALIGNED16(struct) PfxSortData16 {
55
+ union {
56
+ uint8_t i8data[16];
57
+ uint16_t i16data[8];
58
+ uint32_t i32data[4];
59
+ #ifdef __SPU__
60
+ vec_uint4 vdata;
61
+ #endif
62
+ };
63
+
64
+ #ifdef __SPU__
65
+ void set8(int elem,uint8_t data) {vdata=(vec_uint4)spu_insert(data,(vec_uchar16)vdata,elem);}
66
+ void set16(int elem,uint16_t data) {vdata=(vec_uint4)spu_insert(data,(vec_ushort8)vdata,elem);}
67
+ void set32(int elem,uint32_t data) {vdata=(vec_uint4)spu_insert(data,(vec_uint4)vdata,elem);}
68
+ uint8_t get8(int elem) const {return spu_extract((vec_uchar16)vdata,elem);}
69
+ uint16_t get16(int elem) const {return spu_extract((vec_ushort8)vdata,elem);}
70
+ uint32_t get32(int elem) const {return spu_extract((vec_uint4)vdata,elem);}
71
+ #else
72
+ void set8(int elem,uint8_t data) {i8data[elem] = data;}
73
+ void set16(int elem,uint16_t data) {i16data[elem] = data;}
74
+ void set32(int elem,uint32_t data) {i32data[elem] = data;}
75
+ uint8_t get8(int elem) const {return i8data[elem];}
76
+ uint16_t get16(int elem) const {return i16data[elem];}
77
+ uint32_t get32(int elem) const {return i32data[elem];}
78
+ #endif
79
+ };
80
+
81
+ typedef PfxSortData16 PfxConstraintPair;
82
+
83
+
84
+ //J PfxBroadphasePair�Ƌ���
85
+
86
+ SIMD_FORCE_INLINE void pfxSetConstraintId(PfxConstraintPair &pair,uint32_t i) {pair.set32(2,i);}
87
+ SIMD_FORCE_INLINE void pfxSetNumConstraints(PfxConstraintPair &pair,uint8_t n) {pair.set8(7,n);}
88
+
89
+ SIMD_FORCE_INLINE uint32_t pfxGetConstraintId1(const PfxConstraintPair &pair) {return pair.get32(2);}
90
+ SIMD_FORCE_INLINE uint8_t pfxGetNumConstraints(const PfxConstraintPair &pair) {return pair.get8(7);}
91
+
92
+ typedef PfxSortData16 PfxBroadphasePair;
93
+
94
+ SIMD_FORCE_INLINE void pfxSetRigidBodyIdA(PfxBroadphasePair &pair,uint16_t i) {pair.set16(0,i);}
95
+ SIMD_FORCE_INLINE void pfxSetRigidBodyIdB(PfxBroadphasePair &pair,uint16_t i) {pair.set16(1,i);}
96
+ SIMD_FORCE_INLINE void pfxSetMotionMaskA(PfxBroadphasePair &pair,uint8_t i) {pair.set8(4,i);}
97
+ SIMD_FORCE_INLINE void pfxSetMotionMaskB(PfxBroadphasePair &pair,uint8_t i) {pair.set8(5,i);}
98
+ SIMD_FORCE_INLINE void pfxSetBroadphaseFlag(PfxBroadphasePair &pair,uint8_t f) {pair.set8(6,(pair.get8(6)&0xf0)|(f&0x0f));}
99
+ SIMD_FORCE_INLINE void pfxSetActive(PfxBroadphasePair &pair,bool b) {pair.set8(6,(pair.get8(6)&0x0f)|((b?1:0)<<4));}
100
+ SIMD_FORCE_INLINE void pfxSetContactId(PfxBroadphasePair &pair,uint32_t i) {pair.set32(2,i);}
101
+
102
+ SIMD_FORCE_INLINE uint16_t pfxGetRigidBodyIdA(const PfxBroadphasePair &pair) {return pair.get16(0);}
103
+ SIMD_FORCE_INLINE uint16_t pfxGetRigidBodyIdB(const PfxBroadphasePair &pair) {return pair.get16(1);}
104
+ SIMD_FORCE_INLINE uint8_t pfxGetMotionMaskA(const PfxBroadphasePair &pair) {return pair.get8(4);}
105
+ SIMD_FORCE_INLINE uint8_t pfxGetMotionMaskB(const PfxBroadphasePair &pair) {return pair.get8(5);}
106
+ SIMD_FORCE_INLINE uint8_t pfxGetBroadphaseFlag(const PfxBroadphasePair &pair) {return pair.get8(6)&0x0f;}
107
+ SIMD_FORCE_INLINE bool pfxGetActive(const PfxBroadphasePair &pair) {return (pair.get8(6)>>4)!=0;}
108
+ SIMD_FORCE_INLINE uint32_t pfxGetContactId1(const PfxBroadphasePair &pair) {return pair.get32(2);}
109
+
110
+
111
+
112
+ #if defined(__PPU__) || defined (__SPU__)
113
+ ATTRIBUTE_ALIGNED128(struct) PfxSolverBody {
114
+ #else
115
+ ATTRIBUTE_ALIGNED16(struct) PfxSolverBody {
116
+ #endif
117
+ vmVector3 mDeltaLinearVelocity;
118
+ vmVector3 mDeltaAngularVelocity;
119
+ vmMatrix3 mInertiaInv;
120
+ vmQuat mOrientation;
121
+ float mMassInv;
122
+ float friction;
123
+ float restitution;
124
+ float unused;
125
+ float unused2;
126
+ float unused3;
127
+ float unused4;
128
+ float unused5;
129
+ };
130
+
131
+
132
+ #ifdef __PPU__
133
+ #include "SpuDispatch/BulletPE2ConstraintSolverSpursSupport.h"
134
+ #endif
135
+
136
+ static SIMD_FORCE_INLINE vmVector3 btReadVector3(const double* p)
137
+ {
138
+ float tmp[3] = {float(p[0]),float(p[1]),float(p[2])};
139
+ vmVector3 v;
140
+ loadXYZ(v, tmp);
141
+ return v;
142
+ }
143
+
144
+ static SIMD_FORCE_INLINE vmQuat btReadQuat(const double* p)
145
+ {
146
+ float tmp[4] = {float(p[0]),float(p[1]),float(p[2]),float(p[4])};
147
+ vmQuat vq;
148
+ loadXYZW(vq, tmp);
149
+ return vq;
150
+ }
151
+
152
+ static SIMD_FORCE_INLINE void btStoreVector3(const vmVector3 &src, double* p)
153
+ {
154
+ float tmp[3];
155
+ vmVector3 v = src;
156
+ storeXYZ(v, tmp);
157
+ p[0] = tmp[0];
158
+ p[1] = tmp[1];
159
+ p[2] = tmp[2];
160
+ }
161
+
162
+
163
+ static SIMD_FORCE_INLINE vmVector3 btReadVector3(const float* p)
164
+ {
165
+ vmVector3 v;
166
+ loadXYZ(v, p);
167
+ return v;
168
+ }
169
+
170
+ static SIMD_FORCE_INLINE vmQuat btReadQuat(const float* p)
171
+ {
172
+ vmQuat vq;
173
+ loadXYZW(vq, p);
174
+ return vq;
175
+ }
176
+
177
+ static SIMD_FORCE_INLINE void btStoreVector3(const vmVector3 &src, float* p)
178
+ {
179
+ vmVector3 v = src;
180
+ storeXYZ(v, p);
181
+ }
182
+
183
+
184
+
185
+
186
+ class btPersistentManifold;
187
+
188
+ enum {
189
+ PFX_CONSTRAINT_SOLVER_CMD_SETUP_SOLVER_BODIES,
190
+ PFX_CONSTRAINT_SOLVER_CMD_SETUP_CONTACT_CONSTRAINTS,
191
+ PFX_CONSTRAINT_SOLVER_CMD_SETUP_JOINT_CONSTRAINTS,
192
+ PFX_CONSTRAINT_SOLVER_CMD_SOLVE_CONSTRAINTS,
193
+ PFX_CONSTRAINT_SOLVER_CMD_POST_SOLVER
194
+ };
195
+
196
+
197
+ struct PfxSetupContactConstraintsIO {
198
+ PfxConstraintPair *offsetContactPairs;
199
+ uint32_t numContactPairs1;
200
+ btPersistentManifold* offsetContactManifolds;
201
+ class TrbState *offsetRigStates;
202
+ struct PfxSolverBody *offsetSolverBodies;
203
+ uint32_t numRigidBodies;
204
+ float separateBias;
205
+ float timeStep;
206
+ class btCriticalSection* criticalSection;
207
+ };
208
+
209
+
210
+
211
+ struct PfxSolveConstraintsIO {
212
+ PfxParallelGroup *contactParallelGroup;
213
+ PfxParallelBatch *contactParallelBatches;
214
+ PfxConstraintPair *contactPairs;
215
+ uint32_t numContactPairs;
216
+ btPersistentManifold *offsetContactManifolds;
217
+ PfxParallelGroup *jointParallelGroup;
218
+ PfxParallelBatch *jointParallelBatches;
219
+ PfxConstraintPair *jointPairs;
220
+ uint32_t numJointPairs;
221
+ struct btSolverConstraint* offsetSolverConstraints;
222
+ TrbState *offsetRigStates1;
223
+ PfxSolverBody *offsetSolverBodies;
224
+ uint32_t numRigidBodies;
225
+ uint32_t iteration;
226
+
227
+ uint32_t taskId;
228
+
229
+ class btBarrier* barrier;
230
+
231
+ };
232
+
233
+ struct PfxPostSolverIO {
234
+ TrbState *states;
235
+ PfxSolverBody *solverBodies;
236
+ uint32_t numRigidBodies;
237
+ };
238
+
239
+ ATTRIBUTE_ALIGNED16(struct) btConstraintSolverIO {
240
+ uint8_t cmd;
241
+ union {
242
+ PfxSetupContactConstraintsIO setupContactConstraints;
243
+ PfxSolveConstraintsIO solveConstraints;
244
+ PfxPostSolverIO postSolver;
245
+ };
246
+
247
+ //SPU only
248
+ uint32_t barrierAddr2;
249
+ uint32_t criticalsectionAddr2;
250
+ uint32_t maxTasks1;
251
+ };
252
+
253
+
254
+
255
+
256
+ void SolverThreadFunc(void* userPtr,void* lsMemory);
257
+ void* SolverlsMemoryFunc();
258
+ ///The btParallelConstraintSolver performs computations on constraint rows in parallel
259
+ ///Using the cross-platform threading it supports Windows, Linux, Mac OSX and PlayStation 3 Cell SPUs
260
+ class btParallelConstraintSolver : public btSequentialImpulseConstraintSolver
261
+ {
262
+
263
+ protected:
264
+ struct btParallelSolverMemoryCache* m_memoryCache;
265
+
266
+ class btThreadSupportInterface* m_solverThreadSupport;
267
+
268
+ struct btConstraintSolverIO* m_solverIO;
269
+ class btBarrier* m_barrier;
270
+ class btCriticalSection* m_criticalSection;
271
+
272
+
273
+ public:
274
+
275
+ btParallelConstraintSolver(class btThreadSupportInterface* solverThreadSupport);
276
+
277
+ virtual ~btParallelConstraintSolver();
278
+
279
+ virtual btScalar solveGroup(btCollisionObject** bodies,int numBodies,btPersistentManifold** manifold,int numManifolds,btTypedConstraint** constraints,int numConstraints,const btContactSolverInfo& info, btIDebugDraw* debugDrawer, btStackAlloc* stackAlloc,btDispatcher* dispatcher);
280
+
281
+ };
282
+
283
+
284
+
285
+ #endif //__BT_PARALLEL_CONSTRAINT_SOLVER_H
@@ -0,0 +1,85 @@
1
+ /*
2
+ Bullet Continuous Collision Detection and Physics Library
3
+ Copyright (c) 2003-2007 Erwin Coumans http://bulletphysics.com
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_THREAD_SUPPORT_INTERFACE_H
17
+ #define BT_THREAD_SUPPORT_INTERFACE_H
18
+
19
+
20
+ #include <LinearMath/btScalar.h> //for ATTRIBUTE_ALIGNED16
21
+ #include "PlatformDefinitions.h"
22
+ #include "PpuAddressSpace.h"
23
+
24
+ class btBarrier {
25
+ public:
26
+ btBarrier() {}
27
+ virtual ~btBarrier() {}
28
+
29
+ virtual void sync() = 0;
30
+ virtual void setMaxCount(int n) = 0;
31
+ virtual int getMaxCount() = 0;
32
+ };
33
+
34
+ class btCriticalSection {
35
+ public:
36
+ btCriticalSection() {}
37
+ virtual ~btCriticalSection() {}
38
+
39
+ ATTRIBUTE_ALIGNED16(unsigned int mCommonBuff[32]);
40
+
41
+ virtual unsigned int getSharedParam(int i) = 0;
42
+ virtual void setSharedParam(int i,unsigned int p) = 0;
43
+
44
+ virtual void lock() = 0;
45
+ virtual void unlock() = 0;
46
+ };
47
+
48
+
49
+ class btThreadSupportInterface
50
+ {
51
+ public:
52
+
53
+ virtual ~btThreadSupportInterface();
54
+
55
+ ///send messages to SPUs
56
+ virtual void sendRequest(uint32_t uiCommand, ppu_address_t uiArgument0, uint32_t uiArgument1) =0;
57
+
58
+ ///check for messages from SPUs
59
+ virtual void waitForResponse(unsigned int *puiArgument0, unsigned int *puiArgument1) =0;
60
+
61
+
62
+ ///non-blocking test if a task is completed. First implement all versions, and then enable this API
63
+ ///virtual bool isTaskCompleted(unsigned int *puiArgument0, unsigned int *puiArgument1, int timeOutInMilliseconds)=0;
64
+
65
+ ///start the spus (can be called at the beginning of each frame, to make sure that the right SPU program is loaded)
66
+ virtual void startSPU() =0;
67
+
68
+ ///tell the task scheduler we are done with the SPU tasks
69
+ virtual void stopSPU()=0;
70
+
71
+ ///tell the task scheduler to use no more than numTasks tasks
72
+ virtual void setNumTasks(int numTasks)=0;
73
+
74
+ virtual int getNumTasks() const = 0;
75
+
76
+ virtual btBarrier* createBarrier() = 0;
77
+
78
+ virtual btCriticalSection* createCriticalSection() = 0;
79
+
80
+ virtual void* getThreadLocalMemory(int taskId) { return 0; }
81
+
82
+ };
83
+
84
+ #endif //BT_THREAD_SUPPORT_INTERFACE_H
85
+