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,163 +0,0 @@
1
- /*! \file btGenericPoolAllocator.h
2
- \author Francisco Leon Najera. email projectileman@yahoo.com
3
-
4
- General purpose allocator class
5
- */
6
- /*
7
- Bullet Continuous Collision Detection and Physics Library
8
- Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
9
-
10
- This software is provided 'as-is', without any express or implied warranty.
11
- In no event will the authors be held liable for any damages arising from the use of this software.
12
- Permission is granted to anyone to use this software for any purpose,
13
- including commercial applications, and to alter it and redistribute it freely,
14
- subject to the following restrictions:
15
-
16
- 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.
17
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
18
- 3. This notice may not be removed or altered from any source distribution.
19
- */
20
-
21
- #ifndef BT_GENERIC_POOL_ALLOCATOR_H
22
- #define BT_GENERIC_POOL_ALLOCATOR_H
23
-
24
- #include <limits.h>
25
- #include <stdio.h>
26
- #include <string.h>
27
- #include "LinearMath/btAlignedAllocator.h"
28
-
29
- #define BT_UINT_MAX UINT_MAX
30
- #define BT_DEFAULT_MAX_POOLS 16
31
-
32
-
33
- //! Generic Pool class
34
- class btGenericMemoryPool
35
- {
36
- public:
37
- unsigned char * m_pool; //[m_element_size*m_max_element_count];
38
- size_t * m_free_nodes; //[m_max_element_count];//! free nodes
39
- size_t * m_allocated_sizes;//[m_max_element_count];//! Number of elements allocated per node
40
- size_t m_allocated_count;
41
- size_t m_free_nodes_count;
42
- protected:
43
- size_t m_element_size;
44
- size_t m_max_element_count;
45
-
46
- size_t allocate_from_free_nodes(size_t num_elements);
47
- size_t allocate_from_pool(size_t num_elements);
48
-
49
- public:
50
-
51
- void init_pool(size_t element_size, size_t element_count);
52
-
53
- void end_pool();
54
-
55
-
56
- btGenericMemoryPool(size_t element_size, size_t element_count)
57
- {
58
- init_pool(element_size, element_count);
59
- }
60
-
61
- ~btGenericMemoryPool()
62
- {
63
- end_pool();
64
- }
65
-
66
-
67
- inline size_t get_pool_capacity()
68
- {
69
- return m_element_size*m_max_element_count;
70
- }
71
-
72
- inline size_t gem_element_size()
73
- {
74
- return m_element_size;
75
- }
76
-
77
- inline size_t get_max_element_count()
78
- {
79
- return m_max_element_count;
80
- }
81
-
82
- inline size_t get_allocated_count()
83
- {
84
- return m_allocated_count;
85
- }
86
-
87
- inline size_t get_free_positions_count()
88
- {
89
- return m_free_nodes_count;
90
- }
91
-
92
- inline void * get_element_data(size_t element_index)
93
- {
94
- return &m_pool[element_index*m_element_size];
95
- }
96
-
97
- //! Allocates memory in pool
98
- /*!
99
- \param size_bytes size in bytes of the buffer
100
- */
101
- void * allocate(size_t size_bytes);
102
-
103
- bool freeMemory(void * pointer);
104
- };
105
-
106
-
107
-
108
-
109
- //! Generic Allocator with pools
110
- /*!
111
- General purpose Allocator which can create Memory Pools dynamiacally as needed.
112
- */
113
- class btGenericPoolAllocator
114
- {
115
- protected:
116
- size_t m_pool_element_size;
117
- size_t m_pool_element_count;
118
- public:
119
- btGenericMemoryPool * m_pools[BT_DEFAULT_MAX_POOLS];
120
- size_t m_pool_count;
121
-
122
-
123
- inline size_t get_pool_capacity()
124
- {
125
- return m_pool_element_size*m_pool_element_count;
126
- }
127
-
128
-
129
- protected:
130
- // creates a pool
131
- btGenericMemoryPool * push_new_pool();
132
-
133
- void * failback_alloc(size_t size_bytes);
134
-
135
- bool failback_free(void * pointer);
136
- public:
137
-
138
- btGenericPoolAllocator(size_t pool_element_size, size_t pool_element_count)
139
- {
140
- m_pool_count = 0;
141
- m_pool_element_size = pool_element_size;
142
- m_pool_element_count = pool_element_count;
143
- }
144
-
145
- virtual ~btGenericPoolAllocator();
146
-
147
- //! Allocates memory in pool
148
- /*!
149
- \param size_bytes size in bytes of the buffer
150
- */
151
- void * allocate(size_t size_bytes);
152
-
153
- bool freeMemory(void * pointer);
154
- };
155
-
156
-
157
-
158
- void * btPoolAlloc(size_t size);
159
- void * btPoolRealloc(void *ptr, size_t oldsize, size_t newsize);
160
- void btPoolFree(void *ptr);
161
-
162
-
163
- #endif
@@ -1,212 +0,0 @@
1
- #ifndef BT_BASIC_GEOMETRY_OPERATIONS_H_INCLUDED
2
- #define BT_BASIC_GEOMETRY_OPERATIONS_H_INCLUDED
3
-
4
- /*! \file btGeometryOperations.h
5
- *\author Francisco Leon Najera
6
-
7
- */
8
- /*
9
- This source file is part of GIMPACT Library.
10
-
11
- For the latest info, see http://gimpact.sourceforge.net/
12
-
13
- Copyright (c) 2007 Francisco Leon Najera. C.C. 80087371.
14
- email: projectileman@yahoo.com
15
-
16
-
17
- This software is provided 'as-is', without any express or implied warranty.
18
- In no event will the authors be held liable for any damages arising from the use of this software.
19
- Permission is granted to anyone to use this software for any purpose,
20
- including commercial applications, and to alter it and redistribute it freely,
21
- subject to the following restrictions:
22
-
23
- 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.
24
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
25
- 3. This notice may not be removed or altered from any source distribution.
26
- */
27
-
28
- #include "btBoxCollision.h"
29
-
30
-
31
-
32
-
33
-
34
- #define PLANEDIREPSILON 0.0000001f
35
- #define PARALELENORMALS 0.000001f
36
-
37
-
38
- #define BT_CLAMP(number,minval,maxval) (number<minval?minval:(number>maxval?maxval:number))
39
-
40
- /// Calc a plane from a triangle edge an a normal. plane is a vec4f
41
- SIMD_FORCE_INLINE void bt_edge_plane(const btVector3 & e1,const btVector3 & e2, const btVector3 & normal,btVector4 & plane)
42
- {
43
- btVector3 planenormal = (e2-e1).cross(normal);
44
- planenormal.normalize();
45
- plane.setValue(planenormal[0],planenormal[1],planenormal[2],e2.dot(planenormal));
46
- }
47
-
48
-
49
-
50
- //***************** SEGMENT and LINE FUNCTIONS **********************************///
51
-
52
- /*! Finds the closest point(cp) to (v) on a segment (e1,e2)
53
- */
54
- SIMD_FORCE_INLINE void bt_closest_point_on_segment(
55
- btVector3 & cp, const btVector3 & v,
56
- const btVector3 &e1,const btVector3 &e2)
57
- {
58
- btVector3 n = e2-e1;
59
- cp = v - e1;
60
- btScalar _scalar = cp.dot(n)/n.dot(n);
61
- if(_scalar <0.0f)
62
- {
63
- cp = e1;
64
- }
65
- else if(_scalar >1.0f)
66
- {
67
- cp = e2;
68
- }
69
- else
70
- {
71
- cp = _scalar*n + e1;
72
- }
73
- }
74
-
75
-
76
- //! line plane collision
77
- /*!
78
- *\return
79
- -0 if the ray never intersects
80
- -1 if the ray collides in front
81
- -2 if the ray collides in back
82
- */
83
-
84
- SIMD_FORCE_INLINE int bt_line_plane_collision(
85
- const btVector4 & plane,
86
- const btVector3 & vDir,
87
- const btVector3 & vPoint,
88
- btVector3 & pout,
89
- btScalar &tparam,
90
- btScalar tmin, btScalar tmax)
91
- {
92
-
93
- btScalar _dotdir = vDir.dot(plane);
94
-
95
- if(btFabs(_dotdir)<PLANEDIREPSILON)
96
- {
97
- tparam = tmax;
98
- return 0;
99
- }
100
-
101
- btScalar _dis = bt_distance_point_plane(plane,vPoint);
102
- char returnvalue = _dis<0.0f? 2:1;
103
- tparam = -_dis/_dotdir;
104
-
105
- if(tparam<tmin)
106
- {
107
- returnvalue = 0;
108
- tparam = tmin;
109
- }
110
- else if(tparam>tmax)
111
- {
112
- returnvalue = 0;
113
- tparam = tmax;
114
- }
115
- pout = tparam*vDir + vPoint;
116
- return returnvalue;
117
- }
118
-
119
-
120
- //! Find closest points on segments
121
- SIMD_FORCE_INLINE void bt_segment_collision(
122
- const btVector3 & vA1,
123
- const btVector3 & vA2,
124
- const btVector3 & vB1,
125
- const btVector3 & vB2,
126
- btVector3 & vPointA,
127
- btVector3 & vPointB)
128
- {
129
- btVector3 AD = vA2 - vA1;
130
- btVector3 BD = vB2 - vB1;
131
- btVector3 N = AD.cross(BD);
132
- btScalar tp = N.length2();
133
-
134
- btVector4 _M;//plane
135
-
136
- if(tp<SIMD_EPSILON)//ARE PARALELE
137
- {
138
- //project B over A
139
- bool invert_b_order = false;
140
- _M[0] = vB1.dot(AD);
141
- _M[1] = vB2.dot(AD);
142
-
143
- if(_M[0]>_M[1])
144
- {
145
- invert_b_order = true;
146
- BT_SWAP_NUMBERS(_M[0],_M[1]);
147
- }
148
- _M[2] = vA1.dot(AD);
149
- _M[3] = vA2.dot(AD);
150
- //mid points
151
- N[0] = (_M[0]+_M[1])*0.5f;
152
- N[1] = (_M[2]+_M[3])*0.5f;
153
-
154
- if(N[0]<N[1])
155
- {
156
- if(_M[1]<_M[2])
157
- {
158
- vPointB = invert_b_order?vB1:vB2;
159
- vPointA = vA1;
160
- }
161
- else if(_M[1]<_M[3])
162
- {
163
- vPointB = invert_b_order?vB1:vB2;
164
- bt_closest_point_on_segment(vPointA,vPointB,vA1,vA2);
165
- }
166
- else
167
- {
168
- vPointA = vA2;
169
- bt_closest_point_on_segment(vPointB,vPointA,vB1,vB2);
170
- }
171
- }
172
- else
173
- {
174
- if(_M[3]<_M[0])
175
- {
176
- vPointB = invert_b_order?vB2:vB1;
177
- vPointA = vA2;
178
- }
179
- else if(_M[3]<_M[1])
180
- {
181
- vPointA = vA2;
182
- bt_closest_point_on_segment(vPointB,vPointA,vB1,vB2);
183
- }
184
- else
185
- {
186
- vPointB = invert_b_order?vB1:vB2;
187
- bt_closest_point_on_segment(vPointA,vPointB,vA1,vA2);
188
- }
189
- }
190
- return;
191
- }
192
-
193
- N = N.cross(BD);
194
- _M.setValue(N[0],N[1],N[2],vB1.dot(N));
195
-
196
- // get point A as the plane collision point
197
- bt_line_plane_collision(_M,AD,vA1,vPointA,tp,btScalar(0), btScalar(1));
198
-
199
- /*Closest point on segment*/
200
- vPointB = vPointA - vB1;
201
- tp = vPointB.dot(BD);
202
- tp/= BD.dot(BD);
203
- tp = BT_CLAMP(tp,0.0f,1.0f);
204
-
205
- vPointB = tp*BD + vB1;
206
- }
207
-
208
-
209
-
210
-
211
-
212
- #endif // GIM_VECTOR_H_INCLUDED
@@ -1,88 +0,0 @@
1
- #ifndef BT_GIMPACT_QUANTIZATION_H_INCLUDED
2
- #define BT_GIMPACT_QUANTIZATION_H_INCLUDED
3
-
4
- /*! \file btQuantization.h
5
- *\author Francisco Leon Najera
6
-
7
- */
8
- /*
9
- This source file is part of GIMPACT Library.
10
-
11
- For the latest info, see http://gimpact.sourceforge.net/
12
-
13
- Copyright (c) 2007 Francisco Leon Najera. C.C. 80087371.
14
- email: projectileman@yahoo.com
15
-
16
-
17
- This software is provided 'as-is', without any express or implied warranty.
18
- In no event will the authors be held liable for any damages arising from the use of this software.
19
- Permission is granted to anyone to use this software for any purpose,
20
- including commercial applications, and to alter it and redistribute it freely,
21
- subject to the following restrictions:
22
-
23
- 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.
24
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
25
- 3. This notice may not be removed or altered from any source distribution.
26
- */
27
-
28
- #include "LinearMath/btTransform.h"
29
-
30
-
31
-
32
-
33
-
34
-
35
- SIMD_FORCE_INLINE void bt_calc_quantization_parameters(
36
- btVector3 & outMinBound,
37
- btVector3 & outMaxBound,
38
- btVector3 & bvhQuantization,
39
- const btVector3& srcMinBound,const btVector3& srcMaxBound,
40
- btScalar quantizationMargin)
41
- {
42
- //enlarge the AABB to avoid division by zero when initializing the quantization values
43
- btVector3 clampValue(quantizationMargin,quantizationMargin,quantizationMargin);
44
- outMinBound = srcMinBound - clampValue;
45
- outMaxBound = srcMaxBound + clampValue;
46
- btVector3 aabbSize = outMaxBound - outMinBound;
47
- bvhQuantization = btVector3(btScalar(65535.0),
48
- btScalar(65535.0),
49
- btScalar(65535.0)) / aabbSize;
50
- }
51
-
52
-
53
- SIMD_FORCE_INLINE void bt_quantize_clamp(
54
- unsigned short* out,
55
- const btVector3& point,
56
- const btVector3 & min_bound,
57
- const btVector3 & max_bound,
58
- const btVector3 & bvhQuantization)
59
- {
60
-
61
- btVector3 clampedPoint(point);
62
- clampedPoint.setMax(min_bound);
63
- clampedPoint.setMin(max_bound);
64
-
65
- btVector3 v = (clampedPoint - min_bound) * bvhQuantization;
66
- out[0] = (unsigned short)(v.getX()+0.5f);
67
- out[1] = (unsigned short)(v.getY()+0.5f);
68
- out[2] = (unsigned short)(v.getZ()+0.5f);
69
- }
70
-
71
-
72
- SIMD_FORCE_INLINE btVector3 bt_unquantize(
73
- const unsigned short* vecIn,
74
- const btVector3 & offset,
75
- const btVector3 & bvhQuantization)
76
- {
77
- btVector3 vecOut;
78
- vecOut.setValue(
79
- (btScalar)(vecIn[0]) / (bvhQuantization.getX()),
80
- (btScalar)(vecIn[1]) / (bvhQuantization.getY()),
81
- (btScalar)(vecIn[2]) / (bvhQuantization.getZ()));
82
- vecOut += offset;
83
- return vecOut;
84
- }
85
-
86
-
87
-
88
- #endif // BT_GIMPACT_QUANTIZATION_H_INCLUDED
@@ -1,180 +0,0 @@
1
- /*! \file btGImpactShape.h
2
- \author Francisco Leon Najera
3
- */
4
- /*
5
- This source file is part of GIMPACT Library.
6
-
7
- For the latest info, see http://gimpact.sourceforge.net/
8
-
9
- Copyright (c) 2007 Francisco Leon Najera. C.C. 80087371.
10
- email: projectileman@yahoo.com
11
-
12
-
13
- This software is provided 'as-is', without any express or implied warranty.
14
- In no event will the authors be held liable for any damages arising from the use of this software.
15
- Permission is granted to anyone to use this software for any purpose,
16
- including commercial applications, and to alter it and redistribute it freely,
17
- subject to the following restrictions:
18
-
19
- 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.
20
- 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
21
- 3. This notice may not be removed or altered from any source distribution.
22
- */
23
-
24
-
25
- #ifndef GIMPACT_TRIANGLE_SHAPE_EX_H
26
- #define GIMPACT_TRIANGLE_SHAPE_EX_H
27
-
28
- #include "BulletCollision/CollisionShapes/btCollisionShape.h"
29
- #include "BulletCollision/CollisionShapes/btTriangleShape.h"
30
- #include "btBoxCollision.h"
31
- #include "btClipPolygon.h"
32
- #include "btGeometryOperations.h"
33
-
34
-
35
- #define MAX_TRI_CLIPPING 16
36
-
37
- //! Structure for collision
38
- struct GIM_TRIANGLE_CONTACT
39
- {
40
- btScalar m_penetration_depth;
41
- int m_point_count;
42
- btVector4 m_separating_normal;
43
- btVector3 m_points[MAX_TRI_CLIPPING];
44
-
45
- SIMD_FORCE_INLINE void copy_from(const GIM_TRIANGLE_CONTACT& other)
46
- {
47
- m_penetration_depth = other.m_penetration_depth;
48
- m_separating_normal = other.m_separating_normal;
49
- m_point_count = other.m_point_count;
50
- int i = m_point_count;
51
- while(i--)
52
- {
53
- m_points[i] = other.m_points[i];
54
- }
55
- }
56
-
57
- GIM_TRIANGLE_CONTACT()
58
- {
59
- }
60
-
61
- GIM_TRIANGLE_CONTACT(const GIM_TRIANGLE_CONTACT& other)
62
- {
63
- copy_from(other);
64
- }
65
-
66
- //! classify points that are closer
67
- void merge_points(const btVector4 & plane,
68
- btScalar margin, const btVector3 * points, int point_count);
69
-
70
- };
71
-
72
-
73
-
74
- class btPrimitiveTriangle
75
- {
76
- public:
77
- btVector3 m_vertices[3];
78
- btVector4 m_plane;
79
- btScalar m_margin;
80
- btScalar m_dummy;
81
- btPrimitiveTriangle():m_margin(0.01f)
82
- {
83
-
84
- }
85
-
86
-
87
- SIMD_FORCE_INLINE void buildTriPlane()
88
- {
89
- btVector3 normal = (m_vertices[1]-m_vertices[0]).cross(m_vertices[2]-m_vertices[0]);
90
- normal.normalize();
91
- m_plane.setValue(normal[0],normal[1],normal[2],m_vertices[0].dot(normal));
92
- }
93
-
94
- //! Test if triangles could collide
95
- bool overlap_test_conservative(const btPrimitiveTriangle& other);
96
-
97
- //! Calcs the plane which is paralele to the edge and perpendicular to the triangle plane
98
- /*!
99
- \pre this triangle must have its plane calculated.
100
- */
101
- SIMD_FORCE_INLINE void get_edge_plane(int edge_index, btVector4 &plane) const
102
- {
103
- const btVector3 & e0 = m_vertices[edge_index];
104
- const btVector3 & e1 = m_vertices[(edge_index+1)%3];
105
- bt_edge_plane(e0,e1,m_plane,plane);
106
- }
107
-
108
- void applyTransform(const btTransform& t)
109
- {
110
- m_vertices[0] = t(m_vertices[0]);
111
- m_vertices[1] = t(m_vertices[1]);
112
- m_vertices[2] = t(m_vertices[2]);
113
- }
114
-
115
- //! Clips the triangle against this
116
- /*!
117
- \pre clipped_points must have MAX_TRI_CLIPPING size, and this triangle must have its plane calculated.
118
- \return the number of clipped points
119
- */
120
- int clip_triangle(btPrimitiveTriangle & other, btVector3 * clipped_points );
121
-
122
- //! Find collision using the clipping method
123
- /*!
124
- \pre this triangle and other must have their triangles calculated
125
- */
126
- bool find_triangle_collision_clip_method(btPrimitiveTriangle & other, GIM_TRIANGLE_CONTACT & contacts);
127
- };
128
-
129
-
130
-
131
- //! Helper class for colliding Bullet Triangle Shapes
132
- /*!
133
- This class implements a better getAabb method than the previous btTriangleShape class
134
- */
135
- class btTriangleShapeEx: public btTriangleShape
136
- {
137
- public:
138
-
139
- btTriangleShapeEx():btTriangleShape(btVector3(0,0,0),btVector3(0,0,0),btVector3(0,0,0))
140
- {
141
- }
142
-
143
- btTriangleShapeEx(const btVector3& p0,const btVector3& p1,const btVector3& p2): btTriangleShape(p0,p1,p2)
144
- {
145
- }
146
-
147
- btTriangleShapeEx(const btTriangleShapeEx & other): btTriangleShape(other.m_vertices1[0],other.m_vertices1[1],other.m_vertices1[2])
148
- {
149
- }
150
-
151
- virtual void getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax)const
152
- {
153
- btVector3 tv0 = t(m_vertices1[0]);
154
- btVector3 tv1 = t(m_vertices1[1]);
155
- btVector3 tv2 = t(m_vertices1[2]);
156
-
157
- btAABB trianglebox(tv0,tv1,tv2,m_collisionMargin);
158
- aabbMin = trianglebox.m_min;
159
- aabbMax = trianglebox.m_max;
160
- }
161
-
162
- void applyTransform(const btTransform& t)
163
- {
164
- m_vertices1[0] = t(m_vertices1[0]);
165
- m_vertices1[1] = t(m_vertices1[1]);
166
- m_vertices1[2] = t(m_vertices1[2]);
167
- }
168
-
169
- SIMD_FORCE_INLINE void buildTriPlane(btVector4 & plane) const
170
- {
171
- btVector3 normal = (m_vertices1[1]-m_vertices1[0]).cross(m_vertices1[2]-m_vertices1[0]);
172
- normal.normalize();
173
- plane.setValue(normal[0],normal[1],normal[2],m_vertices1[0].dot(normal));
174
- }
175
-
176
- bool overlap_test_conservative(const btTriangleShapeEx& other);
177
- };
178
-
179
-
180
- #endif //GIMPACT_TRIANGLE_MESH_SHAPE_H