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,116 @@
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_CONVEX_CONCAVE_COLLISION_ALGORITHM_H
17
+ #define BT_CONVEX_CONCAVE_COLLISION_ALGORITHM_H
18
+
19
+ #include "btActivatingCollisionAlgorithm.h"
20
+ #include "BulletCollision/BroadphaseCollision/btDispatcher.h"
21
+ #include "BulletCollision/BroadphaseCollision/btBroadphaseInterface.h"
22
+ #include "BulletCollision/CollisionShapes/btTriangleCallback.h"
23
+ #include "BulletCollision/NarrowPhaseCollision/btPersistentManifold.h"
24
+ class btDispatcher;
25
+ #include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
26
+ #include "btCollisionCreateFunc.h"
27
+
28
+ ///For each triangle in the concave mesh that overlaps with the AABB of a convex (m_convexProxy), processTriangle is called.
29
+ class btConvexTriangleCallback : public btTriangleCallback
30
+ {
31
+ btCollisionObject* m_convexBody;
32
+ btCollisionObject* m_triBody;
33
+
34
+ btVector3 m_aabbMin;
35
+ btVector3 m_aabbMax ;
36
+
37
+
38
+ btManifoldResult* m_resultOut;
39
+ btDispatcher* m_dispatcher;
40
+ const btDispatcherInfo* m_dispatchInfoPtr;
41
+ btScalar m_collisionMarginTriangle;
42
+
43
+ public:
44
+ int m_triangleCount;
45
+
46
+ btPersistentManifold* m_manifoldPtr;
47
+
48
+ btConvexTriangleCallback(btDispatcher* dispatcher,btCollisionObject* body0,btCollisionObject* body1,bool isSwapped);
49
+
50
+ void setTimeStepAndCounters(btScalar collisionMarginTriangle,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
51
+
52
+ virtual ~btConvexTriangleCallback();
53
+
54
+ virtual void processTriangle(btVector3* triangle, int partId, int triangleIndex);
55
+
56
+ void clearCache();
57
+
58
+ SIMD_FORCE_INLINE const btVector3& getAabbMin() const
59
+ {
60
+ return m_aabbMin;
61
+ }
62
+ SIMD_FORCE_INLINE const btVector3& getAabbMax() const
63
+ {
64
+ return m_aabbMax;
65
+ }
66
+
67
+ };
68
+
69
+
70
+
71
+
72
+ /// btConvexConcaveCollisionAlgorithm supports collision between convex shapes and (concave) trianges meshes.
73
+ class btConvexConcaveCollisionAlgorithm : public btActivatingCollisionAlgorithm
74
+ {
75
+
76
+ bool m_isSwapped;
77
+
78
+ btConvexTriangleCallback m_btConvexTriangleCallback;
79
+
80
+
81
+
82
+ public:
83
+
84
+ btConvexConcaveCollisionAlgorithm( const btCollisionAlgorithmConstructionInfo& ci,btCollisionObject* body0,btCollisionObject* body1,bool isSwapped);
85
+
86
+ virtual ~btConvexConcaveCollisionAlgorithm();
87
+
88
+ virtual void processCollision (btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
89
+
90
+ btScalar calculateTimeOfImpact(btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
91
+
92
+ virtual void getAllContactManifolds(btManifoldArray& manifoldArray);
93
+
94
+ void clearCache();
95
+
96
+ struct CreateFunc :public btCollisionAlgorithmCreateFunc
97
+ {
98
+ virtual btCollisionAlgorithm* CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1)
99
+ {
100
+ void* mem = ci.m_dispatcher1->allocateCollisionAlgorithm(sizeof(btConvexConcaveCollisionAlgorithm));
101
+ return new(mem) btConvexConcaveCollisionAlgorithm(ci,body0,body1,false);
102
+ }
103
+ };
104
+
105
+ struct SwappedCreateFunc :public btCollisionAlgorithmCreateFunc
106
+ {
107
+ virtual btCollisionAlgorithm* CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1)
108
+ {
109
+ void* mem = ci.m_dispatcher1->allocateCollisionAlgorithm(sizeof(btConvexConcaveCollisionAlgorithm));
110
+ return new(mem) btConvexConcaveCollisionAlgorithm(ci,body0,body1,true);
111
+ }
112
+ };
113
+
114
+ };
115
+
116
+ #endif //BT_CONVEX_CONCAVE_COLLISION_ALGORITHM_H
@@ -0,0 +1,109 @@
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_CONVEX_CONVEX_ALGORITHM_H
17
+ #define BT_CONVEX_CONVEX_ALGORITHM_H
18
+
19
+ #include "btActivatingCollisionAlgorithm.h"
20
+ #include "BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h"
21
+ #include "BulletCollision/NarrowPhaseCollision/btPersistentManifold.h"
22
+ #include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
23
+ #include "BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h"
24
+ #include "btCollisionCreateFunc.h"
25
+ #include "btCollisionDispatcher.h"
26
+ #include "LinearMath/btTransformUtil.h" //for btConvexSeparatingDistanceUtil
27
+
28
+ class btConvexPenetrationDepthSolver;
29
+
30
+ ///Enabling USE_SEPDISTANCE_UTIL2 requires 100% reliable distance computation. However, when using large size ratios GJK can be imprecise
31
+ ///so the distance is not conservative. In that case, enabling this USE_SEPDISTANCE_UTIL2 would result in failing/missing collisions.
32
+ ///Either improve GJK for large size ratios (testing a 100 units versus a 0.1 unit object) or only enable the util
33
+ ///for certain pairs that have a small size ratio
34
+
35
+ //#define USE_SEPDISTANCE_UTIL2 1
36
+
37
+ ///The convexConvexAlgorithm collision algorithm implements time of impact, convex closest points and penetration depth calculations between two convex objects.
38
+ ///Multiple contact points are calculated by perturbing the orientation of the smallest object orthogonal to the separating normal.
39
+ ///This idea was described by Gino van den Bergen in this forum topic http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=4&t=288&p=888#p888
40
+ class btConvexConvexAlgorithm : public btActivatingCollisionAlgorithm
41
+ {
42
+ #ifdef USE_SEPDISTANCE_UTIL2
43
+ btConvexSeparatingDistanceUtil m_sepDistance;
44
+ #endif
45
+ btSimplexSolverInterface* m_simplexSolver;
46
+ btConvexPenetrationDepthSolver* m_pdSolver;
47
+
48
+
49
+ bool m_ownManifold;
50
+ btPersistentManifold* m_manifoldPtr;
51
+ bool m_lowLevelOfDetail;
52
+
53
+ int m_numPerturbationIterations;
54
+ int m_minimumPointsPerturbationThreshold;
55
+
56
+
57
+ ///cache separating vector to speedup collision detection
58
+
59
+
60
+ public:
61
+
62
+ btConvexConvexAlgorithm(btPersistentManifold* mf,const btCollisionAlgorithmConstructionInfo& ci,btCollisionObject* body0,btCollisionObject* body1, btSimplexSolverInterface* simplexSolver, btConvexPenetrationDepthSolver* pdSolver, int numPerturbationIterations, int minimumPointsPerturbationThreshold);
63
+
64
+
65
+ virtual ~btConvexConvexAlgorithm();
66
+
67
+ virtual void processCollision (btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
68
+
69
+ virtual btScalar calculateTimeOfImpact(btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
70
+
71
+ virtual void getAllContactManifolds(btManifoldArray& manifoldArray)
72
+ {
73
+ ///should we use m_ownManifold to avoid adding duplicates?
74
+ if (m_manifoldPtr && m_ownManifold)
75
+ manifoldArray.push_back(m_manifoldPtr);
76
+ }
77
+
78
+
79
+ void setLowLevelOfDetail(bool useLowLevel);
80
+
81
+
82
+ const btPersistentManifold* getManifold()
83
+ {
84
+ return m_manifoldPtr;
85
+ }
86
+
87
+ struct CreateFunc :public btCollisionAlgorithmCreateFunc
88
+ {
89
+
90
+ btConvexPenetrationDepthSolver* m_pdSolver;
91
+ btSimplexSolverInterface* m_simplexSolver;
92
+ int m_numPerturbationIterations;
93
+ int m_minimumPointsPerturbationThreshold;
94
+
95
+ CreateFunc(btSimplexSolverInterface* simplexSolver, btConvexPenetrationDepthSolver* pdSolver);
96
+
97
+ virtual ~CreateFunc();
98
+
99
+ virtual btCollisionAlgorithm* CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1)
100
+ {
101
+ void* mem = ci.m_dispatcher1->allocateCollisionAlgorithm(sizeof(btConvexConvexAlgorithm));
102
+ return new(mem) btConvexConvexAlgorithm(ci.m_manifold,ci,body0,body1,m_simplexSolver,m_pdSolver,m_numPerturbationIterations,m_minimumPointsPerturbationThreshold);
103
+ }
104
+ };
105
+
106
+
107
+ };
108
+
109
+ #endif //BT_CONVEX_CONVEX_ALGORITHM_H
@@ -0,0 +1,84 @@
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_CONVEX_PLANE_COLLISION_ALGORITHM_H
17
+ #define BT_CONVEX_PLANE_COLLISION_ALGORITHM_H
18
+
19
+ #include "BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h"
20
+ #include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
21
+ #include "BulletCollision/CollisionDispatch/btCollisionCreateFunc.h"
22
+ class btPersistentManifold;
23
+ #include "btCollisionDispatcher.h"
24
+
25
+ #include "LinearMath/btVector3.h"
26
+
27
+ /// btSphereBoxCollisionAlgorithm provides sphere-box collision detection.
28
+ /// Other features are frame-coherency (persistent data) and collision response.
29
+ class btConvexPlaneCollisionAlgorithm : public btCollisionAlgorithm
30
+ {
31
+ bool m_ownManifold;
32
+ btPersistentManifold* m_manifoldPtr;
33
+ bool m_isSwapped;
34
+ int m_numPerturbationIterations;
35
+ int m_minimumPointsPerturbationThreshold;
36
+
37
+ public:
38
+
39
+ btConvexPlaneCollisionAlgorithm(btPersistentManifold* mf,const btCollisionAlgorithmConstructionInfo& ci,btCollisionObject* col0,btCollisionObject* col1, bool isSwapped, int numPerturbationIterations,int minimumPointsPerturbationThreshold);
40
+
41
+ virtual ~btConvexPlaneCollisionAlgorithm();
42
+
43
+ virtual void processCollision (btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
44
+
45
+ void collideSingleContact (const btQuaternion& perturbeRot, btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
46
+
47
+ virtual btScalar calculateTimeOfImpact(btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
48
+
49
+ virtual void getAllContactManifolds(btManifoldArray& manifoldArray)
50
+ {
51
+ if (m_manifoldPtr && m_ownManifold)
52
+ {
53
+ manifoldArray.push_back(m_manifoldPtr);
54
+ }
55
+ }
56
+
57
+ struct CreateFunc :public btCollisionAlgorithmCreateFunc
58
+ {
59
+ int m_numPerturbationIterations;
60
+ int m_minimumPointsPerturbationThreshold;
61
+
62
+ CreateFunc()
63
+ : m_numPerturbationIterations(1),
64
+ m_minimumPointsPerturbationThreshold(0)
65
+ {
66
+ }
67
+
68
+ virtual btCollisionAlgorithm* CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1)
69
+ {
70
+ void* mem = ci.m_dispatcher1->allocateCollisionAlgorithm(sizeof(btConvexPlaneCollisionAlgorithm));
71
+ if (!m_swapped)
72
+ {
73
+ return new(mem) btConvexPlaneCollisionAlgorithm(0,ci,body0,body1,false,m_numPerturbationIterations,m_minimumPointsPerturbationThreshold);
74
+ } else
75
+ {
76
+ return new(mem) btConvexPlaneCollisionAlgorithm(0,ci,body0,body1,true,m_numPerturbationIterations,m_minimumPointsPerturbationThreshold);
77
+ }
78
+ }
79
+ };
80
+
81
+ };
82
+
83
+ #endif //BT_CONVEX_PLANE_COLLISION_ALGORITHM_H
84
+
@@ -0,0 +1,137 @@
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_DEFAULT_COLLISION_CONFIGURATION
17
+ #define BT_DEFAULT_COLLISION_CONFIGURATION
18
+
19
+ #include "btCollisionConfiguration.h"
20
+ class btVoronoiSimplexSolver;
21
+ class btConvexPenetrationDepthSolver;
22
+
23
+ struct btDefaultCollisionConstructionInfo
24
+ {
25
+ btStackAlloc* m_stackAlloc;
26
+ btPoolAllocator* m_persistentManifoldPool;
27
+ btPoolAllocator* m_collisionAlgorithmPool;
28
+ int m_defaultMaxPersistentManifoldPoolSize;
29
+ int m_defaultMaxCollisionAlgorithmPoolSize;
30
+ int m_customCollisionAlgorithmMaxElementSize;
31
+ int m_defaultStackAllocatorSize;
32
+ int m_useEpaPenetrationAlgorithm;
33
+
34
+ btDefaultCollisionConstructionInfo()
35
+ :m_stackAlloc(0),
36
+ m_persistentManifoldPool(0),
37
+ m_collisionAlgorithmPool(0),
38
+ m_defaultMaxPersistentManifoldPoolSize(4096),
39
+ m_defaultMaxCollisionAlgorithmPoolSize(4096),
40
+ m_customCollisionAlgorithmMaxElementSize(0),
41
+ m_defaultStackAllocatorSize(0),
42
+ m_useEpaPenetrationAlgorithm(true)
43
+ {
44
+ }
45
+ };
46
+
47
+
48
+
49
+ ///btCollisionConfiguration allows to configure Bullet collision detection
50
+ ///stack allocator, pool memory allocators
51
+ ///@todo: describe the meaning
52
+ class btDefaultCollisionConfiguration : public btCollisionConfiguration
53
+ {
54
+
55
+ protected:
56
+
57
+ int m_persistentManifoldPoolSize;
58
+
59
+ btStackAlloc* m_stackAlloc;
60
+ bool m_ownsStackAllocator;
61
+
62
+ btPoolAllocator* m_persistentManifoldPool;
63
+ bool m_ownsPersistentManifoldPool;
64
+
65
+
66
+ btPoolAllocator* m_collisionAlgorithmPool;
67
+ bool m_ownsCollisionAlgorithmPool;
68
+
69
+ //default simplex/penetration depth solvers
70
+ btVoronoiSimplexSolver* m_simplexSolver;
71
+ btConvexPenetrationDepthSolver* m_pdSolver;
72
+
73
+ //default CreationFunctions, filling the m_doubleDispatch table
74
+ btCollisionAlgorithmCreateFunc* m_convexConvexCreateFunc;
75
+ btCollisionAlgorithmCreateFunc* m_convexConcaveCreateFunc;
76
+ btCollisionAlgorithmCreateFunc* m_swappedConvexConcaveCreateFunc;
77
+ btCollisionAlgorithmCreateFunc* m_compoundCreateFunc;
78
+ btCollisionAlgorithmCreateFunc* m_swappedCompoundCreateFunc;
79
+ btCollisionAlgorithmCreateFunc* m_emptyCreateFunc;
80
+ btCollisionAlgorithmCreateFunc* m_sphereSphereCF;
81
+ #ifdef USE_BUGGY_SPHERE_BOX_ALGORITHM
82
+ btCollisionAlgorithmCreateFunc* m_sphereBoxCF;
83
+ btCollisionAlgorithmCreateFunc* m_boxSphereCF;
84
+ #endif //USE_BUGGY_SPHERE_BOX_ALGORITHM
85
+
86
+ btCollisionAlgorithmCreateFunc* m_boxBoxCF;
87
+ btCollisionAlgorithmCreateFunc* m_sphereTriangleCF;
88
+ btCollisionAlgorithmCreateFunc* m_triangleSphereCF;
89
+ btCollisionAlgorithmCreateFunc* m_planeConvexCF;
90
+ btCollisionAlgorithmCreateFunc* m_convexPlaneCF;
91
+
92
+ public:
93
+
94
+
95
+ btDefaultCollisionConfiguration(const btDefaultCollisionConstructionInfo& constructionInfo = btDefaultCollisionConstructionInfo());
96
+
97
+ virtual ~btDefaultCollisionConfiguration();
98
+
99
+ ///memory pools
100
+ virtual btPoolAllocator* getPersistentManifoldPool()
101
+ {
102
+ return m_persistentManifoldPool;
103
+ }
104
+
105
+ virtual btPoolAllocator* getCollisionAlgorithmPool()
106
+ {
107
+ return m_collisionAlgorithmPool;
108
+ }
109
+
110
+ virtual btStackAlloc* getStackAllocator()
111
+ {
112
+ return m_stackAlloc;
113
+ }
114
+
115
+ virtual btVoronoiSimplexSolver* getSimplexSolver()
116
+ {
117
+ return m_simplexSolver;
118
+ }
119
+
120
+
121
+ virtual btCollisionAlgorithmCreateFunc* getCollisionAlgorithmCreateFunc(int proxyType0,int proxyType1);
122
+
123
+ ///Use this method to allow to generate multiple contact points between at once, between two objects using the generic convex-convex algorithm.
124
+ ///By default, this feature is disabled for best performance.
125
+ ///@param numPerturbationIterations controls the number of collision queries. Set it to zero to disable the feature.
126
+ ///@param minimumPointsPerturbationThreshold is the minimum number of points in the contact cache, above which the feature is disabled
127
+ ///3 is a good value for both params, if you want to enable the feature. This is because the default contact cache contains a maximum of 4 points, and one collision query at the unperturbed orientation is performed first.
128
+ ///See Bullet/Demos/CollisionDemo for an example how this feature gathers multiple points.
129
+ ///@todo we could add a per-object setting of those parameters, for level-of-detail collision detection.
130
+ void setConvexConvexMultipointIterations(int numPerturbationIterations=3, int minimumPointsPerturbationThreshold = 3);
131
+
132
+ void setPlaneConvexMultipointIterations(int numPerturbationIterations=3, int minimumPointsPerturbationThreshold = 3);
133
+
134
+ };
135
+
136
+ #endif //BT_DEFAULT_COLLISION_CONFIGURATION
137
+
@@ -0,0 +1,54 @@
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_EMPTY_ALGORITH
17
+ #define BT_EMPTY_ALGORITH
18
+ #include "BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h"
19
+ #include "btCollisionCreateFunc.h"
20
+ #include "btCollisionDispatcher.h"
21
+
22
+ #define ATTRIBUTE_ALIGNED(a)
23
+
24
+ ///EmptyAlgorithm is a stub for unsupported collision pairs.
25
+ ///The dispatcher can dispatch a persistent btEmptyAlgorithm to avoid a search every frame.
26
+ class btEmptyAlgorithm : public btCollisionAlgorithm
27
+ {
28
+
29
+ public:
30
+
31
+ btEmptyAlgorithm(const btCollisionAlgorithmConstructionInfo& ci);
32
+
33
+ virtual void processCollision (btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
34
+
35
+ virtual btScalar calculateTimeOfImpact(btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut);
36
+
37
+ virtual void getAllContactManifolds(btManifoldArray& manifoldArray)
38
+ {
39
+ }
40
+
41
+ struct CreateFunc :public btCollisionAlgorithmCreateFunc
42
+ {
43
+ virtual btCollisionAlgorithm* CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo& ci, btCollisionObject* body0,btCollisionObject* body1)
44
+ {
45
+ (void)body0;
46
+ (void)body1;
47
+ void* mem = ci.m_dispatcher1->allocateCollisionAlgorithm(sizeof(btEmptyAlgorithm));
48
+ return new(mem) btEmptyAlgorithm(ci);
49
+ }
50
+ };
51
+
52
+ } ATTRIBUTE_ALIGNED(16);
53
+
54
+ #endif //BT_EMPTY_ALGORITH
@@ -0,0 +1,175 @@
1
+ /*
2
+ Bullet Continuous Collision Detection and Physics Library
3
+ Copyright (c) 2003-2008 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_GHOST_OBJECT_H
17
+ #define BT_GHOST_OBJECT_H
18
+
19
+
20
+ #include "btCollisionObject.h"
21
+ #include "BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h"
22
+ #include "LinearMath/btAlignedAllocator.h"
23
+ #include "BulletCollision/BroadphaseCollision/btOverlappingPairCache.h"
24
+ #include "btCollisionWorld.h"
25
+
26
+ class btConvexShape;
27
+
28
+ class btDispatcher;
29
+
30
+ ///The btGhostObject can keep track of all objects that are overlapping
31
+ ///By default, this overlap is based on the AABB
32
+ ///This is useful for creating a character controller, collision sensors/triggers, explosions etc.
33
+ ///We plan on adding rayTest and other queries for the btGhostObject
34
+ ATTRIBUTE_ALIGNED16(class) btGhostObject : public btCollisionObject
35
+ {
36
+ protected:
37
+
38
+ btAlignedObjectArray<btCollisionObject*> m_overlappingObjects;
39
+
40
+ public:
41
+
42
+ btGhostObject();
43
+
44
+ virtual ~btGhostObject();
45
+
46
+ void convexSweepTest(const class btConvexShape* castShape, const btTransform& convexFromWorld, const btTransform& convexToWorld, btCollisionWorld::ConvexResultCallback& resultCallback, btScalar allowedCcdPenetration = 0.f) const;
47
+
48
+ void rayTest(const btVector3& rayFromWorld, const btVector3& rayToWorld, btCollisionWorld::RayResultCallback& resultCallback) const;
49
+
50
+ ///this method is mainly for expert/internal use only.
51
+ virtual void addOverlappingObjectInternal(btBroadphaseProxy* otherProxy, btBroadphaseProxy* thisProxy=0);
52
+ ///this method is mainly for expert/internal use only.
53
+ virtual void removeOverlappingObjectInternal(btBroadphaseProxy* otherProxy,btDispatcher* dispatcher,btBroadphaseProxy* thisProxy=0);
54
+
55
+ int getNumOverlappingObjects() const
56
+ {
57
+ return m_overlappingObjects.size();
58
+ }
59
+
60
+ btCollisionObject* getOverlappingObject(int index)
61
+ {
62
+ return m_overlappingObjects[index];
63
+ }
64
+
65
+ const btCollisionObject* getOverlappingObject(int index) const
66
+ {
67
+ return m_overlappingObjects[index];
68
+ }
69
+
70
+ btAlignedObjectArray<btCollisionObject*>& getOverlappingPairs()
71
+ {
72
+ return m_overlappingObjects;
73
+ }
74
+
75
+ const btAlignedObjectArray<btCollisionObject*> getOverlappingPairs() const
76
+ {
77
+ return m_overlappingObjects;
78
+ }
79
+
80
+ //
81
+ // internal cast
82
+ //
83
+
84
+ static const btGhostObject* upcast(const btCollisionObject* colObj)
85
+ {
86
+ if (colObj->getInternalType()==CO_GHOST_OBJECT)
87
+ return (const btGhostObject*)colObj;
88
+ return 0;
89
+ }
90
+ static btGhostObject* upcast(btCollisionObject* colObj)
91
+ {
92
+ if (colObj->getInternalType()==CO_GHOST_OBJECT)
93
+ return (btGhostObject*)colObj;
94
+ return 0;
95
+ }
96
+
97
+ };
98
+
99
+ class btPairCachingGhostObject : public btGhostObject
100
+ {
101
+ btHashedOverlappingPairCache* m_hashPairCache;
102
+
103
+ public:
104
+
105
+ btPairCachingGhostObject();
106
+
107
+ virtual ~btPairCachingGhostObject();
108
+
109
+ ///this method is mainly for expert/internal use only.
110
+ virtual void addOverlappingObjectInternal(btBroadphaseProxy* otherProxy, btBroadphaseProxy* thisProxy=0);
111
+
112
+ virtual void removeOverlappingObjectInternal(btBroadphaseProxy* otherProxy,btDispatcher* dispatcher,btBroadphaseProxy* thisProxy=0);
113
+
114
+ btHashedOverlappingPairCache* getOverlappingPairCache()
115
+ {
116
+ return m_hashPairCache;
117
+ }
118
+
119
+ };
120
+
121
+
122
+
123
+ ///The btGhostPairCallback interfaces and forwards adding and removal of overlapping pairs from the btBroadphaseInterface to btGhostObject.
124
+ class btGhostPairCallback : public btOverlappingPairCallback
125
+ {
126
+
127
+ public:
128
+ btGhostPairCallback()
129
+ {
130
+ }
131
+
132
+ virtual ~btGhostPairCallback()
133
+ {
134
+
135
+ }
136
+
137
+ virtual btBroadphasePair* addOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1)
138
+ {
139
+ btCollisionObject* colObj0 = (btCollisionObject*) proxy0->m_clientObject;
140
+ btCollisionObject* colObj1 = (btCollisionObject*) proxy1->m_clientObject;
141
+ btGhostObject* ghost0 = btGhostObject::upcast(colObj0);
142
+ btGhostObject* ghost1 = btGhostObject::upcast(colObj1);
143
+ if (ghost0)
144
+ ghost0->addOverlappingObjectInternal(proxy1, proxy0);
145
+ if (ghost1)
146
+ ghost1->addOverlappingObjectInternal(proxy0, proxy1);
147
+ return 0;
148
+ }
149
+
150
+ virtual void* removeOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1,btDispatcher* dispatcher)
151
+ {
152
+ btCollisionObject* colObj0 = (btCollisionObject*) proxy0->m_clientObject;
153
+ btCollisionObject* colObj1 = (btCollisionObject*) proxy1->m_clientObject;
154
+ btGhostObject* ghost0 = btGhostObject::upcast(colObj0);
155
+ btGhostObject* ghost1 = btGhostObject::upcast(colObj1);
156
+ if (ghost0)
157
+ ghost0->removeOverlappingObjectInternal(proxy1,dispatcher,proxy0);
158
+ if (ghost1)
159
+ ghost1->removeOverlappingObjectInternal(proxy0,dispatcher,proxy1);
160
+ return 0;
161
+ }
162
+
163
+ virtual void removeOverlappingPairsContainingProxy(btBroadphaseProxy* /*proxy0*/,btDispatcher* /*dispatcher*/)
164
+ {
165
+ btAssert(0);
166
+ //need to keep track of all ghost objects and call them here
167
+ //m_hashPairCache->removeOverlappingPairsContainingProxy(proxy0,dispatcher);
168
+ }
169
+
170
+
171
+
172
+ };
173
+
174
+ #endif
175
+