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,539 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2009 Erwin Coumans http://bullet.googlecode.com
3
-
4
- This software is provided 'as-is', without any express or implied warranty.
5
- In no event will the authors be held liable for any damages arising from the use of this software.
6
- Permission is granted to anyone to use this software for any purpose,
7
- including commercial applications, and to alter it and redistribute it freely,
8
- subject to the following restrictions:
9
-
10
- 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
11
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
12
- 3. This notice may not be removed or altered from any source distribution.
13
- */
14
-
15
-
16
-
17
- #ifndef BT_SCALAR_H
18
- #define BT_SCALAR_H
19
-
20
- #ifdef BT_MANAGED_CODE
21
- //Aligned data types not supported in managed code
22
- #pragma unmanaged
23
- #endif
24
-
25
-
26
- #include <math.h>
27
- #include <stdlib.h>//size_t for MSVC 6.0
28
- #include <float.h>
29
-
30
- /* SVN $Revision$ on $Date$ from http://bullet.googlecode.com*/
31
- #define BT_BULLET_VERSION 280
32
-
33
- inline int btGetVersion()
34
- {
35
- return BT_BULLET_VERSION;
36
- }
37
-
38
- #if defined(DEBUG) || defined (_DEBUG)
39
- #define BT_DEBUG
40
- #endif
41
-
42
-
43
- #ifdef _WIN32
44
-
45
- #if defined(__MINGW32__) || defined(__CYGWIN__) || (defined (_MSC_VER) && _MSC_VER < 1300)
46
-
47
- #define SIMD_FORCE_INLINE inline
48
- #define ATTRIBUTE_ALIGNED16(a) a
49
- #define ATTRIBUTE_ALIGNED64(a) a
50
- #define ATTRIBUTE_ALIGNED128(a) a
51
- #else
52
- //#define BT_HAS_ALIGNED_ALLOCATOR
53
- #pragma warning(disable : 4324) // disable padding warning
54
- // #pragma warning(disable:4530) // Disable the exception disable but used in MSCV Stl warning.
55
- // #pragma warning(disable:4996) //Turn off warnings about deprecated C routines
56
- // #pragma warning(disable:4786) // Disable the "debug name too long" warning
57
-
58
- #define SIMD_FORCE_INLINE __forceinline
59
- #define ATTRIBUTE_ALIGNED16(a) __declspec(align(16)) a
60
- #define ATTRIBUTE_ALIGNED64(a) __declspec(align(64)) a
61
- #define ATTRIBUTE_ALIGNED128(a) __declspec (align(128)) a
62
- #ifdef _XBOX
63
- #define BT_USE_VMX128
64
-
65
- #include <ppcintrinsics.h>
66
- #define BT_HAVE_NATIVE_FSEL
67
- #define btFsel(a,b,c) __fsel((a),(b),(c))
68
- #else
69
-
70
- #if (defined (_WIN32) && (_MSC_VER) && _MSC_VER >= 1400) && (!defined (BT_USE_DOUBLE_PRECISION))
71
- #define BT_USE_SSE
72
- #include <emmintrin.h>
73
- #endif
74
-
75
- #endif//_XBOX
76
-
77
- #endif //__MINGW32__
78
-
79
- #include <assert.h>
80
- #ifdef BT_DEBUG
81
- #define btAssert assert
82
- #else
83
- #define btAssert(x)
84
- #endif
85
- //btFullAssert is optional, slows down a lot
86
- #define btFullAssert(x)
87
-
88
- #define btLikely(_c) _c
89
- #define btUnlikely(_c) _c
90
-
91
- #else
92
-
93
- #if defined (__CELLOS_LV2__)
94
- #define SIMD_FORCE_INLINE inline __attribute__((always_inline))
95
- #define ATTRIBUTE_ALIGNED16(a) a __attribute__ ((aligned (16)))
96
- #define ATTRIBUTE_ALIGNED64(a) a __attribute__ ((aligned (64)))
97
- #define ATTRIBUTE_ALIGNED128(a) a __attribute__ ((aligned (128)))
98
- #ifndef assert
99
- #include <assert.h>
100
- #endif
101
- #ifdef BT_DEBUG
102
- #ifdef __SPU__
103
- #include <spu_printf.h>
104
- #define printf spu_printf
105
- #define btAssert(x) {if(!(x)){printf("Assert "__FILE__ ":%u ("#x")\n", __LINE__);spu_hcmpeq(0,0);}}
106
- #else
107
- #define btAssert assert
108
- #endif
109
-
110
- #else
111
- #define btAssert(x)
112
- #endif
113
- //btFullAssert is optional, slows down a lot
114
- #define btFullAssert(x)
115
-
116
- #define btLikely(_c) _c
117
- #define btUnlikely(_c) _c
118
-
119
- #else
120
-
121
- #ifdef USE_LIBSPE2
122
-
123
- #define SIMD_FORCE_INLINE __inline
124
- #define ATTRIBUTE_ALIGNED16(a) a __attribute__ ((aligned (16)))
125
- #define ATTRIBUTE_ALIGNED64(a) a __attribute__ ((aligned (64)))
126
- #define ATTRIBUTE_ALIGNED128(a) a __attribute__ ((aligned (128)))
127
- #ifndef assert
128
- #include <assert.h>
129
- #endif
130
- #ifdef BT_DEBUG
131
- #define btAssert assert
132
- #else
133
- #define btAssert(x)
134
- #endif
135
- //btFullAssert is optional, slows down a lot
136
- #define btFullAssert(x)
137
-
138
-
139
- #define btLikely(_c) __builtin_expect((_c), 1)
140
- #define btUnlikely(_c) __builtin_expect((_c), 0)
141
-
142
-
143
- #else
144
- //non-windows systems
145
-
146
- #if (defined (__APPLE__) && defined (__i386__) && (!defined (BT_USE_DOUBLE_PRECISION)))
147
- #define BT_USE_SSE
148
- #include <emmintrin.h>
149
-
150
- #define SIMD_FORCE_INLINE inline
151
- ///@todo: check out alignment methods for other platforms/compilers
152
- #define ATTRIBUTE_ALIGNED16(a) a __attribute__ ((aligned (16)))
153
- #define ATTRIBUTE_ALIGNED64(a) a __attribute__ ((aligned (64)))
154
- #define ATTRIBUTE_ALIGNED128(a) a __attribute__ ((aligned (128)))
155
- #ifndef assert
156
- #include <assert.h>
157
- #endif
158
-
159
- #if defined(DEBUG) || defined (_DEBUG)
160
- #define btAssert assert
161
- #else
162
- #define btAssert(x)
163
- #endif
164
-
165
- //btFullAssert is optional, slows down a lot
166
- #define btFullAssert(x)
167
- #define btLikely(_c) _c
168
- #define btUnlikely(_c) _c
169
-
170
- #else
171
-
172
- #define SIMD_FORCE_INLINE inline
173
- ///@todo: check out alignment methods for other platforms/compilers
174
- ///#define ATTRIBUTE_ALIGNED16(a) a __attribute__ ((aligned (16)))
175
- ///#define ATTRIBUTE_ALIGNED64(a) a __attribute__ ((aligned (64)))
176
- ///#define ATTRIBUTE_ALIGNED128(a) a __attribute__ ((aligned (128)))
177
- #define ATTRIBUTE_ALIGNED16(a) a
178
- #define ATTRIBUTE_ALIGNED64(a) a
179
- #define ATTRIBUTE_ALIGNED128(a) a
180
- #ifndef assert
181
- #include <assert.h>
182
- #endif
183
-
184
- #if defined(DEBUG) || defined (_DEBUG)
185
- #define btAssert assert
186
- #else
187
- #define btAssert(x)
188
- #endif
189
-
190
- //btFullAssert is optional, slows down a lot
191
- #define btFullAssert(x)
192
- #define btLikely(_c) _c
193
- #define btUnlikely(_c) _c
194
- #endif //__APPLE__
195
-
196
- #endif // LIBSPE2
197
-
198
- #endif //__CELLOS_LV2__
199
- #endif
200
-
201
-
202
- ///The btScalar type abstracts floating point numbers, to easily switch between double and single floating point precision.
203
- #if defined(BT_USE_DOUBLE_PRECISION)
204
- typedef double btScalar;
205
- //this number could be bigger in double precision
206
- #define BT_LARGE_FLOAT 1e30
207
- #else
208
- typedef float btScalar;
209
- //keep BT_LARGE_FLOAT*BT_LARGE_FLOAT < FLT_MAX
210
- #define BT_LARGE_FLOAT 1e18f
211
- #endif
212
-
213
-
214
-
215
- #define BT_DECLARE_ALIGNED_ALLOCATOR() \
216
- SIMD_FORCE_INLINE void* operator new(size_t sizeInBytes) { return btAlignedAlloc(sizeInBytes,16); } \
217
- SIMD_FORCE_INLINE void operator delete(void* ptr) { btAlignedFree(ptr); } \
218
- SIMD_FORCE_INLINE void* operator new(size_t, void* ptr) { return ptr; } \
219
- SIMD_FORCE_INLINE void operator delete(void*, void*) { } \
220
- SIMD_FORCE_INLINE void* operator new[](size_t sizeInBytes) { return btAlignedAlloc(sizeInBytes,16); } \
221
- SIMD_FORCE_INLINE void operator delete[](void* ptr) { btAlignedFree(ptr); } \
222
- SIMD_FORCE_INLINE void* operator new[](size_t, void* ptr) { return ptr; } \
223
- SIMD_FORCE_INLINE void operator delete[](void*, void*) { } \
224
-
225
-
226
-
227
- #if defined(BT_USE_DOUBLE_PRECISION) || defined(BT_FORCE_DOUBLE_FUNCTIONS)
228
-
229
- SIMD_FORCE_INLINE btScalar btSqrt(btScalar x) { return sqrt(x); }
230
- SIMD_FORCE_INLINE btScalar btFabs(btScalar x) { return fabs(x); }
231
- SIMD_FORCE_INLINE btScalar btCos(btScalar x) { return cos(x); }
232
- SIMD_FORCE_INLINE btScalar btSin(btScalar x) { return sin(x); }
233
- SIMD_FORCE_INLINE btScalar btTan(btScalar x) { return tan(x); }
234
- SIMD_FORCE_INLINE btScalar btAcos(btScalar x) { if (x<btScalar(-1)) x=btScalar(-1); if (x>btScalar(1)) x=btScalar(1); return acos(x); }
235
- SIMD_FORCE_INLINE btScalar btAsin(btScalar x) { if (x<btScalar(-1)) x=btScalar(-1); if (x>btScalar(1)) x=btScalar(1); return asin(x); }
236
- SIMD_FORCE_INLINE btScalar btAtan(btScalar x) { return atan(x); }
237
- SIMD_FORCE_INLINE btScalar btAtan2(btScalar x, btScalar y) { return atan2(x, y); }
238
- SIMD_FORCE_INLINE btScalar btExp(btScalar x) { return exp(x); }
239
- SIMD_FORCE_INLINE btScalar btLog(btScalar x) { return log(x); }
240
- SIMD_FORCE_INLINE btScalar btPow(btScalar x,btScalar y) { return pow(x,y); }
241
- SIMD_FORCE_INLINE btScalar btFmod(btScalar x,btScalar y) { return fmod(x,y); }
242
-
243
- #else
244
-
245
- SIMD_FORCE_INLINE btScalar btSqrt(btScalar y)
246
- {
247
- #ifdef USE_APPROXIMATION
248
- double x, z, tempf;
249
- unsigned long *tfptr = ((unsigned long *)&tempf) + 1;
250
-
251
- tempf = y;
252
- *tfptr = (0xbfcdd90a - *tfptr)>>1; /* estimate of 1/sqrt(y) */
253
- x = tempf;
254
- z = y*btScalar(0.5);
255
- x = (btScalar(1.5)*x)-(x*x)*(x*z); /* iteration formula */
256
- x = (btScalar(1.5)*x)-(x*x)*(x*z);
257
- x = (btScalar(1.5)*x)-(x*x)*(x*z);
258
- x = (btScalar(1.5)*x)-(x*x)*(x*z);
259
- x = (btScalar(1.5)*x)-(x*x)*(x*z);
260
- return x*y;
261
- #else
262
- return sqrtf(y);
263
- #endif
264
- }
265
- SIMD_FORCE_INLINE btScalar btFabs(btScalar x) { return fabsf(x); }
266
- SIMD_FORCE_INLINE btScalar btCos(btScalar x) { return cosf(x); }
267
- SIMD_FORCE_INLINE btScalar btSin(btScalar x) { return sinf(x); }
268
- SIMD_FORCE_INLINE btScalar btTan(btScalar x) { return tanf(x); }
269
- SIMD_FORCE_INLINE btScalar btAcos(btScalar x) {
270
- if (x<btScalar(-1))
271
- x=btScalar(-1);
272
- if (x>btScalar(1))
273
- x=btScalar(1);
274
- return acosf(x);
275
- }
276
- SIMD_FORCE_INLINE btScalar btAsin(btScalar x) {
277
- if (x<btScalar(-1))
278
- x=btScalar(-1);
279
- if (x>btScalar(1))
280
- x=btScalar(1);
281
- return asinf(x);
282
- }
283
- SIMD_FORCE_INLINE btScalar btAtan(btScalar x) { return atanf(x); }
284
- SIMD_FORCE_INLINE btScalar btAtan2(btScalar x, btScalar y) { return atan2f(x, y); }
285
- SIMD_FORCE_INLINE btScalar btExp(btScalar x) { return expf(x); }
286
- SIMD_FORCE_INLINE btScalar btLog(btScalar x) { return logf(x); }
287
- SIMD_FORCE_INLINE btScalar btPow(btScalar x,btScalar y) { return powf(x,y); }
288
- SIMD_FORCE_INLINE btScalar btFmod(btScalar x,btScalar y) { return fmodf(x,y); }
289
-
290
- #endif
291
-
292
- #define SIMD_2_PI btScalar(6.283185307179586232)
293
- #define SIMD_PI (SIMD_2_PI * btScalar(0.5))
294
- #define SIMD_HALF_PI (SIMD_2_PI * btScalar(0.25))
295
- #define SIMD_RADS_PER_DEG (SIMD_2_PI / btScalar(360.0))
296
- #define SIMD_DEGS_PER_RAD (btScalar(360.0) / SIMD_2_PI)
297
- #define SIMDSQRT12 btScalar(0.7071067811865475244008443621048490)
298
-
299
- #define btRecipSqrt(x) ((btScalar)(btScalar(1.0)/btSqrt(btScalar(x)))) /* reciprocal square root */
300
-
301
-
302
- #ifdef BT_USE_DOUBLE_PRECISION
303
- #define SIMD_EPSILON DBL_EPSILON
304
- #define SIMD_INFINITY DBL_MAX
305
- #else
306
- #define SIMD_EPSILON FLT_EPSILON
307
- #define SIMD_INFINITY FLT_MAX
308
- #endif
309
-
310
- SIMD_FORCE_INLINE btScalar btAtan2Fast(btScalar y, btScalar x)
311
- {
312
- btScalar coeff_1 = SIMD_PI / 4.0f;
313
- btScalar coeff_2 = 3.0f * coeff_1;
314
- btScalar abs_y = btFabs(y);
315
- btScalar angle;
316
- if (x >= 0.0f) {
317
- btScalar r = (x - abs_y) / (x + abs_y);
318
- angle = coeff_1 - coeff_1 * r;
319
- } else {
320
- btScalar r = (x + abs_y) / (abs_y - x);
321
- angle = coeff_2 - coeff_1 * r;
322
- }
323
- return (y < 0.0f) ? -angle : angle;
324
- }
325
-
326
- SIMD_FORCE_INLINE bool btFuzzyZero(btScalar x) { return btFabs(x) < SIMD_EPSILON; }
327
-
328
- SIMD_FORCE_INLINE bool btEqual(btScalar a, btScalar eps) {
329
- return (((a) <= eps) && !((a) < -eps));
330
- }
331
- SIMD_FORCE_INLINE bool btGreaterEqual (btScalar a, btScalar eps) {
332
- return (!((a) <= eps));
333
- }
334
-
335
-
336
- SIMD_FORCE_INLINE int btIsNegative(btScalar x) {
337
- return x < btScalar(0.0) ? 1 : 0;
338
- }
339
-
340
- SIMD_FORCE_INLINE btScalar btRadians(btScalar x) { return x * SIMD_RADS_PER_DEG; }
341
- SIMD_FORCE_INLINE btScalar btDegrees(btScalar x) { return x * SIMD_DEGS_PER_RAD; }
342
-
343
- #define BT_DECLARE_HANDLE(name) typedef struct name##__ { int unused; } *name
344
-
345
- #ifndef btFsel
346
- SIMD_FORCE_INLINE btScalar btFsel(btScalar a, btScalar b, btScalar c)
347
- {
348
- return a >= 0 ? b : c;
349
- }
350
- #endif
351
- #define btFsels(a,b,c) (btScalar)btFsel(a,b,c)
352
-
353
-
354
- SIMD_FORCE_INLINE bool btMachineIsLittleEndian()
355
- {
356
- long int i = 1;
357
- const char *p = (const char *) &i;
358
- if (p[0] == 1) // Lowest address contains the least significant byte
359
- return true;
360
- else
361
- return false;
362
- }
363
-
364
-
365
-
366
- ///btSelect avoids branches, which makes performance much better for consoles like Playstation 3 and XBox 360
367
- ///Thanks Phil Knight. See also http://www.cellperformance.com/articles/2006/04/more_techniques_for_eliminatin_1.html
368
- SIMD_FORCE_INLINE unsigned btSelect(unsigned condition, unsigned valueIfConditionNonZero, unsigned valueIfConditionZero)
369
- {
370
- // Set testNz to 0xFFFFFFFF if condition is nonzero, 0x00000000 if condition is zero
371
- // Rely on positive value or'ed with its negative having sign bit on
372
- // and zero value or'ed with its negative (which is still zero) having sign bit off
373
- // Use arithmetic shift right, shifting the sign bit through all 32 bits
374
- unsigned testNz = (unsigned)(((int)condition | -(int)condition) >> 31);
375
- unsigned testEqz = ~testNz;
376
- return ((valueIfConditionNonZero & testNz) | (valueIfConditionZero & testEqz));
377
- }
378
- SIMD_FORCE_INLINE int btSelect(unsigned condition, int valueIfConditionNonZero, int valueIfConditionZero)
379
- {
380
- unsigned testNz = (unsigned)(((int)condition | -(int)condition) >> 31);
381
- unsigned testEqz = ~testNz;
382
- return static_cast<int>((valueIfConditionNonZero & testNz) | (valueIfConditionZero & testEqz));
383
- }
384
- SIMD_FORCE_INLINE float btSelect(unsigned condition, float valueIfConditionNonZero, float valueIfConditionZero)
385
- {
386
- #ifdef BT_HAVE_NATIVE_FSEL
387
- return (float)btFsel((btScalar)condition - btScalar(1.0f), valueIfConditionNonZero, valueIfConditionZero);
388
- #else
389
- return (condition != 0) ? valueIfConditionNonZero : valueIfConditionZero;
390
- #endif
391
- }
392
-
393
- template<typename T> SIMD_FORCE_INLINE void btSwap(T& a, T& b)
394
- {
395
- T tmp = a;
396
- a = b;
397
- b = tmp;
398
- }
399
-
400
-
401
- //PCK: endian swapping functions
402
- SIMD_FORCE_INLINE unsigned btSwapEndian(unsigned val)
403
- {
404
- return (((val & 0xff000000) >> 24) | ((val & 0x00ff0000) >> 8) | ((val & 0x0000ff00) << 8) | ((val & 0x000000ff) << 24));
405
- }
406
-
407
- SIMD_FORCE_INLINE unsigned short btSwapEndian(unsigned short val)
408
- {
409
- return static_cast<unsigned short>(((val & 0xff00) >> 8) | ((val & 0x00ff) << 8));
410
- }
411
-
412
- SIMD_FORCE_INLINE unsigned btSwapEndian(int val)
413
- {
414
- return btSwapEndian((unsigned)val);
415
- }
416
-
417
- SIMD_FORCE_INLINE unsigned short btSwapEndian(short val)
418
- {
419
- return btSwapEndian((unsigned short) val);
420
- }
421
-
422
- ///btSwapFloat uses using char pointers to swap the endianness
423
- ////btSwapFloat/btSwapDouble will NOT return a float, because the machine might 'correct' invalid floating point values
424
- ///Not all values of sign/exponent/mantissa are valid floating point numbers according to IEEE 754.
425
- ///When a floating point unit is faced with an invalid value, it may actually change the value, or worse, throw an exception.
426
- ///In most systems, running user mode code, you wouldn't get an exception, but instead the hardware/os/runtime will 'fix' the number for you.
427
- ///so instead of returning a float/double, we return integer/long long integer
428
- SIMD_FORCE_INLINE unsigned int btSwapEndianFloat(float d)
429
- {
430
- unsigned int a = 0;
431
- unsigned char *dst = (unsigned char *)&a;
432
- unsigned char *src = (unsigned char *)&d;
433
-
434
- dst[0] = src[3];
435
- dst[1] = src[2];
436
- dst[2] = src[1];
437
- dst[3] = src[0];
438
- return a;
439
- }
440
-
441
- // unswap using char pointers
442
- SIMD_FORCE_INLINE float btUnswapEndianFloat(unsigned int a)
443
- {
444
- float d = 0.0f;
445
- unsigned char *src = (unsigned char *)&a;
446
- unsigned char *dst = (unsigned char *)&d;
447
-
448
- dst[0] = src[3];
449
- dst[1] = src[2];
450
- dst[2] = src[1];
451
- dst[3] = src[0];
452
-
453
- return d;
454
- }
455
-
456
-
457
- // swap using char pointers
458
- SIMD_FORCE_INLINE void btSwapEndianDouble(double d, unsigned char* dst)
459
- {
460
- unsigned char *src = (unsigned char *)&d;
461
-
462
- dst[0] = src[7];
463
- dst[1] = src[6];
464
- dst[2] = src[5];
465
- dst[3] = src[4];
466
- dst[4] = src[3];
467
- dst[5] = src[2];
468
- dst[6] = src[1];
469
- dst[7] = src[0];
470
-
471
- }
472
-
473
- // unswap using char pointers
474
- SIMD_FORCE_INLINE double btUnswapEndianDouble(const unsigned char *src)
475
- {
476
- double d = 0.0;
477
- unsigned char *dst = (unsigned char *)&d;
478
-
479
- dst[0] = src[7];
480
- dst[1] = src[6];
481
- dst[2] = src[5];
482
- dst[3] = src[4];
483
- dst[4] = src[3];
484
- dst[5] = src[2];
485
- dst[6] = src[1];
486
- dst[7] = src[0];
487
-
488
- return d;
489
- }
490
-
491
- // returns normalized value in range [-SIMD_PI, SIMD_PI]
492
- SIMD_FORCE_INLINE btScalar btNormalizeAngle(btScalar angleInRadians)
493
- {
494
- angleInRadians = btFmod(angleInRadians, SIMD_2_PI);
495
- if(angleInRadians < -SIMD_PI)
496
- {
497
- return angleInRadians + SIMD_2_PI;
498
- }
499
- else if(angleInRadians > SIMD_PI)
500
- {
501
- return angleInRadians - SIMD_2_PI;
502
- }
503
- else
504
- {
505
- return angleInRadians;
506
- }
507
- }
508
-
509
- ///rudimentary class to provide type info
510
- struct btTypedObject
511
- {
512
- btTypedObject(int objectType)
513
- :m_objectType(objectType)
514
- {
515
- }
516
- int m_objectType;
517
- inline int getObjectType() const
518
- {
519
- return m_objectType;
520
- }
521
- };
522
-
523
-
524
- ///align a pointer to the provided alignment, upwards
525
- template <typename T>T* btAlignPointer(T* unalignedPtr, size_t alignment)
526
- {
527
- union
528
- {
529
- T* ptr;
530
- size_t integer;
531
- };
532
- const size_t bit_mask = ~(alignment - 1);
533
- ptr = unalignedPtr;
534
- integer += alignment-1;
535
- integer &= bit_mask;
536
- return ptr;
537
- }
538
-
539
- #endif //BT_SCALAR_H