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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (284) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +3 -0
  3. data/Rakefile +14 -2
  4. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +2 -2
  5. data/bindings/bullet/interface/bullet_wrap.cpp +17548 -6035
  6. data/bindings/bullet/interface/bullet_wrap.h +7 -7
  7. data/bindings/bullet/interface/bullet_wrap.o +0 -0
  8. data/lib/bullet.so +0 -0
  9. data/lib/ruby-bullet/version.rb +1 -1
  10. data/ruby-bullet.gemspec +0 -3
  11. metadata +169 -444
  12. data/deps/include/bullet/Bullet-C-Api.h +0 -176
  13. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.h +0 -1051
  14. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h +0 -82
  15. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +0 -270
  16. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +0 -80
  17. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvt.h +0 -1257
  18. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h +0 -146
  19. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDispatcher.h +0 -110
  20. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h +0 -151
  21. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +0 -469
  22. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h +0 -40
  23. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.h +0 -579
  24. data/deps/include/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +0 -171
  25. data/deps/include/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.h +0 -51
  26. data/deps/include/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h +0 -36
  27. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h +0 -66
  28. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h +0 -66
  29. data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.h +0 -44
  30. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +0 -48
  31. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h +0 -45
  32. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.h +0 -172
  33. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionObject.h +0 -524
  34. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h +0 -509
  35. data/deps/include/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h +0 -86
  36. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h +0 -95
  37. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h +0 -116
  38. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h +0 -109
  39. data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h +0 -84
  40. data/deps/include/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +0 -137
  41. data/deps/include/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h +0 -54
  42. data/deps/include/bullet/BulletCollision/CollisionDispatch/btGhostObject.h +0 -175
  43. data/deps/include/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h +0 -46
  44. data/deps/include/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h +0 -128
  45. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.h +0 -81
  46. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h +0 -75
  47. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h +0 -66
  48. data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h +0 -69
  49. data/deps/include/bullet/BulletCollision/CollisionDispatch/btUnionFind.h +0 -129
  50. data/deps/include/bullet/BulletCollision/CollisionShapes/btBox2dShape.h +0 -369
  51. data/deps/include/bullet/BulletCollision/CollisionShapes/btBoxShape.h +0 -312
  52. data/deps/include/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +0 -139
  53. data/deps/include/bullet/BulletCollision/CollisionShapes/btCapsuleShape.h +0 -173
  54. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionMargin.h +0 -27
  55. data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionShape.h +0 -150
  56. data/deps/include/bullet/BulletCollision/CollisionShapes/btCompoundShape.h +0 -212
  57. data/deps/include/bullet/BulletCollision/CollisionShapes/btConcaveShape.h +0 -60
  58. data/deps/include/bullet/BulletCollision/CollisionShapes/btConeShape.h +0 -103
  59. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvex2dShape.h +0 -80
  60. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h +0 -122
  61. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.h +0 -224
  62. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.h +0 -105
  63. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.h +0 -62
  64. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexShape.h +0 -84
  65. data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +0 -75
  66. data/deps/include/bullet/BulletCollision/CollisionShapes/btCylinderShape.h +0 -200
  67. data/deps/include/bullet/BulletCollision/CollisionShapes/btEmptyShape.h +0 -70
  68. data/deps/include/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +0 -161
  69. data/deps/include/bullet/BulletCollision/CollisionShapes/btMaterial.h +0 -35
  70. data/deps/include/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +0 -60
  71. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.h +0 -99
  72. data/deps/include/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h +0 -120
  73. data/deps/include/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.h +0 -65
  74. data/deps/include/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +0 -112
  75. data/deps/include/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h +0 -93
  76. data/deps/include/bullet/BulletCollision/CollisionShapes/btShapeHull.h +0 -59
  77. data/deps/include/bullet/BulletCollision/CollisionShapes/btSphereShape.h +0 -73
  78. data/deps/include/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.h +0 -103
  79. data/deps/include/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.h +0 -162
  80. data/deps/include/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.h +0 -74
  81. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.h +0 -69
  82. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleCallback.h +0 -42
  83. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h +0 -133
  84. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h +0 -84
  85. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleInfoMap.h +0 -241
  86. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMesh.h +0 -69
  87. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.h +0 -89
  88. data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleShape.h +0 -182
  89. data/deps/include/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.h +0 -87
  90. data/deps/include/bullet/BulletCollision/Gimpact/btBoxCollision.h +0 -647
  91. data/deps/include/bullet/BulletCollision/Gimpact/btClipPolygon.h +0 -182
  92. data/deps/include/bullet/BulletCollision/Gimpact/btContactProcessing.h +0 -145
  93. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactBvh.h +0 -396
  94. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h +0 -306
  95. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactMassUtil.h +0 -60
  96. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.h +0 -372
  97. data/deps/include/bullet/BulletCollision/Gimpact/btGImpactShape.h +0 -1171
  98. data/deps/include/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +0 -163
  99. data/deps/include/bullet/BulletCollision/Gimpact/btGeometryOperations.h +0 -212
  100. data/deps/include/bullet/BulletCollision/Gimpact/btQuantization.h +0 -88
  101. data/deps/include/bullet/BulletCollision/Gimpact/btTriangleShapeEx.h +0 -180
  102. data/deps/include/bullet/BulletCollision/Gimpact/gim_array.h +0 -326
  103. data/deps/include/bullet/BulletCollision/Gimpact/gim_basic_geometry_operations.h +0 -543
  104. data/deps/include/bullet/BulletCollision/Gimpact/gim_bitset.h +0 -123
  105. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_collision.h +0 -590
  106. data/deps/include/bullet/BulletCollision/Gimpact/gim_box_set.h +0 -674
  107. data/deps/include/bullet/BulletCollision/Gimpact/gim_clip_polygon.h +0 -210
  108. data/deps/include/bullet/BulletCollision/Gimpact/gim_contact.h +0 -164
  109. data/deps/include/bullet/BulletCollision/Gimpact/gim_geom_types.h +0 -97
  110. data/deps/include/bullet/BulletCollision/Gimpact/gim_geometry.h +0 -42
  111. data/deps/include/bullet/BulletCollision/Gimpact/gim_hash_table.h +0 -902
  112. data/deps/include/bullet/BulletCollision/Gimpact/gim_linear_math.h +0 -1573
  113. data/deps/include/bullet/BulletCollision/Gimpact/gim_math.h +0 -157
  114. data/deps/include/bullet/BulletCollision/Gimpact/gim_memory.h +0 -190
  115. data/deps/include/bullet/BulletCollision/Gimpact/gim_radixsort.h +0 -406
  116. data/deps/include/bullet/BulletCollision/Gimpact/gim_tri_collision.h +0 -379
  117. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h +0 -59
  118. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.h +0 -73
  119. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h +0 -42
  120. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h +0 -91
  121. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h +0 -50
  122. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h +0 -75
  123. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h +0 -43
  124. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h +0 -103
  125. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +0 -158
  126. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h +0 -40
  127. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h +0 -228
  128. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPointCollector.h +0 -64
  129. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h +0 -46
  130. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h +0 -72
  131. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h +0 -63
  132. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h +0 -50
  133. data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h +0 -179
  134. data/deps/include/bullet/BulletCollision/btBulletCollisionCommon.h +0 -69
  135. data/deps/include/bullet/BulletDynamics/Character/btCharacterControllerInterface.h +0 -46
  136. data/deps/include/bullet/BulletDynamics/Character/btKinematicCharacterController.h +0 -163
  137. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h +0 -346
  138. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConstraintSolver.h +0 -52
  139. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.h +0 -71
  140. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactSolverInfo.h +0 -87
  141. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h +0 -614
  142. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h +0 -99
  143. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.h +0 -58
  144. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.h +0 -381
  145. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btJacobianEntry.h +0 -156
  146. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h +0 -161
  147. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +0 -130
  148. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.h +0 -333
  149. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h +0 -107
  150. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h +0 -191
  151. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverConstraint.h +0 -98
  152. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.h +0 -452
  153. data/deps/include/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.h +0 -62
  154. data/deps/include/bullet/BulletDynamics/Dynamics/btActionInterface.h +0 -46
  155. data/deps/include/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h +0 -203
  156. data/deps/include/bullet/BulletDynamics/Dynamics/btDynamicsWorld.h +0 -151
  157. data/deps/include/bullet/BulletDynamics/Dynamics/btRigidBody.h +0 -691
  158. data/deps/include/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h +0 -89
  159. data/deps/include/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h +0 -236
  160. data/deps/include/bullet/BulletDynamics/Vehicle/btVehicleRaycaster.h +0 -35
  161. data/deps/include/bullet/BulletDynamics/Vehicle/btWheelInfo.h +0 -119
  162. data/deps/include/bullet/BulletDynamics/btBulletDynamicsCommon.h +0 -48
  163. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverBuffer_DX11.h +0 -323
  164. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11.h +0 -103
  165. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11SIMDAware.h +0 -173
  166. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverTriangleData_DX11.h +0 -96
  167. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexBuffer_DX11.h +0 -107
  168. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexData_DX11.h +0 -63
  169. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11.h +0 -691
  170. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11SIMDAware.h +0 -81
  171. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverBuffer_OpenCL.h +0 -209
  172. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCL.h +0 -99
  173. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCLSIMDAware.h +0 -169
  174. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverOutputCLtoGL.h +0 -62
  175. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverTriangleData_OpenCL.h +0 -84
  176. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexBuffer_OpenGL.h +0 -166
  177. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexData_OpenCL.h +0 -52
  178. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCL.h +0 -527
  179. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCLSIMDAware.h +0 -81
  180. data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h +0 -748
  181. data/deps/include/bullet/BulletMultiThreaded/HeapManager.h +0 -117
  182. data/deps/include/bullet/BulletMultiThreaded/PlatformDefinitions.h +0 -99
  183. data/deps/include/bullet/BulletMultiThreaded/PosixThreadSupport.h +0 -142
  184. data/deps/include/bullet/BulletMultiThreaded/PpuAddressSpace.h +0 -37
  185. data/deps/include/bullet/BulletMultiThreaded/SequentialThreadSupport.h +0 -96
  186. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionObjectWrapper.h +0 -40
  187. data/deps/include/bullet/BulletMultiThreaded/SpuCollisionTaskProcess.h +0 -163
  188. data/deps/include/bullet/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h +0 -120
  189. data/deps/include/bullet/BulletMultiThreaded/SpuDoubleBuffer.h +0 -126
  190. data/deps/include/bullet/BulletMultiThreaded/SpuFakeDma.h +0 -135
  191. data/deps/include/bullet/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h +0 -72
  192. data/deps/include/bullet/BulletMultiThreaded/SpuLibspe2Support.h +0 -180
  193. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/Box.h +0 -167
  194. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +0 -128
  195. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.h +0 -106
  196. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h +0 -51
  197. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h +0 -140
  198. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuLocalSupport.h +0 -19
  199. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h +0 -48
  200. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h +0 -70
  201. data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.h +0 -65
  202. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.h +0 -54
  203. data/deps/include/bullet/BulletMultiThreaded/SpuSampleTaskProcess.h +0 -153
  204. data/deps/include/bullet/BulletMultiThreaded/SpuSync.h +0 -149
  205. data/deps/include/bullet/BulletMultiThreaded/TrbDynBody.h +0 -79
  206. data/deps/include/bullet/BulletMultiThreaded/TrbStateVec.h +0 -339
  207. data/deps/include/bullet/BulletMultiThreaded/Win32ThreadSupport.h +0 -138
  208. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphase.h +0 -138
  209. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedCode.h +0 -430
  210. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedDefs.h +0 -61
  211. data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedTypes.h +0 -67
  212. data/deps/include/bullet/BulletMultiThreaded/btGpuDefines.h +0 -211
  213. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedCode.h +0 -55
  214. data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedDefs.h +0 -52
  215. data/deps/include/bullet/BulletMultiThreaded/btParallelConstraintSolver.h +0 -285
  216. data/deps/include/bullet/BulletMultiThreaded/btThreadSupportInterface.h +0 -85
  217. data/deps/include/bullet/BulletMultiThreaded/vectormath2bullet.h +0 -73
  218. data/deps/include/bullet/BulletSoftBody/btDefaultSoftBodySolver.h +0 -63
  219. data/deps/include/bullet/BulletSoftBody/btSoftBody.h +0 -987
  220. data/deps/include/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h +0 -153
  221. data/deps/include/bullet/BulletSoftBody/btSoftBodyData.h +0 -217
  222. data/deps/include/bullet/BulletSoftBody/btSoftBodyHelpers.h +0 -143
  223. data/deps/include/bullet/BulletSoftBody/btSoftBodyInternals.h +0 -930
  224. data/deps/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h +0 -48
  225. data/deps/include/bullet/BulletSoftBody/btSoftBodySolverVertexBuffer.h +0 -165
  226. data/deps/include/bullet/BulletSoftBody/btSoftBodySolvers.h +0 -154
  227. data/deps/include/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.h +0 -75
  228. data/deps/include/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.h +0 -107
  229. data/deps/include/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.h +0 -69
  230. data/deps/include/bullet/BulletSoftBody/btSparseSDF.h +0 -306
  231. data/deps/include/bullet/LinearMath/btAabbUtil2.h +0 -236
  232. data/deps/include/bullet/LinearMath/btAlignedAllocator.h +0 -107
  233. data/deps/include/bullet/LinearMath/btAlignedObjectArray.h +0 -494
  234. data/deps/include/bullet/LinearMath/btConvexHull.h +0 -241
  235. data/deps/include/bullet/LinearMath/btConvexHullComputer.h +0 -103
  236. data/deps/include/bullet/LinearMath/btDefaultMotionState.h +0 -40
  237. data/deps/include/bullet/LinearMath/btGeometryUtil.h +0 -42
  238. data/deps/include/bullet/LinearMath/btGrahamScan2dConvexHull.h +0 -110
  239. data/deps/include/bullet/LinearMath/btHashMap.h +0 -450
  240. data/deps/include/bullet/LinearMath/btIDebugDraw.h +0 -418
  241. data/deps/include/bullet/LinearMath/btList.h +0 -73
  242. data/deps/include/bullet/LinearMath/btMatrix3x3.h +0 -771
  243. data/deps/include/bullet/LinearMath/btMinMax.h +0 -71
  244. data/deps/include/bullet/LinearMath/btMotionState.h +0 -40
  245. data/deps/include/bullet/LinearMath/btPoolAllocator.h +0 -121
  246. data/deps/include/bullet/LinearMath/btQuadWord.h +0 -180
  247. data/deps/include/bullet/LinearMath/btQuaternion.h +0 -430
  248. data/deps/include/bullet/LinearMath/btQuickprof.h +0 -203
  249. data/deps/include/bullet/LinearMath/btRandom.h +0 -42
  250. data/deps/include/bullet/LinearMath/btScalar.h +0 -539
  251. data/deps/include/bullet/LinearMath/btSerializer.h +0 -639
  252. data/deps/include/bullet/LinearMath/btStackAlloc.h +0 -116
  253. data/deps/include/bullet/LinearMath/btTransform.h +0 -307
  254. data/deps/include/bullet/LinearMath/btTransformUtil.h +0 -228
  255. data/deps/include/bullet/LinearMath/btVector3.h +0 -766
  256. data/deps/include/bullet/MiniCL/MiniCLTask/MiniCLTask.h +0 -62
  257. data/deps/include/bullet/MiniCL/MiniCLTaskScheduler.h +0 -194
  258. data/deps/include/bullet/MiniCL/cl.h +0 -867
  259. data/deps/include/bullet/MiniCL/cl_MiniCL_Defs.h +0 -439
  260. data/deps/include/bullet/MiniCL/cl_gl.h +0 -113
  261. data/deps/include/bullet/MiniCL/cl_platform.h +0 -254
  262. data/deps/include/bullet/btBulletCollisionCommon.h +0 -69
  263. data/deps/include/bullet/btBulletDynamicsCommon.h +0 -48
  264. data/deps/include/bullet/vectormath/scalar/boolInVec.h +0 -225
  265. data/deps/include/bullet/vectormath/scalar/floatInVec.h +0 -343
  266. data/deps/include/bullet/vectormath/scalar/mat_aos.h +0 -1630
  267. data/deps/include/bullet/vectormath/scalar/quat_aos.h +0 -433
  268. data/deps/include/bullet/vectormath/scalar/vec_aos.h +0 -1426
  269. data/deps/include/bullet/vectormath/scalar/vectormath_aos.h +0 -1872
  270. data/deps/include/bullet/vectormath/sse/boolInVec.h +0 -247
  271. data/deps/include/bullet/vectormath/sse/floatInVec.h +0 -340
  272. data/deps/include/bullet/vectormath/sse/mat_aos.h +0 -2190
  273. data/deps/include/bullet/vectormath/sse/quat_aos.h +0 -579
  274. data/deps/include/bullet/vectormath/sse/vec_aos.h +0 -1455
  275. data/deps/include/bullet/vectormath/sse/vecidx_aos.h +0 -80
  276. data/deps/include/bullet/vectormath/sse/vectormath_aos.h +0 -2547
  277. data/deps/include/bullet/vectormath/vmInclude.h +0 -27
  278. data/deps/lib/libBulletCollision.a +0 -0
  279. data/deps/lib/libBulletDynamics.a +0 -0
  280. data/deps/lib/libBulletMultiThreaded.a +0 -0
  281. data/deps/lib/libBulletSoftBody.a +0 -0
  282. data/deps/lib/libBulletSoftBodySolvers_OpenCL_Mini.a +0 -0
  283. data/deps/lib/libLinearMath.a +0 -0
  284. data/deps/lib/libMiniCL.a +0 -0
@@ -1,75 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2008 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
7
- use of this software.
8
- Permission is granted to anyone to use this software for any purpose,
9
- including commercial applications, and to alter it and redistribute it
10
- freely,
11
- subject to the following restrictions:
12
-
13
- 1. The origin of this software must not be misrepresented; you must not
14
- claim that you wrote the original software. If you use this software in a
15
- product, an acknowledgment in the product documentation would be appreciated
16
- but is not required.
17
- 2. Altered source versions must be plainly marked as such, and must not be
18
- misrepresented as being the original software.
19
- 3. This notice may not be removed or altered from any source distribution.
20
- */
21
-
22
- /*
23
- GJK-EPA collision solver by Nathanael Presson, 2008
24
- */
25
- #ifndef BT_GJK_EPA2_H
26
- #define BT_GJK_EPA2_H
27
-
28
- #include "BulletCollision/CollisionShapes/btConvexShape.h"
29
-
30
- ///btGjkEpaSolver contributed under zlib by Nathanael Presson
31
- struct btGjkEpaSolver2
32
- {
33
- struct sResults
34
- {
35
- enum eStatus
36
- {
37
- Separated, /* Shapes doesnt penetrate */
38
- Penetrating, /* Shapes are penetrating */
39
- GJK_Failed, /* GJK phase fail, no big issue, shapes are probably just 'touching' */
40
- EPA_Failed /* EPA phase fail, bigger problem, need to save parameters, and debug */
41
- } status;
42
- btVector3 witnesses[2];
43
- btVector3 normal;
44
- btScalar distance;
45
- };
46
-
47
- static int StackSizeRequirement();
48
-
49
- static bool Distance( const btConvexShape* shape0,const btTransform& wtrs0,
50
- const btConvexShape* shape1,const btTransform& wtrs1,
51
- const btVector3& guess,
52
- sResults& results);
53
-
54
- static bool Penetration(const btConvexShape* shape0,const btTransform& wtrs0,
55
- const btConvexShape* shape1,const btTransform& wtrs1,
56
- const btVector3& guess,
57
- sResults& results,
58
- bool usemargins=true);
59
- #ifndef __SPU__
60
- static btScalar SignedDistance( const btVector3& position,
61
- btScalar margin,
62
- const btConvexShape* shape,
63
- const btTransform& wtrs,
64
- sResults& results);
65
-
66
- static bool SignedDistance( const btConvexShape* shape0,const btTransform& wtrs0,
67
- const btConvexShape* shape1,const btTransform& wtrs1,
68
- const btVector3& guess,
69
- sResults& results);
70
- #endif //__SPU__
71
-
72
- };
73
-
74
- #endif //BT_GJK_EPA2_H
75
-
@@ -1,43 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- EPA Copyright (c) Ricardo Padrela 2006
6
-
7
- This software is provided 'as-is', without any express or implied warranty.
8
- In no event will the authors be held liable for any damages arising from the use of this software.
9
- Permission is granted to anyone to use this software for any purpose,
10
- including commercial applications, and to alter it and redistribute it freely,
11
- subject to the following restrictions:
12
-
13
- 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.
14
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
15
- 3. This notice may not be removed or altered from any source distribution.
16
- */
17
- #ifndef BT_GJP_EPA_PENETRATION_DEPTH_H
18
- #define BT_GJP_EPA_PENETRATION_DEPTH_H
19
-
20
- #include "btConvexPenetrationDepthSolver.h"
21
-
22
- ///EpaPenetrationDepthSolver uses the Expanding Polytope Algorithm to
23
- ///calculate the penetration depth between two convex shapes.
24
- class btGjkEpaPenetrationDepthSolver : public btConvexPenetrationDepthSolver
25
- {
26
- public :
27
-
28
- btGjkEpaPenetrationDepthSolver()
29
- {
30
- }
31
-
32
- bool calcPenDepth( btSimplexSolverInterface& simplexSolver,
33
- const btConvexShape* pConvexA, const btConvexShape* pConvexB,
34
- const btTransform& transformA, const btTransform& transformB,
35
- btVector3& v, btVector3& wWitnessOnA, btVector3& wWitnessOnB,
36
- class btIDebugDraw* debugDraw,btStackAlloc* stackAlloc );
37
-
38
- private :
39
-
40
- };
41
-
42
- #endif // BT_GJP_EPA_PENETRATION_DEPTH_H
43
-
@@ -1,103 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
-
16
-
17
-
18
-
19
- #ifndef BT_GJK_PAIR_DETECTOR_H
20
- #define BT_GJK_PAIR_DETECTOR_H
21
-
22
- #include "btDiscreteCollisionDetectorInterface.h"
23
- #include "BulletCollision/CollisionShapes/btCollisionMargin.h"
24
-
25
- class btConvexShape;
26
- #include "btSimplexSolverInterface.h"
27
- class btConvexPenetrationDepthSolver;
28
-
29
- /// btGjkPairDetector uses GJK to implement the btDiscreteCollisionDetectorInterface
30
- class btGjkPairDetector : public btDiscreteCollisionDetectorInterface
31
- {
32
-
33
-
34
- btVector3 m_cachedSeparatingAxis;
35
- btConvexPenetrationDepthSolver* m_penetrationDepthSolver;
36
- btSimplexSolverInterface* m_simplexSolver;
37
- const btConvexShape* m_minkowskiA;
38
- const btConvexShape* m_minkowskiB;
39
- int m_shapeTypeA;
40
- int m_shapeTypeB;
41
- btScalar m_marginA;
42
- btScalar m_marginB;
43
-
44
- bool m_ignoreMargin;
45
- btScalar m_cachedSeparatingDistance;
46
-
47
-
48
- public:
49
-
50
- //some debugging to fix degeneracy problems
51
- int m_lastUsedMethod;
52
- int m_curIter;
53
- int m_degenerateSimplex;
54
- int m_catchDegeneracies;
55
-
56
-
57
- btGjkPairDetector(const btConvexShape* objectA,const btConvexShape* objectB,btSimplexSolverInterface* simplexSolver,btConvexPenetrationDepthSolver* penetrationDepthSolver);
58
- btGjkPairDetector(const btConvexShape* objectA,const btConvexShape* objectB,int shapeTypeA,int shapeTypeB,btScalar marginA, btScalar marginB, btSimplexSolverInterface* simplexSolver,btConvexPenetrationDepthSolver* penetrationDepthSolver);
59
- virtual ~btGjkPairDetector() {};
60
-
61
- virtual void getClosestPoints(const ClosestPointInput& input,Result& output,class btIDebugDraw* debugDraw,bool swapResults=false);
62
-
63
- void getClosestPointsNonVirtual(const ClosestPointInput& input,Result& output,class btIDebugDraw* debugDraw);
64
-
65
-
66
- void setMinkowskiA(btConvexShape* minkA)
67
- {
68
- m_minkowskiA = minkA;
69
- }
70
-
71
- void setMinkowskiB(btConvexShape* minkB)
72
- {
73
- m_minkowskiB = minkB;
74
- }
75
- void setCachedSeperatingAxis(const btVector3& seperatingAxis)
76
- {
77
- m_cachedSeparatingAxis = seperatingAxis;
78
- }
79
-
80
- const btVector3& getCachedSeparatingAxis() const
81
- {
82
- return m_cachedSeparatingAxis;
83
- }
84
- btScalar getCachedSeparatingDistance() const
85
- {
86
- return m_cachedSeparatingDistance;
87
- }
88
-
89
- void setPenetrationDepthSolver(btConvexPenetrationDepthSolver* penetrationDepthSolver)
90
- {
91
- m_penetrationDepthSolver = penetrationDepthSolver;
92
- }
93
-
94
- ///don't use setIgnoreMargin, it's for Bullet's internal use
95
- void setIgnoreMargin(bool ignoreMargin)
96
- {
97
- m_ignoreMargin = ignoreMargin;
98
- }
99
-
100
-
101
- };
102
-
103
- #endif //BT_GJK_PAIR_DETECTOR_H
@@ -1,158 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
-
16
- #ifndef BT_MANIFOLD_CONTACT_POINT_H
17
- #define BT_MANIFOLD_CONTACT_POINT_H
18
-
19
- #include "LinearMath/btVector3.h"
20
- #include "LinearMath/btTransformUtil.h"
21
-
22
- #ifdef PFX_USE_FREE_VECTORMATH
23
- #include "physics_effects/base_level/solver/pfx_constraint_row.h"
24
- typedef sce::PhysicsEffects::PfxConstraintRow btConstraintRow;
25
- #else
26
- // Don't change following order of parameters
27
- ATTRIBUTE_ALIGNED16(struct) btConstraintRow {
28
- btScalar m_normal[3];
29
- btScalar m_rhs;
30
- btScalar m_jacDiagInv;
31
- btScalar m_lowerLimit;
32
- btScalar m_upperLimit;
33
- btScalar m_accumImpulse;
34
- };
35
- typedef btConstraintRow PfxConstraintRow;
36
- #endif //PFX_USE_FREE_VECTORMATH
37
-
38
-
39
-
40
- /// ManifoldContactPoint collects and maintains persistent contactpoints.
41
- /// used to improve stability and performance of rigidbody dynamics response.
42
- class btManifoldPoint
43
- {
44
- public:
45
- btManifoldPoint()
46
- :m_userPersistentData(0),
47
- m_appliedImpulse(0.f),
48
- m_lateralFrictionInitialized(false),
49
- m_appliedImpulseLateral1(0.f),
50
- m_appliedImpulseLateral2(0.f),
51
- m_contactMotion1(0.f),
52
- m_contactMotion2(0.f),
53
- m_contactCFM1(0.f),
54
- m_contactCFM2(0.f),
55
- m_lifeTime(0)
56
- {
57
- }
58
-
59
- btManifoldPoint( const btVector3 &pointA, const btVector3 &pointB,
60
- const btVector3 &normal,
61
- btScalar distance ) :
62
- m_localPointA( pointA ),
63
- m_localPointB( pointB ),
64
- m_normalWorldOnB( normal ),
65
- m_distance1( distance ),
66
- m_combinedFriction(btScalar(0.)),
67
- m_combinedRestitution(btScalar(0.)),
68
- m_userPersistentData(0),
69
- m_appliedImpulse(0.f),
70
- m_lateralFrictionInitialized(false),
71
- m_appliedImpulseLateral1(0.f),
72
- m_appliedImpulseLateral2(0.f),
73
- m_contactMotion1(0.f),
74
- m_contactMotion2(0.f),
75
- m_contactCFM1(0.f),
76
- m_contactCFM2(0.f),
77
- m_lifeTime(0)
78
- {
79
- mConstraintRow[0].m_accumImpulse = 0.f;
80
- mConstraintRow[1].m_accumImpulse = 0.f;
81
- mConstraintRow[2].m_accumImpulse = 0.f;
82
- }
83
-
84
-
85
-
86
- btVector3 m_localPointA;
87
- btVector3 m_localPointB;
88
- btVector3 m_positionWorldOnB;
89
- ///m_positionWorldOnA is redundant information, see getPositionWorldOnA(), but for clarity
90
- btVector3 m_positionWorldOnA;
91
- btVector3 m_normalWorldOnB;
92
-
93
- btScalar m_distance1;
94
- btScalar m_combinedFriction;
95
- btScalar m_combinedRestitution;
96
-
97
- //BP mod, store contact triangles.
98
- int m_partId0;
99
- int m_partId1;
100
- int m_index0;
101
- int m_index1;
102
-
103
- mutable void* m_userPersistentData;
104
- btScalar m_appliedImpulse;
105
-
106
- bool m_lateralFrictionInitialized;
107
- btScalar m_appliedImpulseLateral1;
108
- btScalar m_appliedImpulseLateral2;
109
- btScalar m_contactMotion1;
110
- btScalar m_contactMotion2;
111
- btScalar m_contactCFM1;
112
- btScalar m_contactCFM2;
113
-
114
- int m_lifeTime;//lifetime of the contactpoint in frames
115
-
116
- btVector3 m_lateralFrictionDir1;
117
- btVector3 m_lateralFrictionDir2;
118
-
119
-
120
-
121
- btConstraintRow mConstraintRow[3];
122
-
123
-
124
- btScalar getDistance() const
125
- {
126
- return m_distance1;
127
- }
128
- int getLifeTime() const
129
- {
130
- return m_lifeTime;
131
- }
132
-
133
- const btVector3& getPositionWorldOnA() const {
134
- return m_positionWorldOnA;
135
- // return m_positionWorldOnB + m_normalWorldOnB * m_distance1;
136
- }
137
-
138
- const btVector3& getPositionWorldOnB() const
139
- {
140
- return m_positionWorldOnB;
141
- }
142
-
143
- void setDistance(btScalar dist)
144
- {
145
- m_distance1 = dist;
146
- }
147
-
148
- ///this returns the most recent applied impulse, to satisfy contact constraints by the constraint solver
149
- btScalar getAppliedImpulse() const
150
- {
151
- return m_appliedImpulse;
152
- }
153
-
154
-
155
-
156
- };
157
-
158
- #endif //BT_MANIFOLD_CONTACT_POINT_H
@@ -1,40 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
-
16
- #ifndef BT_MINKOWSKI_PENETRATION_DEPTH_SOLVER_H
17
- #define BT_MINKOWSKI_PENETRATION_DEPTH_SOLVER_H
18
-
19
- #include "btConvexPenetrationDepthSolver.h"
20
-
21
- ///MinkowskiPenetrationDepthSolver implements bruteforce penetration depth estimation.
22
- ///Implementation is based on sampling the depth using support mapping, and using GJK step to get the witness points.
23
- class btMinkowskiPenetrationDepthSolver : public btConvexPenetrationDepthSolver
24
- {
25
- protected:
26
-
27
- static btVector3* getPenetrationDirections();
28
-
29
- public:
30
-
31
- virtual bool calcPenDepth( btSimplexSolverInterface& simplexSolver,
32
- const btConvexShape* convexA,const btConvexShape* convexB,
33
- const btTransform& transA,const btTransform& transB,
34
- btVector3& v, btVector3& pa, btVector3& pb,
35
- class btIDebugDraw* debugDraw,btStackAlloc* stackAlloc
36
- );
37
- };
38
-
39
- #endif //BT_MINKOWSKI_PENETRATION_DEPTH_SOLVER_H
40
-
@@ -1,228 +0,0 @@
1
- /*
2
- Bullet Continuous Collision Detection and Physics Library
3
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
4
-
5
- This software is provided 'as-is', without any express or implied warranty.
6
- In no event will the authors be held liable for any damages arising from the use of this software.
7
- Permission is granted to anyone to use this software for any purpose,
8
- including commercial applications, and to alter it and redistribute it freely,
9
- subject to the following restrictions:
10
-
11
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
12
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
- 3. This notice may not be removed or altered from any source distribution.
14
- */
15
-
16
- #ifndef BT_PERSISTENT_MANIFOLD_H
17
- #define BT_PERSISTENT_MANIFOLD_H
18
-
19
-
20
- #include "LinearMath/btVector3.h"
21
- #include "LinearMath/btTransform.h"
22
- #include "btManifoldPoint.h"
23
- #include "LinearMath/btAlignedAllocator.h"
24
-
25
- struct btCollisionResult;
26
-
27
- ///maximum contact breaking and merging threshold
28
- extern btScalar gContactBreakingThreshold;
29
-
30
- typedef bool (*ContactDestroyedCallback)(void* userPersistentData);
31
- typedef bool (*ContactProcessedCallback)(btManifoldPoint& cp,void* body0,void* body1);
32
- extern ContactDestroyedCallback gContactDestroyedCallback;
33
- extern ContactProcessedCallback gContactProcessedCallback;
34
-
35
- //the enum starts at 1024 to avoid type conflicts with btTypedConstraint
36
- enum btContactManifoldTypes
37
- {
38
- MIN_CONTACT_MANIFOLD_TYPE = 1024,
39
- BT_PERSISTENT_MANIFOLD_TYPE
40
- };
41
-
42
- #define MANIFOLD_CACHE_SIZE 4
43
-
44
- ///btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping in the broadphase.
45
- ///Those contact points are created by the collision narrow phase.
46
- ///The cache can be empty, or hold 1,2,3 or 4 points. Some collision algorithms (GJK) might only add one point at a time.
47
- ///updates/refreshes old contact points, and throw them away if necessary (distance becomes too large)
48
- ///reduces the cache to 4 points, when more then 4 points are added, using following rules:
49
- ///the contact point with deepest penetration is always kept, and it tries to maximuze the area covered by the points
50
- ///note that some pairs of objects might have more then one contact manifold.
51
-
52
-
53
- ATTRIBUTE_ALIGNED128( class) btPersistentManifold : public btTypedObject
54
- //ATTRIBUTE_ALIGNED16( class) btPersistentManifold : public btTypedObject
55
- {
56
-
57
- btManifoldPoint m_pointCache[MANIFOLD_CACHE_SIZE];
58
-
59
- /// this two body pointers can point to the physics rigidbody class.
60
- /// void* will allow any rigidbody class
61
- void* m_body0;
62
- void* m_body1;
63
-
64
- int m_cachedPoints;
65
-
66
- btScalar m_contactBreakingThreshold;
67
- btScalar m_contactProcessingThreshold;
68
-
69
-
70
- /// sort cached points so most isolated points come first
71
- int sortCachedPoints(const btManifoldPoint& pt);
72
-
73
- int findContactPoint(const btManifoldPoint* unUsed, int numUnused,const btManifoldPoint& pt);
74
-
75
- public:
76
-
77
- BT_DECLARE_ALIGNED_ALLOCATOR();
78
-
79
- int m_companionIdA;
80
- int m_companionIdB;
81
-
82
- int m_index1a;
83
-
84
- btPersistentManifold();
85
-
86
- btPersistentManifold(void* body0,void* body1,int , btScalar contactBreakingThreshold,btScalar contactProcessingThreshold)
87
- : btTypedObject(BT_PERSISTENT_MANIFOLD_TYPE),
88
- m_body0(body0),m_body1(body1),m_cachedPoints(0),
89
- m_contactBreakingThreshold(contactBreakingThreshold),
90
- m_contactProcessingThreshold(contactProcessingThreshold)
91
- {
92
- }
93
-
94
- SIMD_FORCE_INLINE void* getBody0() { return m_body0;}
95
- SIMD_FORCE_INLINE void* getBody1() { return m_body1;}
96
-
97
- SIMD_FORCE_INLINE const void* getBody0() const { return m_body0;}
98
- SIMD_FORCE_INLINE const void* getBody1() const { return m_body1;}
99
-
100
- void setBodies(void* body0,void* body1)
101
- {
102
- m_body0 = body0;
103
- m_body1 = body1;
104
- }
105
-
106
- void clearUserCache(btManifoldPoint& pt);
107
-
108
- #ifdef DEBUG_PERSISTENCY
109
- void DebugPersistency();
110
- #endif //
111
-
112
- SIMD_FORCE_INLINE int getNumContacts() const { return m_cachedPoints;}
113
-
114
- SIMD_FORCE_INLINE const btManifoldPoint& getContactPoint(int index) const
115
- {
116
- btAssert(index < m_cachedPoints);
117
- return m_pointCache[index];
118
- }
119
-
120
- SIMD_FORCE_INLINE btManifoldPoint& getContactPoint(int index)
121
- {
122
- btAssert(index < m_cachedPoints);
123
- return m_pointCache[index];
124
- }
125
-
126
- ///@todo: get this margin from the current physics / collision environment
127
- btScalar getContactBreakingThreshold() const;
128
-
129
- btScalar getContactProcessingThreshold() const
130
- {
131
- return m_contactProcessingThreshold;
132
- }
133
-
134
- int getCacheEntry(const btManifoldPoint& newPoint) const;
135
-
136
- int addManifoldPoint( const btManifoldPoint& newPoint);
137
-
138
- void removeContactPoint (int index)
139
- {
140
- clearUserCache(m_pointCache[index]);
141
-
142
- int lastUsedIndex = getNumContacts() - 1;
143
- // m_pointCache[index] = m_pointCache[lastUsedIndex];
144
- if(index != lastUsedIndex)
145
- {
146
- m_pointCache[index] = m_pointCache[lastUsedIndex];
147
- //get rid of duplicated userPersistentData pointer
148
- m_pointCache[lastUsedIndex].m_userPersistentData = 0;
149
- m_pointCache[lastUsedIndex].mConstraintRow[0].m_accumImpulse = 0.f;
150
- m_pointCache[lastUsedIndex].mConstraintRow[1].m_accumImpulse = 0.f;
151
- m_pointCache[lastUsedIndex].mConstraintRow[2].m_accumImpulse = 0.f;
152
-
153
- m_pointCache[lastUsedIndex].m_appliedImpulse = 0.f;
154
- m_pointCache[lastUsedIndex].m_lateralFrictionInitialized = false;
155
- m_pointCache[lastUsedIndex].m_appliedImpulseLateral1 = 0.f;
156
- m_pointCache[lastUsedIndex].m_appliedImpulseLateral2 = 0.f;
157
- m_pointCache[lastUsedIndex].m_lifeTime = 0;
158
- }
159
-
160
- btAssert(m_pointCache[lastUsedIndex].m_userPersistentData==0);
161
- m_cachedPoints--;
162
- }
163
- void replaceContactPoint(const btManifoldPoint& newPoint,int insertIndex)
164
- {
165
- btAssert(validContactDistance(newPoint));
166
-
167
- #define MAINTAIN_PERSISTENCY 1
168
- #ifdef MAINTAIN_PERSISTENCY
169
- int lifeTime = m_pointCache[insertIndex].getLifeTime();
170
- btScalar appliedImpulse = m_pointCache[insertIndex].mConstraintRow[0].m_accumImpulse;
171
- btScalar appliedLateralImpulse1 = m_pointCache[insertIndex].mConstraintRow[1].m_accumImpulse;
172
- btScalar appliedLateralImpulse2 = m_pointCache[insertIndex].mConstraintRow[2].m_accumImpulse;
173
- // bool isLateralFrictionInitialized = m_pointCache[insertIndex].m_lateralFrictionInitialized;
174
-
175
-
176
-
177
- btAssert(lifeTime>=0);
178
- void* cache = m_pointCache[insertIndex].m_userPersistentData;
179
-
180
- m_pointCache[insertIndex] = newPoint;
181
-
182
- m_pointCache[insertIndex].m_userPersistentData = cache;
183
- m_pointCache[insertIndex].m_appliedImpulse = appliedImpulse;
184
- m_pointCache[insertIndex].m_appliedImpulseLateral1 = appliedLateralImpulse1;
185
- m_pointCache[insertIndex].m_appliedImpulseLateral2 = appliedLateralImpulse2;
186
-
187
- m_pointCache[insertIndex].mConstraintRow[0].m_accumImpulse = appliedImpulse;
188
- m_pointCache[insertIndex].mConstraintRow[1].m_accumImpulse = appliedLateralImpulse1;
189
- m_pointCache[insertIndex].mConstraintRow[2].m_accumImpulse = appliedLateralImpulse2;
190
-
191
-
192
- m_pointCache[insertIndex].m_lifeTime = lifeTime;
193
- #else
194
- clearUserCache(m_pointCache[insertIndex]);
195
- m_pointCache[insertIndex] = newPoint;
196
-
197
- #endif
198
- }
199
-
200
-
201
- bool validContactDistance(const btManifoldPoint& pt) const
202
- {
203
- return pt.m_distance1 <= getContactBreakingThreshold();
204
- }
205
- /// calculated new worldspace coordinates and depth, and reject points that exceed the collision margin
206
- void refreshContactPoints( const btTransform& trA,const btTransform& trB);
207
-
208
-
209
- SIMD_FORCE_INLINE void clearManifold()
210
- {
211
- int i;
212
- for (i=0;i<m_cachedPoints;i++)
213
- {
214
- clearUserCache(m_pointCache[i]);
215
- }
216
- m_cachedPoints = 0;
217
- }
218
-
219
-
220
-
221
- }
222
- ;
223
-
224
-
225
-
226
-
227
-
228
- #endif //BT_PERSISTENT_MANIFOLD_H