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,691 +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_RIGIDBODY_H
17
- #define BT_RIGIDBODY_H
18
-
19
- #include "LinearMath/btAlignedObjectArray.h"
20
- #include "LinearMath/btTransform.h"
21
- #include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
22
- #include "BulletCollision/CollisionDispatch/btCollisionObject.h"
23
-
24
- class btCollisionShape;
25
- class btMotionState;
26
- class btTypedConstraint;
27
-
28
-
29
- extern btScalar gDeactivationTime;
30
- extern bool gDisableDeactivation;
31
-
32
- #ifdef BT_USE_DOUBLE_PRECISION
33
- #define btRigidBodyData btRigidBodyDoubleData
34
- #define btRigidBodyDataName "btRigidBodyDoubleData"
35
- #else
36
- #define btRigidBodyData btRigidBodyFloatData
37
- #define btRigidBodyDataName "btRigidBodyFloatData"
38
- #endif //BT_USE_DOUBLE_PRECISION
39
-
40
-
41
- enum btRigidBodyFlags
42
- {
43
- BT_DISABLE_WORLD_GRAVITY = 1
44
- };
45
-
46
-
47
- ///The btRigidBody is the main class for rigid body objects. It is derived from btCollisionObject, so it keeps a pointer to a btCollisionShape.
48
- ///It is recommended for performance and memory use to share btCollisionShape objects whenever possible.
49
- ///There are 3 types of rigid bodies:
50
- ///- A) Dynamic rigid bodies, with positive mass. Motion is controlled by rigid body dynamics.
51
- ///- B) Fixed objects with zero mass. They are not moving (basically collision objects)
52
- ///- C) Kinematic objects, which are objects without mass, but the user can move them. There is on-way interaction, and Bullet calculates a velocity based on the timestep and previous and current world transform.
53
- ///Bullet automatically deactivates dynamic rigid bodies, when the velocity is below a threshold for a given time.
54
- ///Deactivated (sleeping) rigid bodies don't take any processing time, except a minor broadphase collision detection impact (to allow active objects to activate/wake up sleeping objects)
55
- class btRigidBody : public btCollisionObject
56
- {
57
-
58
- btMatrix3x3 m_invInertiaTensorWorld;
59
- btVector3 m_linearVelocity;
60
- btVector3 m_angularVelocity;
61
- btScalar m_inverseMass;
62
- btVector3 m_linearFactor;
63
-
64
- btVector3 m_gravity;
65
- btVector3 m_gravity_acceleration;
66
- btVector3 m_invInertiaLocal;
67
- btVector3 m_totalForce;
68
- btVector3 m_totalTorque;
69
-
70
- btScalar m_linearDamping;
71
- btScalar m_angularDamping;
72
-
73
- bool m_additionalDamping;
74
- btScalar m_additionalDampingFactor;
75
- btScalar m_additionalLinearDampingThresholdSqr;
76
- btScalar m_additionalAngularDampingThresholdSqr;
77
- btScalar m_additionalAngularDampingFactor;
78
-
79
-
80
- btScalar m_linearSleepingThreshold;
81
- btScalar m_angularSleepingThreshold;
82
-
83
- //m_optionalMotionState allows to automatic synchronize the world transform for active objects
84
- btMotionState* m_optionalMotionState;
85
-
86
- //keep track of typed constraints referencing this rigid body
87
- btAlignedObjectArray<btTypedConstraint*> m_constraintRefs;
88
-
89
- int m_rigidbodyFlags;
90
-
91
- int m_debugBodyId;
92
-
93
-
94
- protected:
95
-
96
- ATTRIBUTE_ALIGNED64(btVector3 m_deltaLinearVelocity);
97
- btVector3 m_deltaAngularVelocity;
98
- btVector3 m_angularFactor;
99
- btVector3 m_invMass;
100
- btVector3 m_pushVelocity;
101
- btVector3 m_turnVelocity;
102
-
103
-
104
- public:
105
-
106
-
107
- ///The btRigidBodyConstructionInfo structure provides information to create a rigid body. Setting mass to zero creates a fixed (non-dynamic) rigid body.
108
- ///For dynamic objects, you can use the collision shape to approximate the local inertia tensor, otherwise use the zero vector (default argument)
109
- ///You can use the motion state to synchronize the world transform between physics and graphics objects.
110
- ///And if the motion state is provided, the rigid body will initialize its initial world transform from the motion state,
111
- ///m_startWorldTransform is only used when you don't provide a motion state.
112
- struct btRigidBodyConstructionInfo
113
- {
114
- btScalar m_mass;
115
-
116
- ///When a motionState is provided, the rigid body will initialize its world transform from the motion state
117
- ///In this case, m_startWorldTransform is ignored.
118
- btMotionState* m_motionState;
119
- btTransform m_startWorldTransform;
120
-
121
- btCollisionShape* m_collisionShape;
122
- btVector3 m_localInertia;
123
- btScalar m_linearDamping;
124
- btScalar m_angularDamping;
125
-
126
- ///best simulation results when friction is non-zero
127
- btScalar m_friction;
128
- ///best simulation results using zero restitution.
129
- btScalar m_restitution;
130
-
131
- btScalar m_linearSleepingThreshold;
132
- btScalar m_angularSleepingThreshold;
133
-
134
- //Additional damping can help avoiding lowpass jitter motion, help stability for ragdolls etc.
135
- //Such damping is undesirable, so once the overall simulation quality of the rigid body dynamics system has improved, this should become obsolete
136
- bool m_additionalDamping;
137
- btScalar m_additionalDampingFactor;
138
- btScalar m_additionalLinearDampingThresholdSqr;
139
- btScalar m_additionalAngularDampingThresholdSqr;
140
- btScalar m_additionalAngularDampingFactor;
141
-
142
- btRigidBodyConstructionInfo( btScalar mass, btMotionState* motionState, btCollisionShape* collisionShape, const btVector3& localInertia=btVector3(0,0,0)):
143
- m_mass(mass),
144
- m_motionState(motionState),
145
- m_collisionShape(collisionShape),
146
- m_localInertia(localInertia),
147
- m_linearDamping(btScalar(0.)),
148
- m_angularDamping(btScalar(0.)),
149
- m_friction(btScalar(0.5)),
150
- m_restitution(btScalar(0.)),
151
- m_linearSleepingThreshold(btScalar(0.8)),
152
- m_angularSleepingThreshold(btScalar(1.f)),
153
- m_additionalDamping(false),
154
- m_additionalDampingFactor(btScalar(0.005)),
155
- m_additionalLinearDampingThresholdSqr(btScalar(0.01)),
156
- m_additionalAngularDampingThresholdSqr(btScalar(0.01)),
157
- m_additionalAngularDampingFactor(btScalar(0.01))
158
- {
159
- m_startWorldTransform.setIdentity();
160
- }
161
- };
162
-
163
- ///btRigidBody constructor using construction info
164
- btRigidBody( const btRigidBodyConstructionInfo& constructionInfo);
165
-
166
- ///btRigidBody constructor for backwards compatibility.
167
- ///To specify friction (etc) during rigid body construction, please use the other constructor (using btRigidBodyConstructionInfo)
168
- btRigidBody( btScalar mass, btMotionState* motionState, btCollisionShape* collisionShape, const btVector3& localInertia=btVector3(0,0,0));
169
-
170
-
171
- virtual ~btRigidBody()
172
- {
173
- //No constraints should point to this rigidbody
174
- //Remove constraints from the dynamics world before you delete the related rigidbodies.
175
- btAssert(m_constraintRefs.size()==0);
176
- }
177
-
178
- protected:
179
-
180
- ///setupRigidBody is only used internally by the constructor
181
- void setupRigidBody(const btRigidBodyConstructionInfo& constructionInfo);
182
-
183
- public:
184
-
185
- void proceedToTransform(const btTransform& newTrans);
186
-
187
- ///to keep collision detection and dynamics separate we don't store a rigidbody pointer
188
- ///but a rigidbody is derived from btCollisionObject, so we can safely perform an upcast
189
- static const btRigidBody* upcast(const btCollisionObject* colObj)
190
- {
191
- if (colObj->getInternalType()&btCollisionObject::CO_RIGID_BODY)
192
- return (const btRigidBody*)colObj;
193
- return 0;
194
- }
195
- static btRigidBody* upcast(btCollisionObject* colObj)
196
- {
197
- if (colObj->getInternalType()&btCollisionObject::CO_RIGID_BODY)
198
- return (btRigidBody*)colObj;
199
- return 0;
200
- }
201
-
202
- /// continuous collision detection needs prediction
203
- void predictIntegratedTransform(btScalar step, btTransform& predictedTransform) ;
204
-
205
- void saveKinematicState(btScalar step);
206
-
207
- void applyGravity();
208
-
209
- void setGravity(const btVector3& acceleration);
210
-
211
- const btVector3& getGravity() const
212
- {
213
- return m_gravity_acceleration;
214
- }
215
-
216
- void setDamping(btScalar lin_damping, btScalar ang_damping);
217
-
218
- btScalar getLinearDamping() const
219
- {
220
- return m_linearDamping;
221
- }
222
-
223
- btScalar getAngularDamping() const
224
- {
225
- return m_angularDamping;
226
- }
227
-
228
- btScalar getLinearSleepingThreshold() const
229
- {
230
- return m_linearSleepingThreshold;
231
- }
232
-
233
- btScalar getAngularSleepingThreshold() const
234
- {
235
- return m_angularSleepingThreshold;
236
- }
237
-
238
- void applyDamping(btScalar timeStep);
239
-
240
- SIMD_FORCE_INLINE const btCollisionShape* getCollisionShape() const {
241
- return m_collisionShape;
242
- }
243
-
244
- SIMD_FORCE_INLINE btCollisionShape* getCollisionShape() {
245
- return m_collisionShape;
246
- }
247
-
248
- void setMassProps(btScalar mass, const btVector3& inertia);
249
-
250
- const btVector3& getLinearFactor() const
251
- {
252
- return m_linearFactor;
253
- }
254
- void setLinearFactor(const btVector3& linearFactor)
255
- {
256
- m_linearFactor = linearFactor;
257
- m_invMass = m_linearFactor*m_inverseMass;
258
- }
259
- btScalar getInvMass() const { return m_inverseMass; }
260
- const btMatrix3x3& getInvInertiaTensorWorld() const {
261
- return m_invInertiaTensorWorld;
262
- }
263
-
264
- void integrateVelocities(btScalar step);
265
-
266
- void setCenterOfMassTransform(const btTransform& xform);
267
-
268
- void applyCentralForce(const btVector3& force)
269
- {
270
- m_totalForce += force*m_linearFactor;
271
- }
272
-
273
- const btVector3& getTotalForce() const
274
- {
275
- return m_totalForce;
276
- };
277
-
278
- const btVector3& getTotalTorque() const
279
- {
280
- return m_totalTorque;
281
- };
282
-
283
- const btVector3& getInvInertiaDiagLocal() const
284
- {
285
- return m_invInertiaLocal;
286
- };
287
-
288
- void setInvInertiaDiagLocal(const btVector3& diagInvInertia)
289
- {
290
- m_invInertiaLocal = diagInvInertia;
291
- }
292
-
293
- void setSleepingThresholds(btScalar linear,btScalar angular)
294
- {
295
- m_linearSleepingThreshold = linear;
296
- m_angularSleepingThreshold = angular;
297
- }
298
-
299
- void applyTorque(const btVector3& torque)
300
- {
301
- m_totalTorque += torque*m_angularFactor;
302
- }
303
-
304
- void applyForce(const btVector3& force, const btVector3& rel_pos)
305
- {
306
- applyCentralForce(force);
307
- applyTorque(rel_pos.cross(force*m_linearFactor));
308
- }
309
-
310
- void applyCentralImpulse(const btVector3& impulse)
311
- {
312
- m_linearVelocity += impulse *m_linearFactor * m_inverseMass;
313
- }
314
-
315
- void applyTorqueImpulse(const btVector3& torque)
316
- {
317
- m_angularVelocity += m_invInertiaTensorWorld * torque * m_angularFactor;
318
- }
319
-
320
- void applyImpulse(const btVector3& impulse, const btVector3& rel_pos)
321
- {
322
- if (m_inverseMass != btScalar(0.))
323
- {
324
- applyCentralImpulse(impulse);
325
- if (m_angularFactor)
326
- {
327
- applyTorqueImpulse(rel_pos.cross(impulse*m_linearFactor));
328
- }
329
- }
330
- }
331
-
332
- void clearForces()
333
- {
334
- m_totalForce.setValue(btScalar(0.0), btScalar(0.0), btScalar(0.0));
335
- m_totalTorque.setValue(btScalar(0.0), btScalar(0.0), btScalar(0.0));
336
- }
337
-
338
- void updateInertiaTensor();
339
-
340
- const btVector3& getCenterOfMassPosition() const {
341
- return m_worldTransform.getOrigin();
342
- }
343
- btQuaternion getOrientation() const;
344
-
345
- const btTransform& getCenterOfMassTransform() const {
346
- return m_worldTransform;
347
- }
348
- const btVector3& getLinearVelocity() const {
349
- return m_linearVelocity;
350
- }
351
- const btVector3& getAngularVelocity() const {
352
- return m_angularVelocity;
353
- }
354
-
355
-
356
- inline void setLinearVelocity(const btVector3& lin_vel)
357
- {
358
- m_linearVelocity = lin_vel;
359
- }
360
-
361
- inline void setAngularVelocity(const btVector3& ang_vel)
362
- {
363
- m_angularVelocity = ang_vel;
364
- }
365
-
366
- btVector3 getVelocityInLocalPoint(const btVector3& rel_pos) const
367
- {
368
- //we also calculate lin/ang velocity for kinematic objects
369
- return m_linearVelocity + m_angularVelocity.cross(rel_pos);
370
-
371
- //for kinematic objects, we could also use use:
372
- // return (m_worldTransform(rel_pos) - m_interpolationWorldTransform(rel_pos)) / m_kinematicTimeStep;
373
- }
374
-
375
- void translate(const btVector3& v)
376
- {
377
- m_worldTransform.getOrigin() += v;
378
- }
379
-
380
-
381
- void getAabb(btVector3& aabbMin,btVector3& aabbMax) const;
382
-
383
-
384
-
385
-
386
-
387
- SIMD_FORCE_INLINE btScalar computeImpulseDenominator(const btVector3& pos, const btVector3& normal) const
388
- {
389
- btVector3 r0 = pos - getCenterOfMassPosition();
390
-
391
- btVector3 c0 = (r0).cross(normal);
392
-
393
- btVector3 vec = (c0 * getInvInertiaTensorWorld()).cross(r0);
394
-
395
- return m_inverseMass + normal.dot(vec);
396
-
397
- }
398
-
399
- SIMD_FORCE_INLINE btScalar computeAngularImpulseDenominator(const btVector3& axis) const
400
- {
401
- btVector3 vec = axis * getInvInertiaTensorWorld();
402
- return axis.dot(vec);
403
- }
404
-
405
- SIMD_FORCE_INLINE void updateDeactivation(btScalar timeStep)
406
- {
407
- if ( (getActivationState() == ISLAND_SLEEPING) || (getActivationState() == DISABLE_DEACTIVATION))
408
- return;
409
-
410
- if ((getLinearVelocity().length2() < m_linearSleepingThreshold*m_linearSleepingThreshold) &&
411
- (getAngularVelocity().length2() < m_angularSleepingThreshold*m_angularSleepingThreshold))
412
- {
413
- m_deactivationTime += timeStep;
414
- } else
415
- {
416
- m_deactivationTime=btScalar(0.);
417
- setActivationState(0);
418
- }
419
-
420
- }
421
-
422
- SIMD_FORCE_INLINE bool wantsSleeping()
423
- {
424
-
425
- if (getActivationState() == DISABLE_DEACTIVATION)
426
- return false;
427
-
428
- //disable deactivation
429
- if (gDisableDeactivation || (gDeactivationTime == btScalar(0.)))
430
- return false;
431
-
432
- if ( (getActivationState() == ISLAND_SLEEPING) || (getActivationState() == WANTS_DEACTIVATION))
433
- return true;
434
-
435
- if (m_deactivationTime> gDeactivationTime)
436
- {
437
- return true;
438
- }
439
- return false;
440
- }
441
-
442
-
443
-
444
- const btBroadphaseProxy* getBroadphaseProxy() const
445
- {
446
- return m_broadphaseHandle;
447
- }
448
- btBroadphaseProxy* getBroadphaseProxy()
449
- {
450
- return m_broadphaseHandle;
451
- }
452
- void setNewBroadphaseProxy(btBroadphaseProxy* broadphaseProxy)
453
- {
454
- m_broadphaseHandle = broadphaseProxy;
455
- }
456
-
457
- //btMotionState allows to automatic synchronize the world transform for active objects
458
- btMotionState* getMotionState()
459
- {
460
- return m_optionalMotionState;
461
- }
462
- const btMotionState* getMotionState() const
463
- {
464
- return m_optionalMotionState;
465
- }
466
- void setMotionState(btMotionState* motionState)
467
- {
468
- m_optionalMotionState = motionState;
469
- if (m_optionalMotionState)
470
- motionState->getWorldTransform(m_worldTransform);
471
- }
472
-
473
- //for experimental overriding of friction/contact solver func
474
- int m_contactSolverType;
475
- int m_frictionSolverType;
476
-
477
- void setAngularFactor(const btVector3& angFac)
478
- {
479
- m_angularFactor = angFac;
480
- }
481
-
482
- void setAngularFactor(btScalar angFac)
483
- {
484
- m_angularFactor.setValue(angFac,angFac,angFac);
485
- }
486
- const btVector3& getAngularFactor() const
487
- {
488
- return m_angularFactor;
489
- }
490
-
491
- //is this rigidbody added to a btCollisionWorld/btDynamicsWorld/btBroadphase?
492
- bool isInWorld() const
493
- {
494
- return (getBroadphaseProxy() != 0);
495
- }
496
-
497
- virtual bool checkCollideWithOverride(btCollisionObject* co);
498
-
499
- void addConstraintRef(btTypedConstraint* c);
500
- void removeConstraintRef(btTypedConstraint* c);
501
-
502
- btTypedConstraint* getConstraintRef(int index)
503
- {
504
- return m_constraintRefs[index];
505
- }
506
-
507
- int getNumConstraintRefs() const
508
- {
509
- return m_constraintRefs.size();
510
- }
511
-
512
- void setFlags(int flags)
513
- {
514
- m_rigidbodyFlags = flags;
515
- }
516
-
517
- int getFlags() const
518
- {
519
- return m_rigidbodyFlags;
520
- }
521
-
522
- const btVector3& getDeltaLinearVelocity() const
523
- {
524
- return m_deltaLinearVelocity;
525
- }
526
-
527
- const btVector3& getDeltaAngularVelocity() const
528
- {
529
- return m_deltaAngularVelocity;
530
- }
531
-
532
- const btVector3& getPushVelocity() const
533
- {
534
- return m_pushVelocity;
535
- }
536
-
537
- const btVector3& getTurnVelocity() const
538
- {
539
- return m_turnVelocity;
540
- }
541
-
542
-
543
- ////////////////////////////////////////////////
544
- ///some internal methods, don't use them
545
-
546
- btVector3& internalGetDeltaLinearVelocity()
547
- {
548
- return m_deltaLinearVelocity;
549
- }
550
-
551
- btVector3& internalGetDeltaAngularVelocity()
552
- {
553
- return m_deltaAngularVelocity;
554
- }
555
-
556
- const btVector3& internalGetAngularFactor() const
557
- {
558
- return m_angularFactor;
559
- }
560
-
561
- const btVector3& internalGetInvMass() const
562
- {
563
- return m_invMass;
564
- }
565
-
566
- btVector3& internalGetPushVelocity()
567
- {
568
- return m_pushVelocity;
569
- }
570
-
571
- btVector3& internalGetTurnVelocity()
572
- {
573
- return m_turnVelocity;
574
- }
575
-
576
- SIMD_FORCE_INLINE void internalGetVelocityInLocalPointObsolete(const btVector3& rel_pos, btVector3& velocity ) const
577
- {
578
- velocity = getLinearVelocity()+m_deltaLinearVelocity + (getAngularVelocity()+m_deltaAngularVelocity).cross(rel_pos);
579
- }
580
-
581
- SIMD_FORCE_INLINE void internalGetAngularVelocity(btVector3& angVel) const
582
- {
583
- angVel = getAngularVelocity()+m_deltaAngularVelocity;
584
- }
585
-
586
-
587
- //Optimization for the iterative solver: avoid calculating constant terms involving inertia, normal, relative position
588
- SIMD_FORCE_INLINE void internalApplyImpulse(const btVector3& linearComponent, const btVector3& angularComponent,const btScalar impulseMagnitude)
589
- {
590
- if (m_inverseMass)
591
- {
592
- m_deltaLinearVelocity += linearComponent*impulseMagnitude;
593
- m_deltaAngularVelocity += angularComponent*(impulseMagnitude*m_angularFactor);
594
- }
595
- }
596
-
597
- SIMD_FORCE_INLINE void internalApplyPushImpulse(const btVector3& linearComponent, const btVector3& angularComponent,btScalar impulseMagnitude)
598
- {
599
- if (m_inverseMass)
600
- {
601
- m_pushVelocity += linearComponent*impulseMagnitude;
602
- m_turnVelocity += angularComponent*(impulseMagnitude*m_angularFactor);
603
- }
604
- }
605
-
606
- void internalWritebackVelocity()
607
- {
608
- if (m_inverseMass)
609
- {
610
- setLinearVelocity(getLinearVelocity()+ m_deltaLinearVelocity);
611
- setAngularVelocity(getAngularVelocity()+m_deltaAngularVelocity);
612
- //m_deltaLinearVelocity.setZero();
613
- //m_deltaAngularVelocity .setZero();
614
- //m_originalBody->setCompanionId(-1);
615
- }
616
- }
617
-
618
-
619
- void internalWritebackVelocity(btScalar timeStep);
620
-
621
-
622
-
623
- ///////////////////////////////////////////////
624
-
625
- virtual int calculateSerializeBufferSize() const;
626
-
627
- ///fills the dataBuffer and returns the struct name (and 0 on failure)
628
- virtual const char* serialize(void* dataBuffer, class btSerializer* serializer) const;
629
-
630
- virtual void serializeSingleObject(class btSerializer* serializer) const;
631
-
632
- };
633
-
634
- //@todo add m_optionalMotionState and m_constraintRefs to btRigidBodyData
635
- ///do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
636
- struct btRigidBodyFloatData
637
- {
638
- btCollisionObjectFloatData m_collisionObjectData;
639
- btMatrix3x3FloatData m_invInertiaTensorWorld;
640
- btVector3FloatData m_linearVelocity;
641
- btVector3FloatData m_angularVelocity;
642
- btVector3FloatData m_angularFactor;
643
- btVector3FloatData m_linearFactor;
644
- btVector3FloatData m_gravity;
645
- btVector3FloatData m_gravity_acceleration;
646
- btVector3FloatData m_invInertiaLocal;
647
- btVector3FloatData m_totalForce;
648
- btVector3FloatData m_totalTorque;
649
- float m_inverseMass;
650
- float m_linearDamping;
651
- float m_angularDamping;
652
- float m_additionalDampingFactor;
653
- float m_additionalLinearDampingThresholdSqr;
654
- float m_additionalAngularDampingThresholdSqr;
655
- float m_additionalAngularDampingFactor;
656
- float m_linearSleepingThreshold;
657
- float m_angularSleepingThreshold;
658
- int m_additionalDamping;
659
- };
660
-
661
- ///do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
662
- struct btRigidBodyDoubleData
663
- {
664
- btCollisionObjectDoubleData m_collisionObjectData;
665
- btMatrix3x3DoubleData m_invInertiaTensorWorld;
666
- btVector3DoubleData m_linearVelocity;
667
- btVector3DoubleData m_angularVelocity;
668
- btVector3DoubleData m_angularFactor;
669
- btVector3DoubleData m_linearFactor;
670
- btVector3DoubleData m_gravity;
671
- btVector3DoubleData m_gravity_acceleration;
672
- btVector3DoubleData m_invInertiaLocal;
673
- btVector3DoubleData m_totalForce;
674
- btVector3DoubleData m_totalTorque;
675
- double m_inverseMass;
676
- double m_linearDamping;
677
- double m_angularDamping;
678
- double m_additionalDampingFactor;
679
- double m_additionalLinearDampingThresholdSqr;
680
- double m_additionalAngularDampingThresholdSqr;
681
- double m_additionalAngularDampingFactor;
682
- double m_linearSleepingThreshold;
683
- double m_angularSleepingThreshold;
684
- int m_additionalDamping;
685
- char m_padding[4];
686
- };
687
-
688
-
689
-
690
- #endif //BT_RIGIDBODY_H
691
-