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,579 +0,0 @@
1
- /*
2
- Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
3
- All rights reserved.
4
-
5
- Redistribution and use in source and binary forms,
6
- with or without modification, are permitted provided that the
7
- following conditions are met:
8
- * Redistributions of source code must retain the above copyright
9
- notice, this list of conditions and the following disclaimer.
10
- * Redistributions in binary form must reproduce the above copyright
11
- notice, this list of conditions and the following disclaimer in the
12
- documentation and/or other materials provided with the distribution.
13
- * Neither the name of the Sony Computer Entertainment Inc nor the names
14
- of its contributors may be used to endorse or promote products derived
15
- from this software without specific prior written permission.
16
-
17
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
- POSSIBILITY OF SUCH DAMAGE.
28
- */
29
-
30
-
31
- #ifndef _VECTORMATH_QUAT_AOS_CPP_H
32
- #define _VECTORMATH_QUAT_AOS_CPP_H
33
-
34
- //-----------------------------------------------------------------------------
35
- // Definitions
36
-
37
- #ifndef _VECTORMATH_INTERNAL_FUNCTIONS
38
- #define _VECTORMATH_INTERNAL_FUNCTIONS
39
-
40
- #endif
41
-
42
- namespace Vectormath {
43
- namespace Aos {
44
-
45
- VECTORMATH_FORCE_INLINE void Quat::set128(vec_float4 vec)
46
- {
47
- mVec128 = vec;
48
- }
49
-
50
- VECTORMATH_FORCE_INLINE Quat::Quat( const floatInVec &_x, const floatInVec &_y, const floatInVec &_z, const floatInVec &_w )
51
- {
52
- mVec128 = _mm_unpacklo_ps(
53
- _mm_unpacklo_ps( _x.get128(), _z.get128() ),
54
- _mm_unpacklo_ps( _y.get128(), _w.get128() ) );
55
- }
56
-
57
- VECTORMATH_FORCE_INLINE Quat::Quat( const Vector3 &xyz, float _w )
58
- {
59
- mVec128 = xyz.get128();
60
- _vmathVfSetElement(mVec128, _w, 3);
61
- }
62
-
63
-
64
-
65
- VECTORMATH_FORCE_INLINE Quat::Quat(const Quat& quat)
66
- {
67
- mVec128 = quat.get128();
68
- }
69
-
70
- VECTORMATH_FORCE_INLINE Quat::Quat( float _x, float _y, float _z, float _w )
71
- {
72
- mVec128 = _mm_setr_ps(_x, _y, _z, _w);
73
- }
74
-
75
-
76
-
77
-
78
-
79
- VECTORMATH_FORCE_INLINE Quat::Quat( const Vector3 &xyz, const floatInVec &_w )
80
- {
81
- mVec128 = xyz.get128();
82
- mVec128 = _vmathVfInsert(mVec128, _w.get128(), 3);
83
- }
84
-
85
- VECTORMATH_FORCE_INLINE Quat::Quat( const Vector4 &vec )
86
- {
87
- mVec128 = vec.get128();
88
- }
89
-
90
- VECTORMATH_FORCE_INLINE Quat::Quat( float scalar )
91
- {
92
- mVec128 = floatInVec(scalar).get128();
93
- }
94
-
95
- VECTORMATH_FORCE_INLINE Quat::Quat( const floatInVec &scalar )
96
- {
97
- mVec128 = scalar.get128();
98
- }
99
-
100
- VECTORMATH_FORCE_INLINE Quat::Quat( __m128 vf4 )
101
- {
102
- mVec128 = vf4;
103
- }
104
-
105
- VECTORMATH_FORCE_INLINE const Quat Quat::identity( )
106
- {
107
- return Quat( _VECTORMATH_UNIT_0001 );
108
- }
109
-
110
- VECTORMATH_FORCE_INLINE const Quat lerp( float t, const Quat &quat0, const Quat &quat1 )
111
- {
112
- return lerp( floatInVec(t), quat0, quat1 );
113
- }
114
-
115
- VECTORMATH_FORCE_INLINE const Quat lerp( const floatInVec &t, const Quat &quat0, const Quat &quat1 )
116
- {
117
- return ( quat0 + ( ( quat1 - quat0 ) * t ) );
118
- }
119
-
120
- VECTORMATH_FORCE_INLINE const Quat slerp( float t, const Quat &unitQuat0, const Quat &unitQuat1 )
121
- {
122
- return slerp( floatInVec(t), unitQuat0, unitQuat1 );
123
- }
124
-
125
- VECTORMATH_FORCE_INLINE const Quat slerp( const floatInVec &t, const Quat &unitQuat0, const Quat &unitQuat1 )
126
- {
127
- Quat start;
128
- vec_float4 scales, scale0, scale1, cosAngle, angle, tttt, oneMinusT, angles, sines;
129
- __m128 selectMask;
130
- cosAngle = _vmathVfDot4( unitQuat0.get128(), unitQuat1.get128() );
131
- selectMask = (__m128)vec_cmpgt( _mm_setzero_ps(), cosAngle );
132
- cosAngle = vec_sel( cosAngle, negatef4( cosAngle ), selectMask );
133
- start = Quat( vec_sel( unitQuat0.get128(), negatef4( unitQuat0.get128() ), selectMask ) );
134
- selectMask = (__m128)vec_cmpgt( _mm_set1_ps(_VECTORMATH_SLERP_TOL), cosAngle );
135
- angle = acosf4( cosAngle );
136
- tttt = t.get128();
137
- oneMinusT = vec_sub( _mm_set1_ps(1.0f), tttt );
138
- angles = vec_mergeh( _mm_set1_ps(1.0f), tttt );
139
- angles = vec_mergeh( angles, oneMinusT );
140
- angles = vec_madd( angles, angle, _mm_setzero_ps() );
141
- sines = sinf4( angles );
142
- scales = _mm_div_ps( sines, vec_splat( sines, 0 ) );
143
- scale0 = vec_sel( oneMinusT, vec_splat( scales, 1 ), selectMask );
144
- scale1 = vec_sel( tttt, vec_splat( scales, 2 ), selectMask );
145
- return Quat( vec_madd( start.get128(), scale0, vec_mul( unitQuat1.get128(), scale1 ) ) );
146
- }
147
-
148
- VECTORMATH_FORCE_INLINE const Quat squad( float t, const Quat &unitQuat0, const Quat &unitQuat1, const Quat &unitQuat2, const Quat &unitQuat3 )
149
- {
150
- return squad( floatInVec(t), unitQuat0, unitQuat1, unitQuat2, unitQuat3 );
151
- }
152
-
153
- VECTORMATH_FORCE_INLINE const Quat squad( const floatInVec &t, const Quat &unitQuat0, const Quat &unitQuat1, const Quat &unitQuat2, const Quat &unitQuat3 )
154
- {
155
- return slerp( ( ( floatInVec(2.0f) * t ) * ( floatInVec(1.0f) - t ) ), slerp( t, unitQuat0, unitQuat3 ), slerp( t, unitQuat1, unitQuat2 ) );
156
- }
157
-
158
- VECTORMATH_FORCE_INLINE __m128 Quat::get128( ) const
159
- {
160
- return mVec128;
161
- }
162
-
163
- VECTORMATH_FORCE_INLINE Quat & Quat::operator =( const Quat &quat )
164
- {
165
- mVec128 = quat.mVec128;
166
- return *this;
167
- }
168
-
169
- VECTORMATH_FORCE_INLINE Quat & Quat::setXYZ( const Vector3 &vec )
170
- {
171
- VM_ATTRIBUTE_ALIGN16 unsigned int sw[4] = {0, 0, 0, 0xffffffff};
172
- mVec128 = vec_sel( vec.get128(), mVec128, sw );
173
- return *this;
174
- }
175
-
176
- VECTORMATH_FORCE_INLINE const Vector3 Quat::getXYZ( ) const
177
- {
178
- return Vector3( mVec128 );
179
- }
180
-
181
- VECTORMATH_FORCE_INLINE Quat & Quat::setX( float _x )
182
- {
183
- _vmathVfSetElement(mVec128, _x, 0);
184
- return *this;
185
- }
186
-
187
- VECTORMATH_FORCE_INLINE Quat & Quat::setX( const floatInVec &_x )
188
- {
189
- mVec128 = _vmathVfInsert(mVec128, _x.get128(), 0);
190
- return *this;
191
- }
192
-
193
- VECTORMATH_FORCE_INLINE const floatInVec Quat::getX( ) const
194
- {
195
- return floatInVec( mVec128, 0 );
196
- }
197
-
198
- VECTORMATH_FORCE_INLINE Quat & Quat::setY( float _y )
199
- {
200
- _vmathVfSetElement(mVec128, _y, 1);
201
- return *this;
202
- }
203
-
204
- VECTORMATH_FORCE_INLINE Quat & Quat::setY( const floatInVec &_y )
205
- {
206
- mVec128 = _vmathVfInsert(mVec128, _y.get128(), 1);
207
- return *this;
208
- }
209
-
210
- VECTORMATH_FORCE_INLINE const floatInVec Quat::getY( ) const
211
- {
212
- return floatInVec( mVec128, 1 );
213
- }
214
-
215
- VECTORMATH_FORCE_INLINE Quat & Quat::setZ( float _z )
216
- {
217
- _vmathVfSetElement(mVec128, _z, 2);
218
- return *this;
219
- }
220
-
221
- VECTORMATH_FORCE_INLINE Quat & Quat::setZ( const floatInVec &_z )
222
- {
223
- mVec128 = _vmathVfInsert(mVec128, _z.get128(), 2);
224
- return *this;
225
- }
226
-
227
- VECTORMATH_FORCE_INLINE const floatInVec Quat::getZ( ) const
228
- {
229
- return floatInVec( mVec128, 2 );
230
- }
231
-
232
- VECTORMATH_FORCE_INLINE Quat & Quat::setW( float _w )
233
- {
234
- _vmathVfSetElement(mVec128, _w, 3);
235
- return *this;
236
- }
237
-
238
- VECTORMATH_FORCE_INLINE Quat & Quat::setW( const floatInVec &_w )
239
- {
240
- mVec128 = _vmathVfInsert(mVec128, _w.get128(), 3);
241
- return *this;
242
- }
243
-
244
- VECTORMATH_FORCE_INLINE const floatInVec Quat::getW( ) const
245
- {
246
- return floatInVec( mVec128, 3 );
247
- }
248
-
249
- VECTORMATH_FORCE_INLINE Quat & Quat::setElem( int idx, float value )
250
- {
251
- _vmathVfSetElement(mVec128, value, idx);
252
- return *this;
253
- }
254
-
255
- VECTORMATH_FORCE_INLINE Quat & Quat::setElem( int idx, const floatInVec &value )
256
- {
257
- mVec128 = _vmathVfInsert(mVec128, value.get128(), idx);
258
- return *this;
259
- }
260
-
261
- VECTORMATH_FORCE_INLINE const floatInVec Quat::getElem( int idx ) const
262
- {
263
- return floatInVec( mVec128, idx );
264
- }
265
-
266
- VECTORMATH_FORCE_INLINE VecIdx Quat::operator []( int idx )
267
- {
268
- return VecIdx( mVec128, idx );
269
- }
270
-
271
- VECTORMATH_FORCE_INLINE const floatInVec Quat::operator []( int idx ) const
272
- {
273
- return floatInVec( mVec128, idx );
274
- }
275
-
276
- VECTORMATH_FORCE_INLINE const Quat Quat::operator +( const Quat &quat ) const
277
- {
278
- return Quat( _mm_add_ps( mVec128, quat.mVec128 ) );
279
- }
280
-
281
-
282
- VECTORMATH_FORCE_INLINE const Quat Quat::operator -( const Quat &quat ) const
283
- {
284
- return Quat( _mm_sub_ps( mVec128, quat.mVec128 ) );
285
- }
286
-
287
- VECTORMATH_FORCE_INLINE const Quat Quat::operator *( float scalar ) const
288
- {
289
- return *this * floatInVec(scalar);
290
- }
291
-
292
- VECTORMATH_FORCE_INLINE const Quat Quat::operator *( const floatInVec &scalar ) const
293
- {
294
- return Quat( _mm_mul_ps( mVec128, scalar.get128() ) );
295
- }
296
-
297
- VECTORMATH_FORCE_INLINE Quat & Quat::operator +=( const Quat &quat )
298
- {
299
- *this = *this + quat;
300
- return *this;
301
- }
302
-
303
- VECTORMATH_FORCE_INLINE Quat & Quat::operator -=( const Quat &quat )
304
- {
305
- *this = *this - quat;
306
- return *this;
307
- }
308
-
309
- VECTORMATH_FORCE_INLINE Quat & Quat::operator *=( float scalar )
310
- {
311
- *this = *this * scalar;
312
- return *this;
313
- }
314
-
315
- VECTORMATH_FORCE_INLINE Quat & Quat::operator *=( const floatInVec &scalar )
316
- {
317
- *this = *this * scalar;
318
- return *this;
319
- }
320
-
321
- VECTORMATH_FORCE_INLINE const Quat Quat::operator /( float scalar ) const
322
- {
323
- return *this / floatInVec(scalar);
324
- }
325
-
326
- VECTORMATH_FORCE_INLINE const Quat Quat::operator /( const floatInVec &scalar ) const
327
- {
328
- return Quat( _mm_div_ps( mVec128, scalar.get128() ) );
329
- }
330
-
331
- VECTORMATH_FORCE_INLINE Quat & Quat::operator /=( float scalar )
332
- {
333
- *this = *this / scalar;
334
- return *this;
335
- }
336
-
337
- VECTORMATH_FORCE_INLINE Quat & Quat::operator /=( const floatInVec &scalar )
338
- {
339
- *this = *this / scalar;
340
- return *this;
341
- }
342
-
343
- VECTORMATH_FORCE_INLINE const Quat Quat::operator -( ) const
344
- {
345
- return Quat(_mm_sub_ps( _mm_setzero_ps(), mVec128 ) );
346
- }
347
-
348
- VECTORMATH_FORCE_INLINE const Quat operator *( float scalar, const Quat &quat )
349
- {
350
- return floatInVec(scalar) * quat;
351
- }
352
-
353
- VECTORMATH_FORCE_INLINE const Quat operator *( const floatInVec &scalar, const Quat &quat )
354
- {
355
- return quat * scalar;
356
- }
357
-
358
- VECTORMATH_FORCE_INLINE const floatInVec dot( const Quat &quat0, const Quat &quat1 )
359
- {
360
- return floatInVec( _vmathVfDot4( quat0.get128(), quat1.get128() ), 0 );
361
- }
362
-
363
- VECTORMATH_FORCE_INLINE const floatInVec norm( const Quat &quat )
364
- {
365
- return floatInVec( _vmathVfDot4( quat.get128(), quat.get128() ), 0 );
366
- }
367
-
368
- VECTORMATH_FORCE_INLINE const floatInVec length( const Quat &quat )
369
- {
370
- return floatInVec( _mm_sqrt_ps(_vmathVfDot4( quat.get128(), quat.get128() )), 0 );
371
- }
372
-
373
- VECTORMATH_FORCE_INLINE const Quat normalize( const Quat &quat )
374
- {
375
- vec_float4 dot =_vmathVfDot4( quat.get128(), quat.get128());
376
- return Quat( _mm_mul_ps( quat.get128(), newtonrapson_rsqrt4( dot ) ) );
377
- }
378
-
379
-
380
- VECTORMATH_FORCE_INLINE const Quat Quat::rotation( const Vector3 &unitVec0, const Vector3 &unitVec1 )
381
- {
382
- Vector3 crossVec;
383
- __m128 cosAngle, cosAngleX2Plus2, recipCosHalfAngleX2, cosHalfAngleX2, res;
384
- cosAngle = _vmathVfDot3( unitVec0.get128(), unitVec1.get128() );
385
- cosAngleX2Plus2 = vec_madd( cosAngle, _mm_set1_ps(2.0f), _mm_set1_ps(2.0f) );
386
- recipCosHalfAngleX2 = _mm_rsqrt_ps( cosAngleX2Plus2 );
387
- cosHalfAngleX2 = vec_mul( recipCosHalfAngleX2, cosAngleX2Plus2 );
388
- crossVec = cross( unitVec0, unitVec1 );
389
- res = vec_mul( crossVec.get128(), recipCosHalfAngleX2 );
390
- VM_ATTRIBUTE_ALIGN16 unsigned int sw[4] = {0, 0, 0, 0xffffffff};
391
- res = vec_sel( res, vec_mul( cosHalfAngleX2, _mm_set1_ps(0.5f) ), sw );
392
- return Quat( res );
393
- }
394
-
395
- VECTORMATH_FORCE_INLINE const Quat Quat::rotation( float radians, const Vector3 &unitVec )
396
- {
397
- return rotation( floatInVec(radians), unitVec );
398
- }
399
-
400
- VECTORMATH_FORCE_INLINE const Quat Quat::rotation( const floatInVec &radians, const Vector3 &unitVec )
401
- {
402
- __m128 s, c, angle, res;
403
- angle = vec_mul( radians.get128(), _mm_set1_ps(0.5f) );
404
- sincosf4( angle, &s, &c );
405
- VM_ATTRIBUTE_ALIGN16 unsigned int sw[4] = {0, 0, 0, 0xffffffff};
406
- res = vec_sel( vec_mul( unitVec.get128(), s ), c, sw );
407
- return Quat( res );
408
- }
409
-
410
- VECTORMATH_FORCE_INLINE const Quat Quat::rotationX( float radians )
411
- {
412
- return rotationX( floatInVec(radians) );
413
- }
414
-
415
- VECTORMATH_FORCE_INLINE const Quat Quat::rotationX( const floatInVec &radians )
416
- {
417
- __m128 s, c, angle, res;
418
- angle = vec_mul( radians.get128(), _mm_set1_ps(0.5f) );
419
- sincosf4( angle, &s, &c );
420
- VM_ATTRIBUTE_ALIGN16 unsigned int xsw[4] = {0xffffffff, 0, 0, 0};
421
- VM_ATTRIBUTE_ALIGN16 unsigned int wsw[4] = {0, 0, 0, 0xffffffff};
422
- res = vec_sel( _mm_setzero_ps(), s, xsw );
423
- res = vec_sel( res, c, wsw );
424
- return Quat( res );
425
- }
426
-
427
- VECTORMATH_FORCE_INLINE const Quat Quat::rotationY( float radians )
428
- {
429
- return rotationY( floatInVec(radians) );
430
- }
431
-
432
- VECTORMATH_FORCE_INLINE const Quat Quat::rotationY( const floatInVec &radians )
433
- {
434
- __m128 s, c, angle, res;
435
- angle = vec_mul( radians.get128(), _mm_set1_ps(0.5f) );
436
- sincosf4( angle, &s, &c );
437
- VM_ATTRIBUTE_ALIGN16 unsigned int ysw[4] = {0, 0xffffffff, 0, 0};
438
- VM_ATTRIBUTE_ALIGN16 unsigned int wsw[4] = {0, 0, 0, 0xffffffff};
439
- res = vec_sel( _mm_setzero_ps(), s, ysw );
440
- res = vec_sel( res, c, wsw );
441
- return Quat( res );
442
- }
443
-
444
- VECTORMATH_FORCE_INLINE const Quat Quat::rotationZ( float radians )
445
- {
446
- return rotationZ( floatInVec(radians) );
447
- }
448
-
449
- VECTORMATH_FORCE_INLINE const Quat Quat::rotationZ( const floatInVec &radians )
450
- {
451
- __m128 s, c, angle, res;
452
- angle = vec_mul( radians.get128(), _mm_set1_ps(0.5f) );
453
- sincosf4( angle, &s, &c );
454
- VM_ATTRIBUTE_ALIGN16 unsigned int zsw[4] = {0, 0, 0xffffffff, 0};
455
- VM_ATTRIBUTE_ALIGN16 unsigned int wsw[4] = {0, 0, 0, 0xffffffff};
456
- res = vec_sel( _mm_setzero_ps(), s, zsw );
457
- res = vec_sel( res, c, wsw );
458
- return Quat( res );
459
- }
460
-
461
- VECTORMATH_FORCE_INLINE const Quat Quat::operator *( const Quat &quat ) const
462
- {
463
- __m128 ldata, rdata, qv, tmp0, tmp1, tmp2, tmp3;
464
- __m128 product, l_wxyz, r_wxyz, xy, qw;
465
- ldata = mVec128;
466
- rdata = quat.mVec128;
467
- tmp0 = _mm_shuffle_ps( ldata, ldata, _MM_SHUFFLE(3,0,2,1) );
468
- tmp1 = _mm_shuffle_ps( rdata, rdata, _MM_SHUFFLE(3,1,0,2) );
469
- tmp2 = _mm_shuffle_ps( ldata, ldata, _MM_SHUFFLE(3,1,0,2) );
470
- tmp3 = _mm_shuffle_ps( rdata, rdata, _MM_SHUFFLE(3,0,2,1) );
471
- qv = vec_mul( vec_splat( ldata, 3 ), rdata );
472
- qv = vec_madd( vec_splat( rdata, 3 ), ldata, qv );
473
- qv = vec_madd( tmp0, tmp1, qv );
474
- qv = vec_nmsub( tmp2, tmp3, qv );
475
- product = vec_mul( ldata, rdata );
476
- l_wxyz = vec_sld( ldata, ldata, 12 );
477
- r_wxyz = vec_sld( rdata, rdata, 12 );
478
- qw = vec_nmsub( l_wxyz, r_wxyz, product );
479
- xy = vec_madd( l_wxyz, r_wxyz, product );
480
- qw = vec_sub( qw, vec_sld( xy, xy, 8 ) );
481
- VM_ATTRIBUTE_ALIGN16 unsigned int sw[4] = {0, 0, 0, 0xffffffff};
482
- return Quat( vec_sel( qv, qw, sw ) );
483
- }
484
-
485
- VECTORMATH_FORCE_INLINE Quat & Quat::operator *=( const Quat &quat )
486
- {
487
- *this = *this * quat;
488
- return *this;
489
- }
490
-
491
- VECTORMATH_FORCE_INLINE const Vector3 rotate( const Quat &quat, const Vector3 &vec )
492
- { __m128 qdata, vdata, product, tmp0, tmp1, tmp2, tmp3, wwww, qv, qw, res;
493
- qdata = quat.get128();
494
- vdata = vec.get128();
495
- tmp0 = _mm_shuffle_ps( qdata, qdata, _MM_SHUFFLE(3,0,2,1) );
496
- tmp1 = _mm_shuffle_ps( vdata, vdata, _MM_SHUFFLE(3,1,0,2) );
497
- tmp2 = _mm_shuffle_ps( qdata, qdata, _MM_SHUFFLE(3,1,0,2) );
498
- tmp3 = _mm_shuffle_ps( vdata, vdata, _MM_SHUFFLE(3,0,2,1) );
499
- wwww = vec_splat( qdata, 3 );
500
- qv = vec_mul( wwww, vdata );
501
- qv = vec_madd( tmp0, tmp1, qv );
502
- qv = vec_nmsub( tmp2, tmp3, qv );
503
- product = vec_mul( qdata, vdata );
504
- qw = vec_madd( vec_sld( qdata, qdata, 4 ), vec_sld( vdata, vdata, 4 ), product );
505
- qw = vec_add( vec_sld( product, product, 8 ), qw );
506
- tmp1 = _mm_shuffle_ps( qv, qv, _MM_SHUFFLE(3,1,0,2) );
507
- tmp3 = _mm_shuffle_ps( qv, qv, _MM_SHUFFLE(3,0,2,1) );
508
- res = vec_mul( vec_splat( qw, 0 ), qdata );
509
- res = vec_madd( wwww, qv, res );
510
- res = vec_madd( tmp0, tmp1, res );
511
- res = vec_nmsub( tmp2, tmp3, res );
512
- return Vector3( res );
513
- }
514
-
515
- VECTORMATH_FORCE_INLINE const Quat conj( const Quat &quat )
516
- {
517
- VM_ATTRIBUTE_ALIGN16 unsigned int sw[4] = {0x80000000,0x80000000,0x80000000,0};
518
- return Quat( vec_xor( quat.get128(), _mm_load_ps((float *)sw) ) );
519
- }
520
-
521
- VECTORMATH_FORCE_INLINE const Quat select( const Quat &quat0, const Quat &quat1, bool select1 )
522
- {
523
- return select( quat0, quat1, boolInVec(select1) );
524
- }
525
-
526
- //VECTORMATH_FORCE_INLINE const Quat select( const Quat &quat0, const Quat &quat1, const boolInVec &select1 )
527
- //{
528
- // return Quat( vec_sel( quat0.get128(), quat1.get128(), select1.get128() ) );
529
- //}
530
-
531
- VECTORMATH_FORCE_INLINE void loadXYZW(Quat& quat, const float* fptr)
532
- {
533
- #ifdef USE_SSE3_LDDQU
534
- quat = Quat( SSEFloat(_mm_lddqu_si128((const __m128i*)((float*)(fptr)))).m128 );
535
- #else
536
- SSEFloat fl;
537
- fl.f[0] = fptr[0];
538
- fl.f[1] = fptr[1];
539
- fl.f[2] = fptr[2];
540
- fl.f[3] = fptr[3];
541
- quat = Quat( fl.m128);
542
- #endif
543
-
544
-
545
- }
546
-
547
- VECTORMATH_FORCE_INLINE void storeXYZW(const Quat& quat, float* fptr)
548
- {
549
- fptr[0] = quat.getX();
550
- fptr[1] = quat.getY();
551
- fptr[2] = quat.getZ();
552
- fptr[3] = quat.getW();
553
- // _mm_storeu_ps((float*)quat.get128(),fptr);
554
- }
555
-
556
-
557
-
558
- #ifdef _VECTORMATH_DEBUG
559
-
560
- VECTORMATH_FORCE_INLINE void print( const Quat &quat )
561
- {
562
- union { __m128 v; float s[4]; } tmp;
563
- tmp.v = quat.get128();
564
- printf( "( %f %f %f %f )\n", tmp.s[0], tmp.s[1], tmp.s[2], tmp.s[3] );
565
- }
566
-
567
- VECTORMATH_FORCE_INLINE void print( const Quat &quat, const char * name )
568
- {
569
- union { __m128 v; float s[4]; } tmp;
570
- tmp.v = quat.get128();
571
- printf( "%s: ( %f %f %f %f )\n", name, tmp.s[0], tmp.s[1], tmp.s[2], tmp.s[3] );
572
- }
573
-
574
- #endif
575
-
576
- } // namespace Aos
577
- } // namespace Vectormath
578
-
579
- #endif