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_ACCELERATED_SOFT_BODY_DX11_SOLVER_H
17
- #define BT_ACCELERATED_SOFT_BODY_DX11_SOLVER_H
18
-
19
-
20
- #include "vectormath/vmInclude.h"
21
- #include "BulletSoftBody/btSoftBodySolvers.h"
22
- #include "btSoftBodySolverVertexBuffer_DX11.h"
23
- #include "btSoftBodySolverLinkData_DX11.h"
24
- #include "btSoftBodySolverVertexData_DX11.h"
25
- #include "btSoftBodySolverTriangleData_DX11.h"
26
-
27
-
28
-
29
- class DXFunctions
30
- {
31
- public:
32
-
33
- typedef HRESULT (WINAPI * CompileFromMemoryFunc)(LPCSTR,SIZE_T,LPCSTR,const D3D10_SHADER_MACRO*,LPD3D10INCLUDE,LPCSTR,LPCSTR,UINT,UINT,ID3DX11ThreadPump*,ID3D10Blob**,ID3D10Blob**,HRESULT*);
34
-
35
- ID3D11Device * m_dx11Device;
36
- ID3D11DeviceContext* m_dx11Context;
37
- CompileFromMemoryFunc m_dx11CompileFromMemory;
38
-
39
- DXFunctions(ID3D11Device *dx11Device, ID3D11DeviceContext* dx11Context, CompileFromMemoryFunc dx11CompileFromMemory) :
40
- m_dx11Device( dx11Device ),
41
- m_dx11Context( dx11Context ),
42
- m_dx11CompileFromMemory( dx11CompileFromMemory )
43
- {
44
-
45
- }
46
-
47
- class KernelDesc
48
- {
49
- protected:
50
-
51
-
52
- public:
53
- ID3D11ComputeShader* kernel;
54
- ID3D11Buffer* constBuffer;
55
-
56
- KernelDesc()
57
- {
58
- kernel = 0;
59
- constBuffer = 0;
60
- }
61
-
62
- virtual ~KernelDesc()
63
- {
64
- // TODO: this should probably destroy its kernel but we need to be careful
65
- // in case KernelDescs are copied
66
- }
67
- };
68
-
69
- /**
70
- * Compile a compute shader kernel from a string and return the appropriate KernelDesc object.
71
- */
72
- KernelDesc compileComputeShaderFromString( const char* shaderString, const char* shaderName, int constBufferSize, D3D10_SHADER_MACRO *compileMacros = 0 );
73
-
74
- };
75
-
76
- class btDX11SoftBodySolver : public btSoftBodySolver
77
- {
78
- protected:
79
- /**
80
- * Entry in the collision shape array.
81
- * Specifies the shape type, the transform matrix and the necessary details of the collisionShape.
82
- */
83
- struct CollisionShapeDescription
84
- {
85
- Vectormath::Aos::Transform3 shapeTransform;
86
- Vectormath::Aos::Vector3 linearVelocity;
87
- Vectormath::Aos::Vector3 angularVelocity;
88
-
89
- int softBodyIdentifier;
90
- int collisionShapeType;
91
-
92
- // Both needed for capsule
93
- float radius;
94
- float halfHeight;
95
-
96
- float margin;
97
- float friction;
98
-
99
- CollisionShapeDescription()
100
- {
101
- collisionShapeType = 0;
102
- margin = 0;
103
- friction = 0;
104
- }
105
- };
106
-
107
- struct UIntVector3
108
- {
109
- UIntVector3()
110
- {
111
- x = 0;
112
- y = 0;
113
- z = 0;
114
- _padding = 0;
115
- }
116
-
117
- UIntVector3( unsigned int x_, unsigned int y_, unsigned int z_ )
118
- {
119
- x = x_;
120
- y = y_;
121
- z = z_;
122
- _padding = 0;
123
- }
124
-
125
- unsigned int x;
126
- unsigned int y;
127
- unsigned int z;
128
- unsigned int _padding;
129
- };
130
-
131
-
132
-
133
- public:
134
- /**
135
- * SoftBody class to maintain information about a soft body instance
136
- * within a solver.
137
- * This data addresses the main solver arrays.
138
- */
139
- class btAcceleratedSoftBodyInterface
140
- {
141
- protected:
142
- /** Current number of vertices that are part of this cloth */
143
- int m_numVertices;
144
- /** Maximum number of vertices allocated to be part of this cloth */
145
- int m_maxVertices;
146
- /** Current number of triangles that are part of this cloth */
147
- int m_numTriangles;
148
- /** Maximum number of triangles allocated to be part of this cloth */
149
- int m_maxTriangles;
150
- /** Index of first vertex in the world allocated to this cloth */
151
- int m_firstVertex;
152
- /** Index of first triangle in the world allocated to this cloth */
153
- int m_firstTriangle;
154
- /** Index of first link in the world allocated to this cloth */
155
- int m_firstLink;
156
- /** Maximum number of links allocated to this cloth */
157
- int m_maxLinks;
158
- /** Current number of links allocated to this cloth */
159
- int m_numLinks;
160
-
161
- /** The actual soft body this data represents */
162
- btSoftBody *m_softBody;
163
-
164
-
165
- public:
166
- btAcceleratedSoftBodyInterface( btSoftBody *softBody ) :
167
- m_softBody( softBody )
168
- {
169
- m_numVertices = 0;
170
- m_maxVertices = 0;
171
- m_numTriangles = 0;
172
- m_maxTriangles = 0;
173
- m_firstVertex = 0;
174
- m_firstTriangle = 0;
175
- m_firstLink = 0;
176
- m_maxLinks = 0;
177
- m_numLinks = 0;
178
- }
179
- int getNumVertices() const
180
- {
181
- return m_numVertices;
182
- }
183
-
184
- int getNumTriangles() const
185
- {
186
- return m_numTriangles;
187
- }
188
-
189
- int getMaxVertices() const
190
- {
191
- return m_maxVertices;
192
- }
193
-
194
- int getMaxTriangles() const
195
- {
196
- return m_maxTriangles;
197
- }
198
-
199
- int getFirstVertex() const
200
- {
201
- return m_firstVertex;
202
- }
203
-
204
- int getFirstTriangle() const
205
- {
206
- return m_firstTriangle;
207
- }
208
-
209
-
210
- /**
211
- * Update the bounds in the btSoftBody object
212
- */
213
- void updateBounds( const btVector3 &lowerBound, const btVector3 &upperBound );
214
-
215
-
216
- // TODO: All of these set functions will have to do checks and
217
- // update the world because restructuring of the arrays will be necessary
218
- // Reasonable use of "friend"?
219
- void setNumVertices( int numVertices )
220
- {
221
- m_numVertices = numVertices;
222
- }
223
-
224
- void setNumTriangles( int numTriangles )
225
- {
226
- m_numTriangles = numTriangles;
227
- }
228
-
229
- void setMaxVertices( int maxVertices )
230
- {
231
- m_maxVertices = maxVertices;
232
- }
233
-
234
- void setMaxTriangles( int maxTriangles )
235
- {
236
- m_maxTriangles = maxTriangles;
237
- }
238
-
239
- void setFirstVertex( int firstVertex )
240
- {
241
- m_firstVertex = firstVertex;
242
- }
243
-
244
- void setFirstTriangle( int firstTriangle )
245
- {
246
- m_firstTriangle = firstTriangle;
247
- }
248
-
249
- void setMaxLinks( int maxLinks )
250
- {
251
- m_maxLinks = maxLinks;
252
- }
253
-
254
- void setNumLinks( int numLinks )
255
- {
256
- m_numLinks = numLinks;
257
- }
258
-
259
- void setFirstLink( int firstLink )
260
- {
261
- m_firstLink = firstLink;
262
- }
263
-
264
- int getMaxLinks()
265
- {
266
- return m_maxLinks;
267
- }
268
-
269
- int getNumLinks()
270
- {
271
- return m_numLinks;
272
- }
273
-
274
- int getFirstLink()
275
- {
276
- return m_firstLink;
277
- }
278
-
279
- btSoftBody* getSoftBody()
280
- {
281
- return m_softBody;
282
- }
283
-
284
- };
285
-
286
-
287
- struct CollisionObjectIndices
288
- {
289
- CollisionObjectIndices( int f, int e )
290
- {
291
- firstObject = f;
292
- endObject = e;
293
- }
294
-
295
- int firstObject;
296
- int endObject;
297
- };
298
-
299
-
300
-
301
-
302
-
303
- struct PrepareLinksCB
304
- {
305
- int numLinks;
306
- int padding0;
307
- int padding1;
308
- int padding2;
309
- };
310
-
311
- struct SolvePositionsFromLinksKernelCB
312
- {
313
- int startLink;
314
- int numLinks;
315
- float kst;
316
- float ti;
317
- };
318
-
319
- struct IntegrateCB
320
- {
321
- int numNodes;
322
- float solverdt;
323
- int padding1;
324
- int padding2;
325
- };
326
-
327
- struct UpdatePositionsFromVelocitiesCB
328
- {
329
- int numNodes;
330
- float solverSDT;
331
- int padding1;
332
- int padding2;
333
- };
334
-
335
- struct UpdateVelocitiesFromPositionsWithoutVelocitiesCB
336
- {
337
- int numNodes;
338
- float isolverdt;
339
- int padding1;
340
- int padding2;
341
- };
342
-
343
- struct UpdateVelocitiesFromPositionsWithVelocitiesCB
344
- {
345
- int numNodes;
346
- float isolverdt;
347
- int padding1;
348
- int padding2;
349
- };
350
-
351
- struct UpdateSoftBodiesCB
352
- {
353
- int numNodes;
354
- int startFace;
355
- int numFaces;
356
- float epsilon;
357
- };
358
-
359
-
360
- struct ApplyForcesCB
361
- {
362
- unsigned int numNodes;
363
- float solverdt;
364
- float epsilon;
365
- int padding3;
366
- };
367
-
368
- struct AddVelocityCB
369
- {
370
- int startNode;
371
- int lastNode;
372
- float velocityX;
373
- float velocityY;
374
- float velocityZ;
375
- int padding1;
376
- int padding2;
377
- int padding3;
378
- };
379
-
380
- struct VSolveLinksCB
381
- {
382
- int startLink;
383
- int numLinks;
384
- float kst;
385
- int padding;
386
- };
387
-
388
- struct ComputeBoundsCB
389
- {
390
- int numNodes;
391
- int numSoftBodies;
392
- int padding1;
393
- int padding2;
394
- };
395
-
396
- struct SolveCollisionsAndUpdateVelocitiesCB
397
- {
398
- unsigned int numNodes;
399
- float isolverdt;
400
- int padding0;
401
- int padding1;
402
- };
403
-
404
-
405
-
406
-
407
- protected:
408
- ID3D11Device * m_dx11Device;
409
- ID3D11DeviceContext* m_dx11Context;
410
-
411
- DXFunctions dxFunctions;
412
- public:
413
- /** Link data for all cloths. Note that this will be sorted batch-wise for efficient computation and m_linkAddresses will maintain the addressing. */
414
- btSoftBodyLinkDataDX11 m_linkData;
415
- btSoftBodyVertexDataDX11 m_vertexData;
416
- btSoftBodyTriangleDataDX11 m_triangleData;
417
-
418
- protected:
419
-
420
- /** Variable to define whether we need to update solver constants on the next iteration */
421
- bool m_updateSolverConstants;
422
-
423
- bool m_shadersInitialized;
424
-
425
- /**
426
- * Cloths owned by this solver.
427
- * Only our cloths are in this array.
428
- */
429
- btAlignedObjectArray< btAcceleratedSoftBodyInterface * > m_softBodySet;
430
-
431
- /** Acceleration value to be applied to all non-static vertices in the solver.
432
- * Index n is cloth n, array sized by number of cloths in the world not the solver.
433
- */
434
- btAlignedObjectArray< Vectormath::Aos::Vector3 > m_perClothAcceleration;
435
- btDX11Buffer<Vectormath::Aos::Vector3> m_dx11PerClothAcceleration;
436
-
437
- /** Wind velocity to be applied normal to all non-static vertices in the solver.
438
- * Index n is cloth n, array sized by number of cloths in the world not the solver.
439
- */
440
- btAlignedObjectArray< Vectormath::Aos::Vector3 > m_perClothWindVelocity;
441
- btDX11Buffer<Vectormath::Aos::Vector3> m_dx11PerClothWindVelocity;
442
-
443
- /** Velocity damping factor */
444
- btAlignedObjectArray< float > m_perClothDampingFactor;
445
- btDX11Buffer<float> m_dx11PerClothDampingFactor;
446
-
447
- /** Velocity correction coefficient */
448
- btAlignedObjectArray< float > m_perClothVelocityCorrectionCoefficient;
449
- btDX11Buffer<float> m_dx11PerClothVelocityCorrectionCoefficient;
450
-
451
- /** Lift parameter for wind effect on cloth. */
452
- btAlignedObjectArray< float > m_perClothLiftFactor;
453
- btDX11Buffer<float> m_dx11PerClothLiftFactor;
454
-
455
- /** Drag parameter for wind effect on cloth. */
456
- btAlignedObjectArray< float > m_perClothDragFactor;
457
- btDX11Buffer<float> m_dx11PerClothDragFactor;
458
-
459
- /** Density of the medium in which each cloth sits */
460
- btAlignedObjectArray< float > m_perClothMediumDensity;
461
- btDX11Buffer<float> m_dx11PerClothMediumDensity;
462
-
463
-
464
- /**
465
- * Collision shape details: pair of index of first collision shape for the cloth and number of collision objects.
466
- */
467
- btAlignedObjectArray< CollisionObjectIndices > m_perClothCollisionObjects;
468
- btDX11Buffer<CollisionObjectIndices> m_dx11PerClothCollisionObjects;
469
-
470
- /**
471
- * Collision shapes being passed across to the cloths in this solver.
472
- */
473
- btAlignedObjectArray< CollisionShapeDescription > m_collisionObjectDetails;
474
- btDX11Buffer< CollisionShapeDescription > m_dx11CollisionObjectDetails;
475
-
476
- /**
477
- * Minimum bounds for each cloth.
478
- * Updated by GPU and returned for use by broad phase.
479
- * These are int vectors as a reminder that they store the int representation of a float, not a float.
480
- * Bit 31 is inverted - is floats are stored with int-sortable values.
481
- */
482
- btAlignedObjectArray< UIntVector3 > m_perClothMinBounds;
483
- btDX11Buffer< UIntVector3 > m_dx11PerClothMinBounds;
484
-
485
- /**
486
- * Maximum bounds for each cloth.
487
- * Updated by GPU and returned for use by broad phase.
488
- * These are int vectors as a reminder that they store the int representation of a float, not a float.
489
- * Bit 31 is inverted - is floats are stored with int-sortable values.
490
- */
491
- btAlignedObjectArray< UIntVector3 > m_perClothMaxBounds;
492
- btDX11Buffer< UIntVector3 > m_dx11PerClothMaxBounds;
493
-
494
-
495
- /**
496
- * Friction coefficient for each cloth
497
- */
498
- btAlignedObjectArray< float > m_perClothFriction;
499
- btDX11Buffer< float > m_dx11PerClothFriction;
500
-
501
- DXFunctions::KernelDesc prepareLinksKernel;
502
- DXFunctions::KernelDesc solvePositionsFromLinksKernel;
503
- DXFunctions::KernelDesc vSolveLinksKernel;
504
- DXFunctions::KernelDesc integrateKernel;
505
- DXFunctions::KernelDesc addVelocityKernel;
506
- DXFunctions::KernelDesc updatePositionsFromVelocitiesKernel;
507
- DXFunctions::KernelDesc updateVelocitiesFromPositionsWithoutVelocitiesKernel;
508
- DXFunctions::KernelDesc updateVelocitiesFromPositionsWithVelocitiesKernel;
509
- DXFunctions::KernelDesc solveCollisionsAndUpdateVelocitiesKernel;
510
- DXFunctions::KernelDesc resetNormalsAndAreasKernel;
511
- DXFunctions::KernelDesc normalizeNormalsAndAreasKernel;
512
- DXFunctions::KernelDesc computeBoundsKernel;
513
- DXFunctions::KernelDesc updateSoftBodiesKernel;
514
-
515
- DXFunctions::KernelDesc applyForcesKernel;
516
-
517
- bool m_enableUpdateBounds;
518
-
519
- /**
520
- * Integrate motion on the solver.
521
- */
522
- virtual void integrate( float solverdt );
523
- float computeTriangleArea(
524
- const Vectormath::Aos::Point3 &vertex0,
525
- const Vectormath::Aos::Point3 &vertex1,
526
- const Vectormath::Aos::Point3 &vertex2 );
527
-
528
-
529
- virtual bool buildShaders();
530
-
531
- void resetNormalsAndAreas( int numVertices );
532
-
533
- void normalizeNormalsAndAreas( int numVertices );
534
-
535
- void executeUpdateSoftBodies( int firstTriangle, int numTriangles );
536
-
537
- void prepareCollisionConstraints();
538
-
539
- Vectormath::Aos::Vector3 ProjectOnAxis( const Vectormath::Aos::Vector3 &v, const Vectormath::Aos::Vector3 &a );
540
-
541
- void ApplyClampedForce( float solverdt, const Vectormath::Aos::Vector3 &force, const Vectormath::Aos::Vector3 &vertexVelocity, float inverseMass, Vectormath::Aos::Vector3 &vertexForce );
542
-
543
- virtual void applyForces( float solverdt );
544
-
545
- virtual void updateConstants( float timeStep );
546
- int findSoftBodyIndex( const btSoftBody* const softBody );
547
-
548
- //////////////////////////////////////
549
- // Kernel dispatches
550
- virtual void prepareLinks();
551
-
552
- void updatePositionsFromVelocities( float solverdt );
553
- void solveLinksForPosition( int startLink, int numLinks, float kst, float ti );
554
- void solveLinksForVelocity( int startLink, int numLinks, float kst );
555
-
556
- void updateVelocitiesFromPositionsWithVelocities( float isolverdt );
557
- void updateVelocitiesFromPositionsWithoutVelocities( float isolverdt );
558
- void computeBounds( );
559
- void solveCollisionsAndUpdateVelocities( float isolverdt );
560
-
561
- // End kernel dispatches
562
- /////////////////////////////////////
563
-
564
- void updateBounds();
565
-
566
-
567
- void releaseKernels();
568
-
569
- public:
570
- btDX11SoftBodySolver(ID3D11Device * dx11Device, ID3D11DeviceContext* dx11Context, DXFunctions::CompileFromMemoryFunc dx11CompileFromMemory = &D3DX11CompileFromMemory);
571
-
572
- virtual ~btDX11SoftBodySolver();
573
-
574
-
575
- virtual SolverTypes getSolverType() const
576
- {
577
- return DX_SOLVER;
578
- }
579
-
580
- void setEnableUpdateBounds(bool enableBounds)
581
- {
582
- m_enableUpdateBounds = enableBounds;
583
- }
584
- bool getEnableUpdateBounds() const
585
- {
586
- return m_enableUpdateBounds;
587
- }
588
-
589
-
590
-
591
- virtual btSoftBodyLinkData &getLinkData();
592
-
593
- virtual btSoftBodyVertexData &getVertexData();
594
-
595
- virtual btSoftBodyTriangleData &getTriangleData();
596
-
597
-
598
-
599
-
600
-
601
- btAcceleratedSoftBodyInterface *findSoftBodyInterface( const btSoftBody* const softBody );
602
- const btAcceleratedSoftBodyInterface * const findSoftBodyInterface( const btSoftBody* const softBody ) const;
603
-
604
- virtual bool checkInitialized();
605
-
606
- virtual void updateSoftBodies( );
607
-
608
- virtual void optimize( btAlignedObjectArray< btSoftBody * > &softBodies , bool forceUpdate=false);
609
-
610
- virtual void copyBackToSoftBodies(bool bMove = true);
611
-
612
- virtual void solveConstraints( float solverdt );
613
-
614
- virtual void predictMotion( float solverdt );
615
-
616
-
617
- virtual void processCollision( btSoftBody *, btCollisionObject* );
618
-
619
- virtual void processCollision( btSoftBody*, btSoftBody* );
620
-
621
- };
622
-
623
-
624
-
625
- /**
626
- * Class to manage movement of data from a solver to a given target.
627
- * This version is the DX to CPU version.
628
- */
629
- class btSoftBodySolverOutputDXtoCPU : public btSoftBodySolverOutput
630
- {
631
- protected:
632
-
633
- public:
634
- btSoftBodySolverOutputDXtoCPU()
635
- {
636
- }
637
-
638
- /** Output current computed vertex data to the vertex buffers for all cloths in the solver. */
639
- virtual void copySoftBodyToVertexBuffer( const btSoftBody * const softBody, btVertexBufferDescriptor *vertexBuffer );
640
- };
641
-
642
- /**
643
- * Class to manage movement of data from a solver to a given target.
644
- * This version is the DX to DX version and subclasses DX to CPU so that it works for that too.
645
- */
646
- class btSoftBodySolverOutputDXtoDX : public btSoftBodySolverOutputDXtoCPU
647
- {
648
- protected:
649
- struct OutputToVertexArrayCB
650
- {
651
- int startNode;
652
- int numNodes;
653
- int positionOffset;
654
- int positionStride;
655
-
656
- int normalOffset;
657
- int normalStride;
658
- int padding1;
659
- int padding2;
660
- };
661
-
662
- DXFunctions dxFunctions;
663
- DXFunctions::KernelDesc outputToVertexArrayWithNormalsKernel;
664
- DXFunctions::KernelDesc outputToVertexArrayWithoutNormalsKernel;
665
-
666
-
667
- bool m_shadersInitialized;
668
-
669
- bool checkInitialized();
670
- bool buildShaders();
671
- void releaseKernels();
672
-
673
- public:
674
- btSoftBodySolverOutputDXtoDX(ID3D11Device *dx11Device, ID3D11DeviceContext* dx11Context, DXFunctions::CompileFromMemoryFunc dx11CompileFromMemory = &D3DX11CompileFromMemory) :
675
- dxFunctions( dx11Device, dx11Context, dx11CompileFromMemory )
676
- {
677
- m_shadersInitialized = false;
678
- }
679
-
680
- ~btSoftBodySolverOutputDXtoDX()
681
- {
682
- releaseKernels();
683
- }
684
-
685
- /** Output current computed vertex data to the vertex buffers for all cloths in the solver. */
686
- virtual void copySoftBodyToVertexBuffer( const btSoftBody * const softBody, btVertexBufferDescriptor *vertexBuffer );
687
- };
688
-
689
- #endif // #ifndef BT_ACCELERATED_SOFT_BODY_DX11_SOLVER_H
690
-
691
-